Programlama Temelleri 1. Hafta. Program Nedir? Program bilgisayarın donanımını kullanılabilir hale getiren komutlar topluluğudur. Eğer bilgisayara ne.

Slides:



Advertisements
Benzer bir sunumlar
HTML.
Advertisements

MS OFFICE Access 2013.
Bilgisayar Programlama I
Algoritma ve Akış Diyagramları
VERİ TABANI TEMEL KAVRAMLAR.
PROGRAMLAMA DİLLERİ 1- Temel kavramlar
WEB Tasarımı & .NET Bolum 1
İnternet Programcılığı
Web Programlama Kursu Bu kurs ne değildir? Neyi amaç edinmiştir?
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
İSİM UZAYLARI.
Problemi Çözme Adımları
KURSUN HEDEFİ TEMEL BİLGİSAYAR KULLANIMINI KAVRAMAK VE BİLGİSAYARI GÜNLÜK HAYATIMIZA YERLEŞTİRMEK.
C Programlama Diline Giriş
NESNEYE YÖNELİK PROGRAMLAMA
Bilgi Teknolojisinin Temel Kavramları
Bilgisayarım Simgesinin Kullanımı Dosyaların Yönetimi
BTEP 203 – İnternet ProgramcIlIğI - I
TEMEL BİLGİSAYAR BİLİMLERİ
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
Programlamanın Yapı Taşları
IT 504 İnternet ve Web Programlama Tanıtım Yrd. Doç. Yuriy Mishchenko.
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
Nesneye Dayalı Programlama
Görsel C# ile Windows Programlama
Bilgisayar Programlama
WEB TASARIMININ TEMELLERİ
Bilgisayar Programlama
Algoritmalar (Algoritms)
Görsel Programlama Dr. Muhammet Balcılar
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
Algoritmalar (Algoritms)
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
BİLGİSAYAR YAZILIMI.
Bilgisayar, Yazılım ve Algoritma
WEB PROGRAMCILIĞI.
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
AÇIK KAYNAK İŞLETİM SİSTEMİ
Az kullanılan ögeler menüden kaldırılabilir. Kısayollar yaratılabilir.
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
Ders 2 Algoritma İfade Şekilleri
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
PROGRAMLAMA TEMELLERİ DİLOVASİ TEKNİK LİSE VE Ç.P.L PROGRAMLAMA TEMELLERİ ÖĞRETMEN= KÜRŞAT KUŞ E-MAİL=
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR NEDİR?.
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
C Programlama Dili Bilgisayar Mühendisliği.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMA TEMELLERİ
MODÜL 15: PROGRAMLAMA TEMELLERİ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR DESTEKLİ EĞİTİM İÇİN ÖĞRETİM TASARIMI
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Problem Çözme Yaklaşımları
Problemi Çözme Adımları
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
BİLİŞİM TEKNOLOJİLERİ
Veri Tabanı Temel Kavramlar.
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
YAZILIM KOD ÜRETEÇLERİ
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Sunum transkripti:

Programlama Temelleri 1. Hafta

Program Nedir? Program bilgisayarın donanımını kullanılabilir hale getiren komutlar topluluğudur. Eğer bilgisayara ne yapması gerektiğini söylemezseniz, hiçbir şey yapamaz. Bilgisayara bir şeyler söylemek ise programlar aracılığı ile olur.

İyi Programın Özellikleri Doğruluk:Verilen görevlerin tam olarak yerine getirilmesidir Dayanıklılık:Beklenmedik hatalardan dolayı programın çalışması kesilmemelidir Genişletilebilme:İleri aşamalarda görevlerin değişikliği veya yenilerinin eklenmesi kolay olmalıdır Basitlik:Karmaşık tasarımlardan kaçınmak gerekir Modülerlik:Program kodları başka programlar içinde de kullanılabilmelidir Uyumluluk:Başka bilgisayar ve sistemlerde çalışabilmelidir Kontrol edilebilirlik:Hata olabilecek yerlere açıklayıcı hata mesajları konulmalıdır Kolay kullanım:Kullanıcı ara birimi kolay olmalı ve rahat öğrenilebilmelidir Parçalanabilirlik:Problemin küçük parçalara ayrılarak yazılmasıdır Anlaşılırlık:Başkasının yazdığı program elden geçirilirken rahatça okunabilmelidir Koruma:Modüller birbirlerine müdahale etmemelidirler

