Programlama Dilinin Özellikleri



Benzer belgeler
Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Bilgisayarda Programlama. Temel Kavramlar

Dr. Fatih AY Tel: fatihay@fatihay.net

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Algoritmalar ve Programlama. Algoritma

Algoritma ve Akış Diyagramları

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

Bilgisayar Programlama Dilleri

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

Bilgisayar Programı Nedir?

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

1.1. Yazılım Geliştirme Süreci

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

ALGORİTMA VE PROGRAMLAMA I

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Genel Programlama I

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

PROGRAMLAMAYA GİRİŞ DERS 2

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

PROGRAMLAMA TEMELLERİ

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

Algoritma ve Akış Diyagramları

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Bilgisayar Temelleri ve Programlamaya Giriş Yard.Doç.Dr. Metin HASDEMİR İstanbul-2008 PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BÖLÜM 2: ALGORİTMALAR

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

BLG 1306 Temel Bilgisayar Programlama

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Bilgisayar Programlama. 1.Hafta

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

4- ALGORİTMA (ALGORITHM)

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

Program Nedir?(1) Programlamaya Giriş


Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Bilgisayar Programlama. Giriş

Bilgisayarın Yapıtaşları

5. PROGRAMLA DİLLERİ. 5.1 Giriş

4. Bölüm Programlamaya Giriş

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Ana Bellek (RAM) İşlemci (CPU) Depolama

ALGORİTMA VE PROGRAMLAMA I DERS#3

Algoritma kelimesinin kökeni:

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİT in Temel Bileşenleri (Yazılım-1)

Algoritma ve Programlamaya Giriş

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Algoritma ve Akış Şemaları

Yazılım Mühendisliği 1

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Kazanımlar. Programlama Dili Nedir? Programlama Dili. ENF102 Jeoloji

Bölüm 1. Bilgisayarlar ve C++ Programlama. Doç.Dr. Yıldıray Yalman. Kaynak: Problem Solving with C++, Walter Savitch Slide 1

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Temel Bilgisayar Programlama

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

1. PROGRAMLAMAYA GİRİŞ

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C++ Dersi: Nesne Tabanlı Programlama

BİLGİSAYAR ORGANİZASYONU

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

Hacettepe Robot Topluluğu

Linux Assembly Programlamaya Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİL-142 Bilgisayar Programlama II

Algoritmanın Hazırlanması

NACA PROFİL AİLE GEOMETRİSİ HESAP PROGRAMI KULLANMA KILAVUZU

Transkript:

Programlama Dilinin Özellikleri *Kaynak Kodun Taşınabilirliği: Taşınabilirlik (portability), bir sistem için yazılmış kaynak kodunun başka bir sisteme götürüldüğünde hatasız olarak derlenerek, doğru bir şekilde çalıştırılabilmesi demektir. Programlama dilleri ISO (International Standard Organization) ve ANSI (American National Standard Institute) tarafından standartlaştırılırlar. İlk olarak 1989 yılında standartları oluşturulan C dili, diğer programlama dillerine göre daha taşınabilir özelliğe sahiptir. *Programın Verimliliği: Verimlilik (efficiency), bir programın hızlı çalışması ve daha az bellek kullanma özelliğidir. Programın çalışma hızı ve bellek kullanımının değeri bir çok etkene bağlıdır fakat temelde programlayıcının ve programlama dilinin tasarımının verimlilik üzerinde etkisi şeklinde iki başlıkta toplanabilir. Bu açıdan bakıldığında C verimli bir dildir.

Programlama Dilinin Özellikleri *Programlama Dilinin Kullanım Alanı: Bazı diller özel uygulama alanları için tasarlanır. Bazı diller ise geniş bir uygulama alanına sahiptir. C dili bir sistem programlama dili olarak doğmasına karşın, güçlü yapısından dolayı genel amaçlı bir programlama dili haline gelmiştir. Uygulama alanlarına göre programlama dilleri: Bilimsel ve mühendislik uygulama dilleri (Pascal, C, Fortran. C temelli programlama dilleri akademik çalışmalarda sıkça kullanılmaktadır). Veri tabanı dilleri (Xbase, Oracle Forms, Visual Foxpro, MySQL). Genel amaçlı programlama dilleri (Pascal, C, Basic). Yapay zeka dilleri (Prolog, Lisp). Simülasyon dilleri (GPSS, Simula 67). Makro dilleri (awk, Perl, Python, Tcl, JavaScript). Sistem programlama dilleri (Simgesel makine dilleri, BCPL, C, C++, occam). Örneğin; UNIX işletim sisteminin %80 lik bir kısmı C dili ile, geri kalanı ise simgesel makine dili ile yazılmıştır.