Programlama Temeleri ikiye ayrıllır; 1) Programlama Dili 2) Program Yazımı

1) Programlama Dili Bilgisayar Türkçe, İngilizce veya başka bir dilden anlamaz. Bilgisayarın fonksiyonel bir beyni olmadığı için insanlar komutlar yazmalıdır. Bu özel dile “programlama dili” denir. Komutlar bir araya gelerek “program”ı meydana getirir. Belli bir dil ile yazılmış komutlara “kaynak kod” da diyebiliriz.

Neden Birçok Programlama Dili Vardır? Her programlama dili özel bir amaca hizmet eder. Her dilin kendine göre avantaj ve dezavantajları vardır. İnsanlar farklı problemleri çözmek için değişik programlama dilleri yazmışlardır. Temelde bilgisayarlar 1 ve 0’lardan oluşan ikilik sayı sistemindeki dili anlarlar. Buna “makine dili” denir.

ASSEMBLY Makine dilinin dezavantajları, hatalı kod yazımının kolay olması ve yazımının uzun sürmesidir. Makine dilinin daha rahat programlanması için “assembly dili” geliştirilmiştir. “Assembly dili” basit, hatırlanması kolay deyimlerden oluşur. Programcılar 1 ve 0 ile program yazma yerine “assembly dili”ni geliştirmişlerdir, bilgisayarın bu yazılanlarla ilgili hiçbir fikri yoktur. Bu sebeple programcılar “assembly dil” komutlarını “makine dili”ne çeviren programlar yazmışlardır. Bu programlara “makine dili çeviricisi - assembler

ASSEMBLY

“Assembly dili” makine dilinden daha rahat yazılmasına rağmen, hala bazı dezavantajlara sahiptir: Yavaş ve çok yer kaplayan programlar oluşur. Başka dile çevrilmeleri zordur. Çok uzun program yazımına elverişli değildir.

Programcılar donanıma erişimi daha kolay olan, okunaklı, yazımı ve düzenlemesi kolay olan bir dile ihtiyaç duymuşlardır. Bunun üzerine C (1972) programlama dili geliştirilmiştir. Cobol (1959), Fortran (1957), Basic (1964), Pascal (1971) gibi birçok diller de vardır ama hala günümüzde yaygın olarak kullanılan C dili olmuştur. Assembly dilinden sonra geliştirilmiş dillerin geneline yüksek seviyeli diller denilmektedir. İnsanların konuşma diline yakın olan dillere “yüksek seviye dil” denilmiştir.

Yüksek Seviyeli Diller

Derleyici (Compiler Yüksek seviye bir dili “makine diline” çeviren programlara “derleyici – compiler” denir DERLEYİCİ MAKİNA DİLİ (1,0) Yüksek Seviyeli Dil (C,Pascal,Basic)

Yüksek Seviyeli Dillerin Genel Özellikleri “Makine diline” göre daha şişkin ve yavaş kod meydana getirirler. Tüm sistem kaynaklarına ulaşılamayabilir. Bir derleyici gereklidir. Kısa zamanda program yazmaya başlanır. Öğrenme ve ustalaşma için geçen zaman fazla değildir. Yanlışlıkla sistem kaynaklarının bozulmaması için kalkanları vardır. Okuması ve değiştirmesi kolaydır. Başka bilgisayar çeşitlerinde de çalışabilirler, yani taşınabilir özelliğe sahiptirler.

Hızlı Program Yazma Ortamları Eski zamanlarda fare, grafik ekran imkânı olmadığı için “metin tabanlı” ortamlarda çalışılırdı. Pencere ve düğme gibi kavramlar o zamanlar yoktu. Pencereler, kaydırma çubukları, araç çubukları, menüler programcının daha hızlı bir şekilde program yapmasına sebep olduğu için, bu ortamlara “Hızlı Uygulama Geliştirme – Rapid Application Development (RAD)” denilmiştir. Görsel Programlama Dilleri (Visual Programming Languages) olarak da adlandırılırlar. Programcı oluşturacağı programın ara birimini, istediği gibi tasarlayabilir ve bu ara birimi işlevsel hâle getiren kod kısmını yazabilir. Popüler RAD dilleri: Visual Basic, Delphi, JBuilder ve Visual C#.

Hızlı Program Yazma Ortamları RAD ile programcı, temel programlama dilleri olan C, Basic ve Pascal gibi dilleri kullanarak, hızlı bir şekilde uygulama geliştirebilir. Kullanıcı ara birimi geliştirmek kolaydır. C ve Basic bilen için görsel programlama diline geçiş çok kolaydır. Maalesef RAD ile dilin taşınabilirliği azalır. Yani Windows ortamında Visual Basic ile yazılan programın, Linux’ta çalışma ihtimali azdır. RAD programlama ile yaptığınız programlar daha çok disk alanı kaplayacak ve daha yavaş çalışacaklar

Programcılık Çeşitleri Veritabanı Programcılığı Uygulama Programcılığı Web Programcılığı

Veritabanı Programcılığı Bilgisayar programlarında programa ait bilgiler veritabanı denilen özel dosyalarda saklanır. Bu dosyalar ise veritabanı programları ile oluşturulurlar. En çok kullanılan veritabanı programları MS Access, MS-SQL, MySQL, Oracle

Veritabanı Programcılığı Veritabanlarına kayıt ekleme, silme, düzenleme, sorgulama gibi işlemler için kullanılan özel bir dil vardrı. Buna SQL (Structured Query Language) denir.

Veri tabanı programcılığının dezavantajları Veri tabanı programları, veri tabanını işleyen program sistemde kurulu değilse çalıştırılamazlar. Sadece veri tabanı programını kullanarak antivirüs, oyun, kelime işlemci gibi program yapamazsınız.

Uygulama Programcılığı Herhangi bir ihtiyacın giderilmesine yönelik hazırlanmış olan genel amaçlı programlardır. Bu program bir oyun olabildiği gibi, bir firmanın iş akışını düzenleyen bir program da olabilir. Herhangi bir programlama dili kullanılarak yapılabilir. (Java, Visual C, Delphi, Visual Basic vs..) Bu tip programcılığın içinde Veritabanı programcılığı da bulunmaktadır.

Web sayfaları üzerinde çalışan programlar yazma işidir. Web programcısı tasarımla uğraşmaz. Ancak şu anda ülkemizde maliyetleri azaltmak amacıyla tasarım ve programlama işi genelde tek bir kişi tarafından yapılmaktadır. WEB Programcılığı

Web programcısı temelde HTML (Hyper Text Markup Language) kullanır. Sadece HTML ile görsel açıdan zengin sayfalar hazrılanamaz. Bu açığı kapatmak için flash ve Javascript gibi programlar ve diller kullanılır. Web programcılığı sadece görsellik değildir. Bunun yanı sıra kullanıcı ile etkileşim önemlidir. Örneğin kullanıcıdan alınan bilgilerin saklanması için de ayrı diller kullanılır. Bunlar ASP, PHP, CGI, vs…

2) PROGRAM YAZIMI

Program Yazımı Bir programı yazmaya başlamadan önce o program ile alakalı kağıt üzerinde planlama yapılmalıdır. Planlama yapılmazsa bir süre sonra program içinden çıkılmaz bir hal alır. Bir programın hangi dil ile yazıldığı önemlidir. Ancak programın düzgün çalışması daha önemlidir. Bir program bir problemin çözülmesine yönelik yazılır. Problemlerin ise birden çok çözümü olabilir.

Program Yazma Aşamaları Prototip oluşturma Algoritma yazma Akış şemaları hazırlama Programın yazımı

Prototip Oluşturma Tam çalışmayan veya yanlış çalışan bir program olmaması için programa aylarca zaman harcamadan önce, programcılar mimarların maket modeller yapması gibi, “prototip” oluştururlar. Bunu normal bir program gibi, menüleri, formları, diyalog kutuları olan ama içinde kod olmayan bir uygulama olarak düşünebilirsiniz. Fikir vermek amacı ile yapılırlar. Prototipten memnun kalınca, programcı kodlamaya geçer.

Algoritma Yazma Programlama dili seçseniz bile, hemen kod yazımına geçemezsiniz. Algortima denilen kodlama ile programın işlemleri yazılır. Algoritma kurduğunuz mantıktaki kaçakları bulmaya yarar.

Algoritma Ne İşe Yarar Algoritma zaman kaybı gibi görülebilir. Ancak planlı bir başlangıç en az hata ile karşılaşmak demektir. Eğer plansız olarak program yazarsanız, kaçınılmaz son, kısa süre sonra “kod çöplüğü” olabilir. Bu da bug (böcek) larla dolu bir program demektir. Algoritma en genelden en özele doğru yazılır Büyük bir programın temel adımlarının olduğu algoritma “makro seviye” olarak isimlendirilirken, detayların algoritmalarına “mikro seviye” denir. Makro seviye içinde birçok mikro seviye algoritma vardır