Programlama Dilinin Özellikleri *Programlama Dilinin Alt Programlama Özelliği: Bir bütün olarak çözülmesi zor bir problemin parçalara ayrılarak çözülmesi ve sonra parçalar arasında bağlantının sağlanması programlamada sıkça kullanılan bir yöntemdir. Alt programlama yeteneği, bir programlama dilinin programı parçalar halinde yazmayı desteklemesi anlamına gelir. C dilinde de alt programlama özelliği mevcuttur ve bu alt programlar C dilinde fonksiyon olarak adlandırılır.

Programlama Dilinin Özellikleri C Programlama Dili ve Özellikleri: 1. Orta seviyeli bir programlama dilidir. C dili hem yüksek seviyeli dillerin kontrol deyimleri, veri yapıları gibi avantajlarına sahipken, hem de bitsel işleçler gibi makine kodu deyimlerini yansıtan işleçlere sahiptir. Yani hem makinenin algısına, hem de insan algısına yakın bir dildir. 2. Verimi yüksek bir dildir. C dili kullanarak program yazmak, aynı işlemi yapacak programı makine dilinde yazmaktan daha kolaydır. Bunun yanında programın verimi de aynı oranda düşmez. 3. Günümüzde sistem programları genellikle C dili ile yazılmaktadır (örn; işletim sistemleri, aygıt sürücüleri). 4. C algoritmik bir dildir. C dilinde program yazmak için yalnızca dilin sözdizimini ve anlamsal yapısını bilmek yeterli değildir. Aynı zamanda genel algoritma bilgisi de gerekir. 5. Taşınabilirliği çok yüksek bir dildir.

Programlama Dilinin Özellikleri C Programlama Dili ve Özellikleri (devamı): 6. C, ifade gücü yüksek, okunabilirlik özelliği güçlü bir dildir. 7. C çok esnek bir dildir. Diğer dillerden farklı olarak programcıya kısıtlamalar getirmez. 8. C güçlü bir dildir, çok iyi tasarlanmıştır. Hatta, C deki işleçler ve yapıların bir çoğu daha sonra başka programlama dilleri tarafından da benimsenmiştir. 9. C verimli bir dildir. C de yazılan programlar, dilin düzeyinin düşük olması nedeni ile hızlı çalışır. Verimlilik konusunda assembly dillerle rekabet edebilir. C nin standart bir kütüphanesi vardır. Bu kütüphane ile sık yapılan işlemler için ortak bir arayüz sağlanmıştır. 10. C programlama dilinin eğitimi diğer dillere göre daha zordur. 11. C dilinin esnek ve güçlü olması programcının hata yapma riskini arttırır. C dilinde yazılan kodlarda yapılan yanlışlıkların bulunması göreceli olarak daha zor olabilir.

Tarihçe C Programlama Dilinin Tarihçesi: C, 1970 li yılların başlarında AT&T Bell laboratuarlarında geliştirilmiş bir programlama dilidir. C dilinin, UNIX işletim sisteminin bir yan ürünü olarak doğduğu söylenebilir. İlk olarak Dennis Ritchie tarafından UNIX işletim sisteminin yazılmasında kullanılan C dili, 1983 yılında ANSI tarafından standartlaştırıldı.

Bilgisayar yardımıyla çözülecek olan bir problemin aşağıdaki aşamalardan geçmesi gerekmektedir. 1. Problemin tanımı 2. Çözüm yolunun tespiti 3. Algoritmanın hazırlanması 4. Akış diyagramının çizilmesi 5. Programın hazırlanması 6. Hazırlanan programın test edilmesi 7. Uygulama Yukarıdaki sıralamada da görüldüğü gibi, algoritma ve akış diyagramının hazırlanması, programın yazılmasında önemli bir aşamadır.