Algoritma Temelde programınızı üç ana bölüme ayırabiliriz: Giriş: Bilgisayarın üzerinde çalışacağı veri kullanıcı tarafından girilir. İşlem: Bilgisayar girilen bilgiyi işler. Çıkış: Bilgisayar insanların anlayacağı şekilde ekrana sonucu gösterir

Algoritma Komutları Bazı temel sahte kod komutları şunlardır: Başla : Programın başladığını ifade eder. Bitir : Programın başladığını ifade eder. Oku : Kullanıcı girişi için yazılır. Yaz : Kullanıcıya bilgi veya sonuç göstermek için yazılır. Eğer … İse … : Şartlara göre akışın değişmesinde kullanılır. Eğer …. Değilse… : Şartlara göre akışın değişmesinde kullanılır.

Akış Şemaları Akış Şeması, algoritmanın şekillerle ifade edilerek programın haritasını oluşturmaktır. Akış diyagramı basit, açık ve kolay takip edilebilir olmalıdır. Her akış diyagramının bir adet başlangıç ve bitiş noktası bulunmalıdır. Akış diyagramı çok karmaşık hâle gelince, bağlantı noktaları ve alt program kullanılmalıdır.

Program yazılımı Programlama Araçları Program yazmak için gerekli olan temel ihtiyaçlar: 1. Düzenleyici (editor): Komutları yazmamız için kullanılır. 2. Derleyici (compiler): Komutlarımızı makine diline çevirir. 3. Böcek ayıklayıcı (debugger): Programınızdaki hataları bulmaya yardımcı olur.

Ek olarak; Yardım dosyası hazırlayıcı: Kullanıcıya kılavuz olacak el kitabı şeklinde, yardım sağlamak için kullanılan programlardır. Kurulum programı (setup / installation): Programın dosyalarını tek dosya haline getirerek, diğer uyumlu bilgisayarlara kurmaya yarar.

ASCII (American Standard Code for Information Interchange) dosya olarak yazabileceğiniz tüm programlar işinizi görür. Mesela not defteri olabilir. Metin dosyaları tüm bilgisayarlarda standart olan bir dosya türüdür. Ama bir kelime işlemci programı kullanmak yerine programcılar kendi düzenleyicilerini geliştirmişlerdir. Böylece program yazmak daha kolay hale gelmiştir. 1)Düzenleyici (Editor)

2)Derleyici (Compiler) Derleyici kaynak kodu makine diline çevirir. Eğer yazım hataları yok ise, sonuçta çalıştırılabilir bir dosya meydana gelir. Bu dosyayı isterseniz diğer insanlara verebilir veya satabilirsiniz. Derleyici işlemci türünüze göre kod oluşturur. Eğer işlemcinizin mimarisi farklı ise o işlemciye göre tekrar derlenmesi gereklidir.

3)Böcek Ayıklayıcı (Debugger) Çok az program %100 hatasız çalışır. Hatalar yüzünden programlar çöker, veriler kaybolur, ya da program tuhaf çalışır. Mükemmel program her zaman aynı durumda aynı sonucu vermelidir. Ama yazılım ve donanım farklılıklarından dolayı her zaman istenen sonuç elde edilemeyebilir. Yazılımın olduğu her yerde böcek vardır. Derleyiciniz, işletim sisteminiz ve tabii ki kendi programınızda da böcekler olabilir. Maalesef bir böceği temizlemek yeni böcekler oluşmasına sebep olabilir.

Yardım ve Kurulum Yardım dosyası ve kurulum hazırlama programları ayrıca satılır veya ücretsiz olarak internette bulunabilir. Kurduğunuz programlama dilinde basit olarak yardım hazırlamak için yardımcı program olabilir. Çoğu programın yardım dosyası vardır. İlk kez programınızı kullanan veya bir konuda takılan biri için ilk akla gelen şey, “Bu programın yardımı nerede?” sorusudur. Yardım dosyası olan programlar daha modern hale gelir. Program test edildikten, hataları giderildikten ve yardım dosyası hazırlandıktan sonra son adım olarak kuruluma geliriz. CD veya disketlere bölünecek şekilde “kur” dosyası yapılır.