Problemin Tanımı: Bir problemin çözümünde ilk adım olan problemin tanımı, problemin açık seçik bir dille ifade edilmesidir. Program hazırlama aşamasına geçilmeden önce problem iyice anlaşılmalıdır. Bu aşamada, hazırlanacak olan programın ana hatları belirlenir. Çözüm Yolunun Tespiti: Bu aşamada, problemin işleyişi hakkında bilgiler verilir. Hangi bilgilerin girileceği, veri giriş-çıkış ekran formlarını şekil, kullanılacak olan yapıları, sonuçta hangi verilerin alınacağı ve sonuçların kullanıcıya nasıl ve hangi yollarla yansıtılacağı açık olarak belirlenir.

Algoritma: Bir problemin ideal çözümüne giden yola algoritma denir. Algoritması hazırlanan bir programı herhangi bir programlama dili ile hazırlamak çok kolay olabilir. Bu nedenle, yazılacak programın dili değil de, algoritması en önemli kısmıdır. Programı çalıştıracak algoritmayı en iyi şekilde çözümledikten sonra, kullanılacak dilin yapısına göre kodlama aşamasına geçilir. Problemin çözümünde işlem akışının nasıl yapılacağı, hangi durumda hangi şartların kullanılacağı, bu şartlara göre hangi işlemlerin yürütüleceği net bir şekilde ifade edilir. Algoritmada işlem akışı yukarıdan aşağıya doğru yürütülür. Program akışının değiştirilmesi durumunda gerekli görülen adımlara dallanmalar yapılabilir.

Her algoritma aşağıdaki kriterleri sağlamalıdır: Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli. Çıktı: En azından bir değer üretilmeli. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli. Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. Her program için sonluluk özelliği geçerli değildir. Örneğin işletim sistemleri sonsuza dek çalışan programlara örnektir.

ÖRN: Girilen iki sayının toplamını hesaplayan algoritma: Bu problemi çözmek için başlangıçta iki sayı girilmelidir. Girilen sayıların toplamı hesaplanmalı ve sonuç görüntülenmelidir. Bu işlemi algoritma olarak ifade edelim: Başla 1. sayının girilmesi (A) 2. sayının girilmesi (B) Toplama işleminin yapılması (T=A+B) Toplama sonucunun görüntülenmesi (T) Son Bir program içerisinde verileri tutmak, bu veriler üzerinde işlem yapmak için değişkenlerden yararlanılır. Değişken, bilgisayar hafızasında bir hücrenin ismi olarak düşünülebilir. Girilen veriler, programının işleyişi sırasında veya sonunda ürettiği değerler bu hücrelerde tutulur. Bu hücrelerin büyüklükleri program başında yapılan tanımlamalarla belirlenir. Yukarıdaki örnekte kullanılan değişkenler nelerdir?

ÖRN: Girilen iki sayıdan büyük olanı görüntüleyen algoritma: Başla 1. sayının girilmesi (A) 2. sayının girilmesi (B) Eğer A büyük B ise A nın değerini yaz, değilse B nin değerini yaz Son Aynı işlemi ikinci bir yolla yapmak da mümkündür. 1) Başla 2) 1. sayının girilmesi (A) 3) 2. sayının girilmesi (B) 4) Eğer A büyük B ise A nın değerini yaz: 6 nolu adıma git 5) B yi yaz 6) Son

Eğer ise sözcük grubu ile bir test işlemi yapılmaktadır. Bir test işleminin sonucu ya doğru ya da yanlıştır. Şart doğru ise bunu yap, değilse şunu yap şeklinde bir yönlendirme yapılmaktadır. İki farklı kullanım şekli mevcuttur. Eğer şart ise.. Eğer şart ise.. değilse.. Yanlış Şart Doğru Yanlış Şart Doğru

ÖRN: Girilen 3 sayının en büyüğünü bulan algoritma: Başla 1. sayının girilmesi (A) 2. sayının girilmesi (B) 3. sayının girilmesi (C) İlk sayıyı en büyük olarak al (EB=A) Eğer B > EB ise B yi en büyük olarak al (EB=B) Eğer C > EB ise C yi en büyük olarak al (EB=C) En büyük sayıyı görüntüle (EB) Son NOT: Atama işlemlerinde, sağdaki ifadenin değeri soldaki değişkene aktarılır. EB=A ifadesi ile EB değişkenine A değişkeninin değeri aktarılmaktadır.

ÖRN: Girilen 10 adet sayının toplamını ve ortalamasını hesaplayan algoritma: Burada akla ilk gelen, 10 adet sayı için farklı 10 değişkenin kullanılmasıdır. Bu yaklaşımla, girilecek sayının miktarının 1000 gibi bir rakam olduğu düşünüldüğünde, kullanılacak değişken miktarı oldukça fazla olacaktır ve algoritmada da bu değişkenlerin ayrı ayrı belirtilmesi gerekmektedir. Bu probleme çözüm olarak tekrarlama işleminden yararlanılmaktadır. Aynı işlem C dili ile aşağıdaki gibi yapılır. : S = 0 3) : : S = S + 1 : Eğer S < 10 ise 3 e git : S = 0; do{ : S = S + 1; : } while(s<10) :

Tekrarlama işlemi kullanılarak, yukarıdaki problemin algoritması aşağıdaki gibi oluşmaktadır. Başla S = 0, T = 0 2) Sayının girilmesi (A) T = T + A S = S + 1 Eğer S < 10 ise 2 nolu adıma git ORT = T / 10 Ortalama değeri yaz (ORT) Toplam değeri yaz (T) Son ÖDEV: 10 öğrenciye ait girilen isim ve yaş verilerinden en genç ve en yaşlıyı bulan algoritma?

ÖRN: Bir işletme çalışanlarına, normal maaşlarına ek olarak, yaptıkları fazla mesai saatlerine göre ek bir ücret daha ödenmektedir. Ek ücret aşağıdaki gibi hesaplanmaktadır: 1-10 saat için saat başına 10 TL 11-20 saat için saat başına 13 TL 21 ve daha fazla saat için saat başına 15 TL Buna göre personelin alacağı toplam ücreti hesaplayan algoritma: Başla Normal maaşın girilmesi (NM) Fazla mesai saatinin girilmesi (FM) Eğer FM <= 10 ise EK = FM * 10 Eğer FM > 10 ve FM <=20 ise EK = FM * 13 Eğer FM > 20 ise EK = FM * 15 Toplam maaşın hesaplanması TM = NM + EK Toplam maaşı yaz (TM) Son

ÖRN: Girilen 20 adet sayıyı alarak; a) sayıların ortalamasını, b) 100 e eşit ve büyük sayıların sayısını, c) 100 den küçük sayıların ortalamasını, d) en büyük sayıyı, e) en küçük sayıyı bulan algoritma: Girişte sıfırlanan değişkenler: X: girilen sayı S: girilen sayı adedi T: sayıların toplamı Y: 100 den büyük sayıların miktarı K: 100 den küçük sayıların miktarı KT: 100 den küçük sayıların toplamı EB: en büyük sayı EK: en küçük sayı

Başla S = 0, K = 0, Y = 0, T = 0, KT = 0 3) Sayının girilmesi (X) S= S + 1 T = T + X Eğer X >= 100 ise Y = Y + 1 Eğer X < 100 ise K = K + 1, KT = KT + X Eğer S = 1 ise EB = X, EK = X Eğer X < EK ise EK = X Eğer X > EB ise EB = X Eğer S < 20 ise 3 nolu adıma git ORT = T / S K_ORT = KT / K Sayıların ortalamasını yaz (ORT) 100 den büyüklerin sayısını yaz (Y) 100 den küçüklerin ortalamasını yaz (K_ORT) En büyük sayıyı yaz (EB) En küçük sayıyı yaz (EK) Son X: girilen sayı S: girilen sayı adedi T: sayıların toplamı Y: 100 den büyük sayıların miktarı K: 100 den küçük sayıların miktarı KT: 100 den küçük sayıların toplamı EB: en büyük sayı EK: en küçük sayı

Akış Diyagramları: Akış diyagramları, problemin şekille ifade edilmesidir. Bunun için kullanılan standart şekillerden bazıları aşağıda verilmektedir. Başlangıç ve Bitiş: Program başında ve sonunda kullanılır. Atama ve Hesaplama: Her türlü atama ve hesaplama işlemleri için kullanılır. Veri Girişi: Klavyeden yapılan girişler için kullanılır. Girilen verinin tutulacağı değişken yazılır. Bilgi Çıkışı/Görüntüleme: Kullanıcıya yansıtılacak bilgileri belirtmek için kullanılır. Karşılaştırma/Test: Program akışını istenen şartlara göre değiştirmek için kullanılır. Bir şartın sonucu ya doğru, ya da yanlıştır. Doğru (E), yanlış (H) ile gösterilir. Döngü: Bir işlem bloğunun birden fazla kere tekrar edilmesinde kullanılır.

ÖRN: Girilen iki sayının toplamını hesaplayan programın akış diyagramı: Başla X Y X, Y T = X + Y T Son

ÖRN: Girilen üç sayının en büyüğünü bulan programın akış diyagramı: Başla A,B,C EB=A B>EB H C>EB H EB E E EB=B EB=C Son

Başla S=0 X ÖRN: Girilen 10 adet sayının en büyüğünü bulan programın akış diyagramı: S=S+1 S=1 E EB=X H X>EB E EB=X E H S<10 H EB Son

C Programı Oluşturmak C dilinde yazılan bir programın çalıştırılabilir hale getirilebilmesi için aşağıdaki süreçlerden geçilir: 1. Kaynak dosyanın oluşturulması: Kaynak dosya metin düzenleyici bir programda (text editörü) yazılır. Kaynak dosya, bir metin dosyasıdır. C dilinin kurallarına göre yazılan dosyaların uzantısı genel olarak.c seçilir. 2. Kaynak dosyanın derleyici (compiler) tarafından derlenmesi: Bir programlama dilinde yazılmış programı başka bir programlama diline çeviren programlara çevirici (translator) denir. Dönüştürülmek istenen dilin yazıldığı dile kaynak dil (source language), dönüşümün yapıldığı dile ise hedef dil (target language) adı verilir. hedef dil makine dili yada simgesel dil ise, bu çevirici programlara derleyici (compiler) denir.

C Programı Oluşturmak Derleyici program kaynak dosyayı alır ve derler. Bu işlem başarılı olursa bir amaç dosya (object file) oluşturur. Derleyici programın derleme işlemini yapma sürecine derleme zamanı (compile time) denir. Derleyici program, derleme sırasında kaynak dosyanın, C dilinin sözdizim kurallarına uygunluğunu da denetler. Kural çiğnendiği durumda bir ileti (diagnostic message) verir. Bu ileti: Bir hata iletisi (error message) olabilir. Bu durumda derleyici programlar çoğunlukla amaç dosya üretmez. Bir uyarı iletisi (warning message) olabilir. Bu durumda derleyici programlar çoğunlukla amaç dosya üretir.

C Programı Oluşturmak Derleyici tarafından oluşturulan amaç dosyaları bağlayıcı (linker) program tarafından birleştirilerek, çalıştırılabilir bir dosya elde edilir. Windows sistemlerinde çalıştırılabilir dosyaların uzantısı.exe olarak seçilir. Derleyici Komutu (include files) Kütüphane (library) Kaynak Prog. (source prog.) Derleyici (compiler) Bağlayıcı (linker) Çalıştırılabilir dosya (.exe file)

C Programı Oluşturmak Birincil Hafıza Editör Disk Program editörde oluşturulur ve diske kaydedilir Ön İşlemci (preprocessor) Disk Ön işlemci kodları işler Derleyici (Compiler) Bağlayıcı (Linker) Yükleyici Disk Disk Derleyici nesne kodlarını üretir ve diske kaydeder Bağlayıcı nesne kodunu kütüphanelerle birleştirir ve diske kaydedilir Yükleyici programı diskten alarak hafızaya koyar Disk CPU... CPU her komutu alır ve tek tek çalıştırır. Program çalışırken oluşan muhtemel yeni değerleri kaydeder.

C Programı Oluşturmak C Dilinde Kullanılan Terimler (tekrar): Kaynak kodu (source code): Programın, programcı ve kullanıcı tarafından okunabilen ve anlaşılabilen C programı diye de adlandırılan kısmıdır. Amaç kodu (object file): C programının, makinenin anlayabileceği ve doğrudan yerine getirebileceği bir kod şekline dönüştürülmüş halidir. Birleştirici (linker): Ayrı ayrı derlenmiş fonksiyonları bir program içerisine toplayıp tek program haline getirmeye yarayan bir programdır. Programcının yazdığı programla, standart C kütüphanelerinde bulunan fonksiyonları birleştirir. Çıkışta işletilebilir bir program oluşur. Kütüphane (library): Programcılar tarafından kullanılmak üzere, standart fonksiyonları içerirler. Derleme zamanı (compile time)ı: Programın derlemesi için geçen zamandır. Çalışma zamanı: Programın çalışması için geçen süredir. Derleyici (compiler): kaynak kodu makine koduna çeviren programdır.