ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (Bölüm 1 2)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (Bölüm 1 2)"

Transkript

1 ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (Bölüm 1 2) 1

2 PROBLEM ÇÖZME ve ALGORİTMALAR Bir problemi çözmek için yapılacak işlemler en genel şekilde iki adımda incelenebilir: 1. Algoritma (Problemi Çözme Yolu) 2. Kodlama (Gerçekleştirme) 2

3 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) 1. Algoritma Problemin çözümünü tanımlayan adımların sırasıyla elde edilmesidir. 3

4 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Her Algoritma Aşağıdaki Kriterleri Sağlamalıdır: 1. Girdi : Dışarıdan Sıfır veya farklı bir değer verilmeli. 2. Çıktı : En azından bir değer üretilmeli. 3. Açıklık : Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. 4. Sonluluk : Her türlü ihtimal için algoritma sonlu adımda bitmeli. 5. Etkinlik : Her işlem (komut), kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır. 4

5 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Algoritma yapma Sırasında Dikkat Edilecek Hususlar: Doğruluğu kesin olarak ispatlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan kaçının. Karşılaştığınız her güçlüğü mümkün olduğu kadar çok parçaya bölün. Anlaşılması en kolay olan (basit) şeylerle başlayıp yavaş yavaş daha zor ve karmaşık olanlara doğru ilerleyin. Önce olaya bakışınız çok genel, sonra hazırlayacağınız Detaylı Algoritma ise hiçbir şeyi dışarıda bırakmayacak kadar kusursuz ve ayrıntılı olsun

6 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) 2. Kodlama Bir programlama diliyle bu Algoritma nın programa (yazılıma) dönüştürülmesidir. 6

7 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Kodlama (Programlama) Dili Seçerken; Dil yapılacak işe uygun özelliklere sahip mi? Diğer dillerle uyumluluğu ve bu dillere dönüştürme imkanları nedir? Öğrenmesinin kolay/zor olup olmadığı, çokca örnekler var mı? Piyasada, bu dili kullanan, yeteri kadar iş gücü(kişi) olup olmadığı gibi hususlara dikkat edilmelidir

8 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Ayrıntılı Çözme Aşamaları Problem Çözme (Daha Ayrıntılı) Aşamaları: 1. Sistem İhtiyaçları: Sistem ihtiyaçlarına göre problemin tam olarak ne olduğunun anlaşılmasıdır. Problemin çözümünden neler beklendiği bilinmelidir. Çözümün girdi ve çıktılarının neler olacağı kesin olarak belirlenmelidir. 8

9 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Ayrıntılı Çözme Aşamaları 2. Analiz: Sistem ihtiyaçları belirlendikten sonra bunlar temel parçalara ayrılarak bu parçalar ayrı ayrı değerlendirilir. Bu parçalar arasındaki ilişkiler tanımlanır. Bu suretle sonuca gitmeye çalışılır. 9

10 PROBLEM ÇÖZME ve ALGORİTMALAR(Devam) Ayrıntılı Çözme Aşamaları 3. Algoritma : Kullanılacak çözüm adımlarını gösteren Algoritma adı verilen bir liste yapılır Böyle bir algoritma tasarlanırken ilk önce ana (genel) adımlar çıkarılır. Daha sonra her adım için daha ayrıntılı bir algoritmaya geçilir. 10

11 PROBLEM ÇÖZME ve ALGORİTMALAR(Devam) Ayrıntılı Çözme Aşamaları 4. Kodlama (Programlama): Geliştirilen algoritma bir programlama diline çevrilir. Bu dilin, programın yazımını aşırı zorlaştırmayacak ve karmaşıklaştırmayacak bir dil olması tercih edilmelidir. Programı yazacak olanın bilgisi de dikkate alınır. 11

12 PROBLEM ÇÖZME ve ALGORİTMALAR(Devam) Ayrıntılı Çözme Aşamaları 5. Sistem Testi: Program değişik Girdiler ile çalıştırılır Programın ürettiği sonuçlar (Çıktılar) kontrol edilerek test işlemi gerçekleştirilir. Sonuçlar (Çıktılar) beklendiği gibi ise programın doğru çalıştığı ispatlanmış olunur Değilse doğru çalışmayan kısımları tespit edilerek geri adımlara dönülmek suretiyle düzeltilir. 12

13 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Ayrıntılı Çözme Aşamaları 6. Bakım: Programın güncel şartlara göre yeniden düzenlenmesini (Update) içeren bir konudur. Zamanla oluşan hataların giderilmesi Yeni iyileştirmeler yapılması Ya da programın teknolojisinin yenilenmesi gibi işlemlerdir. 13

14 PROBLEM ÇÖZME ve ALGORİTMALAR(Devam) Çözme Aşamaları (Adımlar) Herhangi bir adımda sorun yaşanırsa (gerektiğinde) bir adım geri dönülür 14

15 Problem Çözmede Algoritma ve Programlama Yukarıda açıklanan Ayrıntılı Problem Çözme Aşamalarından ikisi dersimizin konusunu ile doğrudan ilgilidir : ALGORİTMA KODLAMA (Programlama) Bu başlıkları daha ayrıntılı olarak inceleyelim 15

16 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Algoritma Türleri ALGORİTMA : İki farklı şekilde ifade edilebilirler: 1. Pseudo (Sözde) Kod 2. Akış Diyagramı (Akış Şeması) 16

17 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo (Sözde) Kod 1. Pseudo (Sözde) Kod: Bir algoritmanın; Hem programlama dili kuralları hem de konuşma dili kullanılarak ortaya koyulması/tanımlanmasıdır. İyi bir biçimde yazılmış, Psedo Kod dan, programlama diline kolaylıkla geçilebilir. 17

18 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Pseudo (Sözde) Kod Doğrudan konuşma dilinde Programlama mantığı altında Eğer, iken gibi şart kelimeleri ve Büyük, Eşit, Küçük ise vb. ifadeler ile yazılır. Not: Aynı Problem için çok farklı Psedo Kod Yazılabilir. 18

19 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Örnek 1: Verilen iki sayının toplamının bulunarak bu toplamın yazdırılması algoritmasını psedo (sözde) kod ile yazınız. 1. Başla 2. Birinci Sayıyı Oku 3. İkinci Sayıyı Oku 4. İki Sayıyı Topla 5. Toplamı yaz 6. Dur 19

20 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Örnek 2: Verilen bir sıcaklık derecesine göre suyun durumunu belirten bir algoritmayı psedo (sözde) kod ile yazınız. Çalıştırılmasını gösteriniz. Not 1: Programın, sıcaklığa göre Su, Buz, Buhar şeklinde Suyun durumunu göstermesi istenmektedir. Not 2: Önce programın ne yaptığına dâir açıklama mesajı sonra da sıcaklık değerinin girilmesi için uyarı mesajı yazılsın. 20

21 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) 1. Başla 2. Programın görevini belirten Açıklama Mesajı yaz 3. Kullanıcının sıcaklığı girmesi için bir Uyarı Mesajı yaz 4. Girilen Sıcaklığı Oku 5. Eğer Sıcaklık sıfırdan Küçük ise Durum= Buz 6. Eğer Sıcaklık 100 e Eşit ya da Büyük ise 7. Hiçbiri Değil ise 8. Durum sonucunu (Ekrana) Yaz. Durum= Buhar Durum = Su 9. Son 21

22 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Programın Çalışması: (140 derece örneği için) Bu Program, sıcaklığa göre Su, Buz, Buhar şeklinde suyun durumunu gösterir. (Ekrana Açıklama Mesajı) Lütfen derece cinsinden sıcaklığı giriniz: 140 (Ekrana Uyarı Mesajı) (Klavyeden Girdi) BUHAR (Ekrana yazılan Çıktı) 22

23 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Örnek 3: Bir Pseudo (sözde) Kod yazarak bir öğrencinin dönem sonu not ortalamasını hesaplayıp öğrencinin dersten geçip geçmeyeceğini tespit edin. Not : Not ortalaması eşit ağırlıklı 4 nottan oluşsun ve Geçme notu 50 olsun. 23

24 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) 1. Başla 2. Öğrencinin dersten aldığı 4 notu Girin uyarı mesajını yaz. 3. Ortalamayı hesaplamak üzere girilen notları topla ve 4 e böl ve sonucu Ortalama ya aktar 4. Eğer Ortalama 50 nin altında ise Başarısız yaz. 5. Değilse (Aksi halde) Başarılı yaz. 6. Son 24

25 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Psedo Kod (Devam) Aynı Psedo Kodu Programlama Diline daha yakın tarzda farklı şekilde tekrar yazalım: 1. Başla 2. M1,M2,M3,M4 olarak Öğrencinin Notlarını Girin 3. ORTALAMA = (M1+M2+M3+M4)/4 4. Eğer (ORTALAMA < 50) ise Başarısız yaz 5. Değilse (Aksi halde) Başarılı yaz 6. Son 25

26 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı 2. Akış Diyagramı (Akış Şeması): Algoritmanın görsel/şekilsel olarak ortaya koyulmasıdır. Yapılması gerekenleri geometrik şekillerden oluşan sembollerle gösterir. 26

27 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Akış Diyagramı kullanılması ile program Görsellik kazanacağından Programın takip edilmesi daha da kolaylaşır. 27

28 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) AKIŞ DİYAGRAMI SEMBOLLER (Sık Kullanılanlar) : Terminal Sembolü: Akış Diyagramında Başlangıç ya da Bitiş belirtir. Giriş İşlemi Sembolü: Bir Giriş işlemini temsil eder. İşlem Sembolü: Algoritmada bir işlemi temsil eder Ön Tanımlı İşlem Sembolü: Daha önce tanımlı bir işlemi temsil eder Karar Sembolü: İki değerin mukayesesi dahil karar işlemini temsil eder Çıkış İşlemi Sembolü: Bir Çıkış işlemini temsil eder. 28

29 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Örnek 4: Girilen bir uzunluğa ait inch (inç) değerini santimetreye çeviren hem bir Psedo (Sözde) kod yazıp hem de bir Akış Diyagramı çiziniz. Not: 1 inch = 2.54 cm dir. 29

30 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Psedo Kod Akış Diyagramı 1. Başla 2. inch olarak (Linc) uzunluğu (klavyeden) girin. 3. inch değerini 2,54 ile çarparak santimetreye çevir ve sonucu Lcm ye aktar 4. Uzunluğu santimetre (Lcm) olarak (ekrana) yaz. 5. Son 30

31 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Öğrencinin Ortalamasını hesaplayıp durumunu belirleyen Örnek 3 için; Psedo Kodu ( Örnek 3 de yazılmıştı) 1. Başla 2. M1,M2,M3,M4 değerlerini girin 3. ORTALAMA = (M1+M2+M3+M4)/4 4. Eğer (ORTALAMA <50) ise BAŞARISIZ yaz 5. Değilse(aksi halde) BAŞARILI yaz 6. Son 31

32 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) BAŞLA M1,M2,M3,M4 ORTALAMA = (M1+M2+M3+M4)/4 H ORTALAMA <50 Mi? E BAŞARILI BAŞARISIZ DUR 32

33 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Örnek 5 : 2 ax bx c 0 şeklindeki ikinci derece bir denklemin köklerini bulmak için bir psedo kod yazarak akış diyagramı çizin. Hatırlatma: [d: diskriminant ] olmak üzere 2 d = sqrt ( b 4ac Denklemin Kökleri; x1 = ( b + d)/2a x2 = ( b d)/2a ) olmak üzere (sqrt: Karekök) ve şeklinde hesaplanır. 33

34 PROBLEM ÇÖZME ve ALGORİTMALAR (Devam) Akış Diyagramı (Devam) Akış Diyagramı Psedo Kod BAŞLA 1. Başla 2. a, b, c katsayılarını girin a, b, c b b 4 a c 3. d =sqrt ( ) hesapla 4. x1 = ( b + d)/(2 x a) hesapla 5. x2 = ( b d)/(2 x a) hesapla 6. x1 ve x2 yi yaz 7. Son d = sqrt (b.b 4.a.c) x1 = ( b + d) / (2.a) X2 = ( b d) / (2.a) x1, x2 Not: sqrt, Karekök anlamındadır. DUR 34

35 ALGORİTMA VE PROGRAMLAMA (Bölüm 2) 35

36 BİLGİSAYARDA İŞLEMLER Bilgisayar programları ile gerçekleştirilen işlemlere genel olarak bir göz atalım: Bu işlemler temelde 3 Grupta toplanabilir: 1. Matematiksel İşlemler 2. Karşılaştırma(Karar) İşlemleri 3. Mantıksal(Lojik) İşlemler 36

37 Bilgisayarda İşlemler (Devam) Matematiksel İşlemler (Devam) 1. Matematiksel İşlemler: Temel Aritmetik İşlemler; (Toplama,çıkarma,çarpma,bölme) Matematiksel Fonksiyonlar; (Üstel,logaritmik,trigonometrik,hiperbolik vb.) 37

38 İşlem Toplama a+b Çıkarma a-b Bilgisayarda İşlemler (Devam) Matematiksel İşlemler (Devam) Matematikte Bilgisayarda a+b a-b Çarpma a.b a*b Bölme a:b a/b Üs alma a b a^b 38

39 Bilgisayarda İşlemler (Devam) Matematiksel İşlemler (Devam) Öncelik Sırası İşlem Bilgisayar dili 1 Parantezler ((.)) 2 Üs alma a^b 3 Çarpma ve bölme a*b ve a/b 4 Toplama ve çıkarma a+b ve a-b NOT: Bilgisayar diline kodlanmış bir matematiksel ifadede, aynı önceliğe sahip işlemler mevcut ise bilgisayarın bu işlemleri gerçekleştirme sırası soldan sağa (baştan sona) doğrudur. Mesela ; Y=A*B/C işleminde; Önce A*B işlemi yapılacak, ardından bulunan sonuç C ye bölünecektir. 39

40 Bilgisayarda İşlemler (Devam) Matematiksel İşlemler (Devam) 40

41 Bilgisayarda İşlemler (Devam) (Karar) Karşılaştırma İşlemleri (Devam) 2. Karar (Karşılaştırma)İşlemleri Operator Karşılaştırma Operatörleri > Daha büyük < Daha küçük = Eşit Tanımı Daha büyük veya eşit Daha küçük veya eşit Eşit değil 41

42 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) A>B bir karşılaştırma (mukayese) ifadesidir. Test etmek istediğimiz bir şartı tanımlar Bu şartın sağlanıp sağlanmama durumuna göre farklı işlemler yapılabilir. 42

43 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Mesela A>B ise A nın değerini, aksi halde B değerini yazan Psedo Kod (parçası) yazalım: Eğer A>B doğru ise A nın değerini yaz. Değil ise (Aksi halde) B nin değerini yaz. Not: A=B durumu, A<B ile birlikte Değil ise durumuna dahil olacaktır. 43

44 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Bu Karar yapısını Akış Diyagramı (parçası) olarak gösterelim; E A>B Mi? H A Değeri B Değeri 44

45 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Bir başka yapıya örnek olarak; Eğer A>B doğru ise İŞLEM i yaparak tekrar test eden A>B doğru değil ise (aksi halde) B nin değerini yazan bir karar yapısına ait bir Akış Diyagramı (parçasını) gösterelim. Not: Programın tamamına ait (Başla dan Son a kadar) A. Diyag. gösterilmezse «parçası» ifadesi kullanılır. 45

46 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Akış Diyagramı (Parçası) İŞLEM E A>B Mi? H B Değeri 46

47 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Bir başka yapıya örnek olarak; Eğer A>B doğru ise A değerini yazdıktan sonra Devam eden, A>B doğru değil ise (aksi halde) A değerini yazmadan Devam eden Karar yapısına ait bir Akış Diyagramı (Parçasını) çizelim. 47

48 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Akış Diyagramı (Parçası) A>B Mi? H E A Değeri 48

49 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Daha farklı Karar Yapıları bulunmakla birlikte bunları ilerdeki uygulamalarımıza bırakarak birkaç örneği (tam program için); Hem psedo hem de Akış Diyagramı olarak inceleyelim: 49

50 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Örnek 6 : Girilen iki değeri mukayese ettikten sonra büyük olanı yazan bir psedo (sözde) kod ve akış diyagramı veriniz. 1. Başla 2. DEGER1 ve DEGER2 yi Girin 3. Eğer (DEGER1 > DEGER2) ise MAX a DEGER1 i aktar 4. Değilse (Aksi halde) MAX a DEGER2 yi aktar 5. MAX değerini yaz 6. Son 50

51 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Akış Diyagramı BAŞLA DEGER1,DEGER2 E DEGER1>DEGER2 Mİ? H MAX = DEGER1 MAX = DEGER2 MAX DUR 51

52 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) Örnek 7 : 3 sayıyı (N1,N2,N3) okuyan ve en büyük değeri yazan bir program için bir psedo kod yazarak Akış Diyagramı çiziniz. 52

53 Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) 1. Başla 2. N1, N2, N3 değerlerini girin 3. Eğer (N1>N2) ise Eğer (N1>N3) ise MAX a N1 i aktar Değilse [N1>N2 ve N1>N3] demektir. MAX a N3 ü aktar [N1>N2 ve N3>N1] demektir. 4. Değilse; Eğer (N2>N3) ise MAX a N2 yi aktar [N2>N1 ve N2>N3] demektir.. Değilse MAX a N3 ü aktar 5. MAX değerini yaz. 6. Son [ N2>N1 ve N3>N2] demektir. 53

54 Akış Diyagramı: Bilgisayarda İşlemler (Devam) Karar (Karşılaştırma)İşlemleri (Devam) BAŞLA N1,N2,N3 E N1>N2 Mİ? H E H E H N1>N3 N2>N3 Mİ? Mİ? MAX = N1 MAX = N3 MAX = N2 MAX = N3 MAX DUR 54

55 Bilgisayarda İşlemler (Devam) Mantıksal İşlemler 3. Mantıksal İşlemler Mantıksal işlem Matematiksel sembol Komut/Operatör VE. AND VEYA + OR DEĞİL NOT NOT1: VE,VEYA,DEĞİL operatörleri hem matematiksel işlemlerde hem de karar ifadelerinde kullanılırlar. NOT2: Bütün şartların sağlatılması isteniyorsa şartlar arasına VE (AND) Herhangi birinin sağlatılması isteniyorsa şartlar arasına VEYA (OR) Şartı sağlamayanlar isteniyorsa DEĞİL (NOT) mantıksal operatörü kullanılır. 55

56 Örnek 8: Bir sınıfta Bilgisayar dersinden 65 in üzerinde not alıp, Türk Dili veya Yabancı Dil derslerinin herhangi birinden 65 in üzerinde not alanların isimleri yazan bir Psedo Kod un yazılması istensin. Açıklama: Bilgisayarda İşlemler (Devam) Mantıksal İşlemler (Devam) Burada 2 şart vardır: Bilgisayar dersinden 65 in üzerinde not almış olmak temel şarttır. Diğer iki dersin notlarının herhangi birinin 65 in üzerinde olması 56

57 Bilgisayarda İşlemler (Devam) Mantıksal İşlemler (Devam) Bu durumda Psedo Kod yazılırsa: 1. Başla 2. Bilg. Not, TDili Not, YDil Not değerlerini giriniz. 3. Eğer Bilg. Not>65 VE (TDili Not>65 VEYA YDil Not>65) ise İsmi Yaz 4. Son Not : Burada 3. satırdaki komut için VE, VEYA operatörleri kullanılmıştır. 57

58 Bilgisayarda İşlemler (Devam) Mantıksal İşlemler (Devam) Örnek 9 : Bir işyerinde çalışan işçiler arasından yalnızca yaşı 23 üzerinde olup Maaş olarak Asgari ücret alanların isimleri yazılmak istenebilir. Bu durumda bir Psedo Kod yazarsak : 58

59 1. Başla 2. Yaş, Maaş, Asgari ücret i girin 3. Eğer Yaş>23 VE Maaş=Asgari ücret ise İsmi Yaz 4. Dur Bilgisayarda İşlemler (Devam) Mantıksal İşlemler (Devam) Not: İsmi Yaz komutu 1. ve 2. şartın her ikisi de sağlanıyorsa çalışır. 59

60 ALGORİTMALARDA SIKÇA KULLANILAN BAZI TERİMLER Tanımlayıcı Değişken Sabit Aktarma Sayaç Döngü Ardışık Toplama Ardışık Çarpma İçiçe Döngüler 60

61 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Tanımlayıcı: Programdaki ; Değişkenleri, Sabitleri, Kayıt alanlarını, Özel bilgi tiplerini vb. adlandırmak için kullanılan kelimelerdir. Tanımlayıcılar, yerini tuttukları ifadelere çağrışım yapacak şekilde seçilmelidir. ( İsim ve Telefon için: adtelef gibi) 61

62 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Tanımlayıcılarda ; İngiliz alfabesindeki A-Z veya a-z arası 26 harf ile 0-9 arası rakamlar kullanılabilir. Tanımlayıcı isimleri harfle veya alt çizgiyle başlayabilir. Sembollerden sadece alt çizgi (_) kullanılabilir. Tanımlayıcı ismi, rakamla başlayamaz veya sadece rakamlardan oluşamaz. 62

63 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Değişken: Genelde programın her çalıştırılmasında, farklı değerler alırlar. Değişken isimlendirilmeleri de yukarıda sayılan tanımlayıcı kurallarına uygun şekilde yapılmalıdır. Meselâ ; Bir ismin aktarıldığı değişken; ad Bir isim ve soy ismin aktarıldığı değişken; adsoyad Ev telefon no sunun aktarıldığı değişken; evtel Ev adresinin aktarıldığı değişken; evadres İş adresinin aktarıldığı değişken; isadres şeklinde verilebilir. 63

64 Sabit: Algoritmalarda Sıkça Kullanılan Terimler (Devam) Programdaki değeri değişmeyen ifadelere sabit denir. Yukarda açıklanan İsimlendirme kuralları na uygun olarak oluşturulan sabitlere Sayısal veriler doğrudan (Örn: A=7) Alfasayısal veriler ise tek yada çift tırnak içinde aktarılır. (Örn: A= puan25 veya A= puan25 ) Not: Alfasayısal (alfanümerik), Verinin hem harf hem de rakamlardan oluştuğunu belirtmek için kullanılır. 64

65 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Örnek 10 : Öğrenci adını içeren bir mesajı Psedo Kod ile yazalım; 1. Başla 2. Bir isim giriniz (A) 3. Derse Hoş geldin mesajı (B) yaz 4. B ve A yı Yaz 5. Dur Not: Burada (A) nın isim bilgisi taşıdığı yani öğrenciye göre değişeceği için Değişken olduğuna (B) nin de değişmeyen bir ifade yani Sabit olduğuna dikkat edelim. 65

66 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Yukarıdaki algoritma (psedo kod), dışarıdan girilen bir A değişkeni ile B sabitini birleştirip aşağıdaki iki örnekteki gibi ekrana yazar. A değişkeni B sabiti Ekranda yazılan Onur Derse Hoş geldin Derse Hoş geldin Onur Emre Derse Hoş geldin Derse Hoş geldin Emre 66

67 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Aktarma: Herhangi bir bilgi alanına, veri yazma; herhangi bir ifadenin sonucunu başka bir değişkende gösterme vb görevlerde aktarma operatörü kullanılır. değişken=ifade ( Örn: puan=a*65 ) = sembolü, aktarma operatörüdür ve sağdaki ifadenin/işlemin sonucunu soldaki değişkene aktarır. 67

68 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Değişken yazan soldaki kısım herhangi bir değişken ismidir. (Yukarıdaki örnekte puan kelimesidir.) İfade yazan sağdaki kısımda ise matematiksel, mantıksal veya alfasayısal ifade olabilir. (Yukarıdaki örnekte bir çarpma ifadesi) Bu durumda değişkenin eğer varsa bir önceki değeri silinir. 68

69 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Sayaç : Programlarda bazı işlemlerin belirli sayıda yaptırılması veya işlenen/üretilen değerlerin sayılması gerekebilir. Örnek: say=say+1 ( say adlı değişken için) Yukardaki işlemde sağdaki ifadede değişkenin eski değerine 1 eklenmekte; bulunan sonuç yine kendisine yeni değer olarak aktarılmaktadır. Not: Bu ifadeden önce say=7 ise sonra say=8 olur. 69

70 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Sayacın genel formülü; Sayaç değişkeni = Sayaç değişkeni + adım Örnek: X=X+3 (X değişkenini adım kadar (3) arttırır) Örnek: S=S-5 (S değişkenini adım kadar (5) azaltır) 70

71 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Örnek 11: Aşağıda 1-5 arası sayılar yazdırılmaktadır. (Sayac için S değişkeni kullanılmıştır) 1. Başla 2. S=0 (S değişkenine 0 ilk değerini ver.) 3. Eğer S>4 ise git 7. (S, 4 den büyükse 7. satıra git) 4. Değilse S=S+1 (S, 4 den büyük değilse S yi 1 arttır) 5. S yi Yaz (S değerini yaz) 6. Git 3. (3. satıra git) 7. Dur 71

72 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Önceki S Değeri Yeni S Değeri Ekrana Yazılan 0 0+1= = = = =5 5 72

73 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü: Bir çok programda bazı işlemler,belirli ardışık değerlerle gerçekleştirilmekte veya belirli sayıda yaptırılmaktadır. Programlardaki belirli işlem bloklarını, verilen sayıda gerçekleştiren işlem akış çevrimlerine Döngü denir. 73

74 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Örnek 12: 1 ile 10 arası tek sayıların toplamını hesaplayan ve yazan bir Psedo Kod yazınız. Not: T, toplamı; J, tek sayıları (1,3,5,7,9) temsil eden değişkenlerdir. 74

75 Algoritmalarda Sıkça Kullanılan Terimler (Devam) 1. Başla 2. T=0 ( Önce T toplam değişkenini sıfırla) 3. J=1 ( İlk tek sayıyı J değişkenine aktar) 4. Eğer J>10 ise git 8. (J>10 olduysa 8. adıma git) 5. Değilse T=T+J (Aksi halde T değişkenini J kadar arttır) 6. J=J+2 ( J yi adım yani 2 kadar arttır) 7. Git 4. ( 4. adıma git) 8. T yi yaz ( Toplamı yani T yi yazdır) 9. Dur Not: 7. ile 4. satırlar arasında Döngü vardır. 75

76 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Önceki J Değeri Önceki T Değeri Yeni T Değeri Yeni J Değeri = = = = =

77 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Ardışık Toplama: Programlarda, aynı değerin üzerine yeni değerler eklemek için kullanılır. Örnek11: Klavyeden girilen 5 sayının ortalamasını bulan programın algoritmasını Psedo Kod ile yazalım. Not: T: (Ardışık) Toplamı; S: Girilen sayının sırasını göstersin. 77

78 Algoritmalarda Sıkça Kullanılan Terimler (Devam) 1. Başla 2. T=0 (Toplamı yani T yi sıfırla) 3. S=0 (Girilen sayının sırasını sayan S yi sıfırla) 4. Eğer S>4 ise git 8 (S>4 yani S=5 olduysa 8. adıma git) 5. Değilse S=S+1 (Aksi halde S yi 1 arttır) Sayıyı (A) girin (Klavyeden A sayısının girilmesini iste) 6. T=T+A (Girilen sayıyı T ile topla) 7. Git 4. (4. adıma git) 8. Ortalama=T/5 (Ortalama yı hesapla) 9. Ortalama yı yaz (Ortalama yı yaz) 10. Dur 78

79 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Ardışık Çarpma : Ardışık çarpma işleminde; aynı değer (çarpım), yeni değerlerle çarpılarak eskisinin üzerine aktarılmaktadır. Örnek 14: Klavyeden girilen N sayısının faktöriyelini hesaplayan programın algoritmasını Psedo Kod ile yazınız. Not: 5! (5 faktöriyel); sayılarının çarpımıdır. Faktöriyel değeri Faktor adlı değişkende (ardışık) çarpma ile hesaplanır. 79

80 Algoritmalarda Sıkça Kullanılan Terimler (Devam) 1. Başla 2. N sayısını girin ( Hangi sayının faktöriyelini hesaplasın) 3. Faktor=1 (İstenen Faktöriyel değeri 1 den başlasın) 4. S=0 5. Eğer S>N-1 ise git 9. (S, N-1 den büyükse işlem bitecek) 6. S=S+1 (Çarpılacak sayıları elde etmek için arttır) 7. Faktor=Faktor*S (Önceki Faktor değerini yeni S ile çarp) 8. Git 5. (5. adıma git) 9. Faktor u yaz (Faktor değerini yaz) 10. Dur 80

81 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı : Bu yapı kullanılırken; Döngü sayacı Şart bilgisi ve Sayacın artım bilgisi gibi değerler verilmelidir. Not: Döngü sayacı kullanılmıyorsa sadece döngüye devam edebilmek için gerekli olan şart bilgisi verilmelidir. 81

82 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Genel olarak pek çok programlama dilinin döngü deyimleri : 1) While 2) Do-while 3) For gibi yapılar üzerine kurulmuştur. Not: Farklı dillerde bu yapılara farklı alternatifler olsa da döngülerin çalışma mantığı genel olarak benzerdir. 82

83 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı (Devam) 1. Durum (While): Şart daha çevrim içerisine girmeden sınanır. Şart sağlanmıyorsa İşlem hiç yapılmaz Ve döngü içerisindeki İşlem de yapılması gerekenler atlanır. 83

84 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı (Devam) Döngüye Girildikten sonra Şart ın sağlanıp sağlanmadığına bakılır. Sağlanmıyorsa Döngüden çıkılır. Şart sağlandığı sürece (defa) İşlem yapıldıktan sonra döngüden çıkılır. 84

85 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Örnek 15: Bu tür bir döngü için daha önce algoritması yazılan Örnek 12 e ait bir akış diyagramı çizelim. Önce Örnek 12 i hatırlayalım: Klavyeden girilen N sayısının faktöriyelini hesaplayan programın algoritmasını Psedo Kod ile yazınız. 85

86 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Not: Faktor=1 ile Faktöriyele ilk değeri veriliyor. Böylece 1 sayısının Faktöriyeli baştan yazılmış oluyor. Sayac=2 ile Sayac a başlangıç olarak 2 değeri veriliyor. Sayac değeri 2 den başlayarak girilen Örn: N=10 değerine eşit olana kadar (2,3,4.9,10) Faktor=Faktor*Sayac işlemi tekrar yapılıyor. Sayac++ ile her seferinde Sayac 1 arttırılıyor. 86

87 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı (Devam) 2. Durum (Do-While): Bu durumda çevrim en az bir defa gerçekleşir. Çünkü şart sınaması döngü sonunda yapılmaktadır. Eğer şart sağlanmıyorsa bir sonraki çevrime geçilmeden döngüden çıkılır. Çevrimin Devam edebilmesi için her döngü sonunda yapılan şart testinin olumlu sonuçlanması gerekir. 87

88 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı (Devam) 88

89 Algoritmalarda Sıkça Kullanılan Terimler (Devam) Döngü Yapısı (Devam) 3. Durum (For): Diğer deyimlerden farklı olarak, döngü sayacı doğrudan şart parametreleri olarak başta verilir. Döngüye girmeden önce sayaç değişkenine başlangıç ve artım değeri atanmakta ve daha sonra şarta bakılmaktadır. Şart sağlandığı sürece belirtilen «İşlem» yapıldıktan sonra her seferinde sayaç değişkeni arttırılmaktadır. Döngü sayısına ulaşınca (şart sağlanamayınca) döngü sona erer. 89

90 Algoritmalarda Sıkça Kullanılan Terimler (Devam) 90

91 Algoritmalarda Sıkça Kullanılan Terimler (Devam) İçiçe Döngüler İçiçe Döngüler: Programlamada yaygın kullanılan bir döngüdür. İçiçe döngü kurulurken en önemli unsur, içteki döngü sonlanmadan bir dıştaki döngüye geçilmemesidir. Diğer bir deyişle döngüler birbirlerini kesmemelidir. En içteki döngü bir dıştaki döngünün her adımında N kere tekrarlanır. İç ve dış döngülerin çarpımı kadar İşlem yapılmış olur. 91

92 Algoritmalarda Sıkça Kullanılan Terimler (Devam) 92

93 ALGORİTMA VE PROGRAMLAMA (Bölüm 3) Vize Kısmı 93

94 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin sağladığı esneklik ve gücü sağlarken üst düzey bir programlama dilinin sağladığı kolay anlaşılabilirlik özelliğini de sunmaktadır 94

95 C PROGRAMLAMA DİLİ (Devam) Başlarken C Dilinin Temel Özellikleri : C, oldukça fazla sayıda ifade ve denetim komutları bulunduran bir programlama dilidir. Ancak, dikkatli yazılmalıdır. Zira hatalı veya eksik bir işaret programımızı doğru çalıştırmayacaktır. 95

96 C PROGRAMLAMA DİLİ (Devam) Başlarken Program Yazma, Derleme ve Çalıştırma: Önemli olan, önce basit bir programı yazıp derleyebilmek, çalıştırabilmek ve elde edilen sonuçları görebilmektir. Yazma, Derleme ve Çalıştırma kullandığımız ortama bağlı olmakla birlikte genellikle kolay bir şekilde yapılabilir. 96

97 C PROGRAMLAMA DİLİ (Devam) Başlarken C dilinde yazılan programın uzantısı (.c) dir. C dilindeki program (derleyici, bağlayıcı ve Kütüphane fonksiyonları ile) önce (.obj), sonra (.exe) uzantılı olur Böylece (.exe) uzantısı dolayısıyla PC de yürütülebilir hale gelir. 97

98 C PROGRAMLAMA DİLİ (Devam) Başlarken 98

99 C PROGRAMLAMA DİLİ (Devam) Başlarken C de bulunan pek çok fonksiyonun kullanılabilmesi için bazı kütüphane başlık dosyalarının programa eklenmesi gerekir. Karışıklığı önlemek adına programlarımızda gösterilmeyecek olan bu dosyalardan en temel ve önemli olanı: #include <stdio.h> şeklindedir

100 C PROGRAMLAMA DİLİ (Devam) Başlarken Bu başlık dosyasından başka ileri matematik işlemlerde kullanılan #include <math.h> Yine rastgele sayı üretmek, sıralama yapmak vb. işlemlerde kullanılan #include <stdlib.h> gibi farklı başlık dosyaları mevcuttur İhtiyaca göre bu ifadelerin main() öncesinde programın başına eklenmesi gerekir.

101 C PROGRAMLAMA DİLİ (Devam) Başlarken IDE (Tümleşik Geliştirme Ortamı): Tümleşik Geliştirme Ortamları, Derleyicileri Bağlayıcıları tek bir ortam içinden kullanabilmeyi sağlarken Ayrıca Hata ayıklama (debug), Gözlem penceresi (watch) gibi bileşenlere sahiptirler. 101

102 C PROGRAMLAMA DİLİ (Devam) Başlarken IDE lerde yazım işlemini kolaylaştıracak vurgulamalar, uyarılar ve yardım menüleri mevcuttur. Derleyici ve Bağlayıcı parametreleri menülerden ayarlanabilir. Her yazılım dilinin kendi IDE si mevcuttur 102

103 İlk Program: C de Programlamayı öğrenmeye başlarken sıkça kullanılan bir ifade olan Merhaba C yi ekrana yazdıran bir mini örnek programla başlayalım: main() { C PROGRAMLAMA DİLİ (Devam) Başlarken printf( Merhaba C\n ) ; } Not: Daha evvel de belirtildiği gibi yukarıdaki printf() fonksiyonunun çalışabilmesi için main() den önce #include <stdio.h> kütüphane başlık dosyasının eklenmesi gerekir. Dersimizdeki örneklerde bu dosya eklenmeyecektir; ancak bilgisayarda derleme yapmadan önce programda kullanılan fonksiyonlara göre bu ve benzer dosya/dosyaların ilâve edilmesi şarttır. 103

104 C PROGRAMLAMA DİLİ (Devam) Başlarken Bu programın Ekran Çıktısı; Merhaba C şeklinde olur. Not: main İngilizcede ana, asıl anlamındadır. printf() ekrana yazdırmak için kullanılan bir fonksiyondur. 104

105 C PROGRAMLAMA DİLİ (Devam) Başlarken Her komuttan (fonksiyondan/deyimden) sonra ; işareti konulması şarttır. \n Merhaba C ifadesinden sonra satır atlatır. { ve } küme parantezleridir. main() fonksiyonu fonksiyonları/deyimleri bunların içine yazılır. 105

106 C PROGRAMLAMA DİLİ (Devam) Başlarken Bir C programı boyutu ne olursa olsun bir ya da daha fazla fonksiyon denilen bloktan oluşur. C Dilinde olmazsa olmaz fonksiyon (blok) main() fonksiyonudur (bloğudur *). Program her zaman bu main() adlı fonksiyondan çalışmaya başlar. Not: Bundan sonra blok yerine fonksiyon ifadesi kullanılacaktır. 106

107 C PROGRAMLAMA DİLİ (Devam) Başlarken Genelde fonksiyonun yanındaki parantez içinde parametreler (argümanlar) yer alır. Örn: printf( Merhaba C\n ) ; ifadesindeki Merhaba C\n gibi Not: main() fonksiyonunun herhangi bir parametresi olmadığından parantezi boştur. Parametre yoksa parantez içine void ifadesi de yazılabilir. 107

108 C PROGRAMLAMA DİLİ (Devam) Başlarken Fonksiyonlar arasında haberleşme ve (varsa)değerlerin aktarımı parametreler (argümanlar) maharetiyle gerçekleşir. Fonksiyonlar adı yazılan yerde çağrılır(çalışır). (Varsa) elde edilen sonuçlar kendisini çağıran fonksiyona gönderilir. 108

109 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu printf() FONKSİYONU printf( Merhaba C \n ); satırı (deyimi) adı printf çağırır. olan bir fonksiyon Not :printf() ekrana bir bilginin yazılmasını sağlayan bir kütüphane fonksiyonudur ve standart C arşivinin (kütüphanesinin) bir parçasıdır. 109

110 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu printf() fonksiyonu asla otomatik olarak yeni bir satıra geçiş sağlamaz. Aşağıdaki program önceki örnekteki ile aynı çıktıyı verecektir : main() { } printf( Merhaba ) ; printf( C ) ; printf( \n ) ; 110

111 Benzer şekilde \n \t \b \ C PROGRAMLAMA DİLİ (Devam) Bazı Kontrol Karakterleri satır atlattığı gibi tab için, geriye doğru silme (kürsörü bir karakter öne alma) işlemi için (Backspace), çift tırnağın kendisini yazdırmak için kullanılır. Bunlar görünmeyen kontrol karakterlerdir. Ekrandaki çıktıyı kontrol etmektedirler. 111

112 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Mesaj ile birlikte bir değişkenin değerini ekrana yazdırmak için yine printf() fonksiyonu kullanılabilir. İlk örnek Merhaba C de olduğu gibi sadece mesaj ve değişkenin biçimi çift tırnak içine alınarak belirtilir. 112

113 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu printf() fonksiyonu ile hem mesaj hem de değişken değeri birlikte yazılabilir. Örnek: Ekranda sonuc adlı desimal bir değişken yazdırılacaktır. Bunun için önce sonuc= ifadesi, bu ifadenin hemen yanına bu değişkenin değeri yazılacaktır. Değişken değerinden sonra dir. eklenecektir. Gerekli printf() deyimini (komutunu) yazınız. 113

114 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Cevap: printf( sonuc= %d dir.,sonuc); Not: Yukarıdaki printf() fonksiyonu ile sonuc adlı değişkenin değeri sonuc= ifadesinin yanına (%d nin yerine) yazılmakta sonra da dir. eklenmektedir. 114

115 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Burada %d, değerin desimal olarak yazılacağını belirtir. Ekranda sonuc değişkeninin değeri komuttaki %d nin yerine yazılır. Bu durumda Ekran Çıktısı, (sonuc değeri 25 olsun) sonuc=25 dir. şeklinde olur. 115

116 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Örnek: Daha önce hesaplanmış m değişkeni Sayi= ve n değişkeni Karekoku= ifadelerinden sonra ekrana yazdırılmak istenmektedir. m değişkeni desimal (tam sayı), n değişkeni ondalıklı (virgüllü) sayı olacaktır. Tek bir printf() ifadesini ve Ekran Çıktısını yazınız. Not: Ondalıklı sayı için %f kontrol karakteri kullanılır. 116

117 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Cevap: printf( Sayi= %d Karekoku=%f,m,n); şeklinde olabilir. Ekran Çıktısı : ( m=5 ve n= değişken değerleri girildiği durumda) Sayi= 5 Karekoku=

118 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu Yukarıda görüldüğü gibi %d, %f vb. gibi yazdırma kontrol karakterleri dışındaki çift tırnak içindeki karakterler çıkışta aynen yazılır. Parantezde kaç değişken varsa o kadar kontrol karakteri olmalıdır. (Örnekte: m ve n için %d ve %f ) Not : Eğer kesirli olan (n) değişkeni için kontrol karakteri olarak %f yazılmayıp %d şeklinde yazılsaydı sayısı yerine çıktıda sadece 2 (tam sayı kısmı) olarak görülecekti. 118

119 C PROGRAMLAMA DİLİ (Devam) printf() fonksiyonu printf() komutu içinde yaygın olarak kullanılan bazı yazdırma kontrol karakterleri şöyledir: %c : tek karakter [ örn: M ] %d : desimal (tam sayı) [ örn: -326] %u : işaretsiz desimal [ örn: 476] (Sadece pozitif sayılar) %f : ondalık kayan nokta [ örn: ] %e : bilimsel (üslü) gösterim [ örn: e+002] %x : heksadesimal [ örn: 3F ] %s : karakter katarı [ örn: ADRES ] 119

120 C PROGRAMLAMA DİLİ (Devam) scanf() fonksiyonu scanf() FONKSİYONU: Klavyeden değer okumak için scanf() adlı yine bir standart kütüphane fonksiyonu kullanılabilir. Bu fonksiyonda da benzer kontrol karakterleri vardır ve okunacak değerin tipini belirler. printf() e benzer şekilde %d tam sayı, %f kesirli (virgüllü) sayı okunacağını ifade eder. 120

121 C PROGRAMLAMA DİLİ (Devam) scanf() fonksiyonu Mesela iki scanf() fonksiyonu ile önce a değişkenine bir tam, sonra b değişkenine bir kesirli sayı okunacaksa; scanf ( %d, &a); scanf ( %f, &b); Not: Burada a veya b adlı değişkenlerin. yazılabilir hafızadaki değerleri (içeriği) anlamında başlarına & karakteri gelmektedir. 121

122 C PROGRAMLAMA DİLİ (Devam) scanf() fonksiyonu Eğer X ve Y adlı iki desimal değişkeni aynı scanf() fonksiyonunda okumak istersek, aşağıdaki gibi iki farklı şekilde yazabiliriz. İki komut arasındaki fark ilk %d den sonraki virgüldür. (Kullanıcı tarafından klavyeden girilen sayılar 12 ve 567 olsun) scanf( %d,%d, &X, &Y); scanf( %d %d, &X, &Y); /* Sayılar arasına virgül konarak giriş yapılır. Yani klavyede 12,567 yazılır */ /* Sayılar arasına boşluk konarak giriş yapılır. Yani klavyede yazılır */ 122

123 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Şimdiye kadar öğrendiklerimizi uygulamak için Örnek : main() fonksiyonu içinde iki tam sayıyı toplayıp ortalamasını alarak ekrana yazdıran bir C programı yazınız. 123

124 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu main() { int a,b,top ; /* a ve b toplanacak tam sayilar, top ise toplam degiskeni */ float ort ; /* ortalama degiskeni ort ve tipi kesirli (virgüllü) */ printf( iki sayı giriniz: ) ; /* ekrana iki sayı giriniz: mesaji yaziliyor*/ scanf( %d,%d,&a,&b); /* a ve b tam sayı olarak klavyeden okuyacak */ top= a+b ; /* a ve b toplanip top degiskenine aktariliyor*/ ort = top/2.0 ; /* ortalama alinip ort degiskenine aktariliyor */ printf ( ortalama= %f dir.,ort) ; /* ort degeri yaziliyor */ } /* Bu karakterler arasına açıklama yazılabilir */ 124

125 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Ekran Girişi ve Çıktısı ise ( a= 5 ve b= 4 olduğu kabul edilsin, Giriş sayıların arasına virgül konarak kullanıcı tarafından klavyeden yapılıyor) iki sayı giriniz: 5,4 ( ortalama= Not: Çıktıda Float tipi sonuç olduğundan noktadan sonra 6 basamak yazıldı.(12 basamak veren derleyiciler de vardır) 125

126 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Örnek: Tamsayı olarak verilen X ve Y nin farkını (X-Y) hesaplayıp SAYILARIN FARKI= fonk. yazınız. ifadesinden sonra yazdıran main() main() { /* Bu main fonksiyonu X ve Y nin farkini hesaplar*/ int X,Y,fark ; /* X, Y, fark tam sayi */ printf ( iki sayı giriniz: ) ; /* Ekrana iki sayı giriniz: mesaji yazilsin */ scanf ( %d,%d,&x,&y) ; /* X ve Y klavyeden okunacak */ fark= X-Y ; /* X ve Y cikarilip fark degiskenine aktariliyor*/ printf ( SAYILARIN FARKI= %d, fark) ; /* cikis yaziliyor */ } 126

127 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Ekran Girişi ve çıktısı olarak ( X=25 ve Y=13 olduğu kabul edilirse ) iki sayı giriniz: 25, 13 SAYILARIN FARKI=

128 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Örnek: Klavyeden girilen, kesirli sayı olan yarıçap (R) ile dairenin alanı ve çevresini hesaplayarak ekrana yazdıran bir main() fonk. yazınız. ( = 3.14 alınacaktır) 128

129 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu main () { float R,S,C ; /* R: Yaricap S: Alan C: Cevre olsun*/ printf( Yaricapi Giriniz: ); /* Yaricapi Giriniz: yaz*/ scanf ( %f, &R); /* Yaricapi R degiskenine oku*/ S= 3.14 * R * R ; /* Alani hesapla*/ C = 2 * 3.14 * R ; printf ( Dairenin Alani= %f\n, S); printf ( Dairenin Cevresi= %f, C); } /* Bu ornek main fonk. Dairenin alani ve Cevresini hesaplar*/ /* Cevreyi hesapla*/ /* Alani ekrana yazdir*/ /* Cevreyi yazdir*/ 129

130 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Programın Ekran Girişi ve Çıktısı: (Dairenin Yarıçapı = 5.2 kullanıcı tarafından girilmiş olsun) Yarıcapi Giriniz: 5.2 Dairenin Alani= Dairenin Cevresi=

131 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Örnek: Tabanı (a) ve yüksekliği (h) olup virgüllü sayı olarak verilen bir üçgenin alanını hesaplayıp yazdıran main() fonk. yazınız. main() { /* Bu main fonksiyonu ücgenin alanini hesaplar*/ float a,h,alan; /* a: taban, h: yukseklik ve alan olsun */ printf ( Taban ve yuksekligi giriniz: ) ; /* kenarlari girin mesaji */ scanf ( %f,%f,&a,&h); /* a ve h klavyeden okunacak */ alan = a*h/2.0; /* alan hesaplanip alan adli degiskene aktariliyor */ printf ( Ucgenin Alani= %f,alan) ; /* cikis yaziliyor */ } 131

132 C PROGRAMLAMA DİLİ (Devam) main() fonksiyonu Ekran Girişi ve çıktısı: (Üçgende a=5.5 ve h=4.6 olarak klavyeden girildi ise ) Taban ve yuksekligi giriniz: 5.5, 4.6 Ucgenin Alani= dir. 132

133 SABİTLER: C PROGRAMLAMA DİLİ (Devam) Sabitler Programın yürütülmesi sırasında değerleri değişmez. Sabitler genelde sayısal ve alfasayısal olurlar Sabitler üzerlerinde aritmetik işlem yapılarak değiştirilemezler Sayısal sabit örn : 3.45 Alfasayısal sabit örn: 34MYO Alfasayısal sabitler tırnak içerisinde verilir. Alfasayısal sabit tek karakter ise tek tırnak, birden fazla karakter ise çift tırnak içinde verilir.

134 C PROGRAMLAMA DİLİ (Devam) Sabitler Sabit tanımlanırken program boyunca değişmeyeceğini belirtmek için sabit tipinin başına const ibaresi konulmalıdır. Meselâ: const int a= - 45; /* a adli ve degeri - 45 olan sabit (tam) sayi demektir, bu tanımdan sonra programda a yazılırsa (- 45) anlamına gelir */ const float b= ; /* b adli kesirli bir sabit sayi */ const char ch = A ; /* ch adli karsiligi A olan sabit karakter */

135 DEĞİŞKENLER: C PROGRAMLAMA DİLİ (Devam) Değişkenler Değişkenler hafızada saklanan ve program boyunca değeri değişebilen simgesel isimlerdir. C'de temel olarak (sabitlere benzer) Sayısal ve Alfasayısal değişken türleri bulunmaktadır. Değişkenler içlerine uygun nesneler konan farklı tipte kutular olarak düşünülebilir. Her nesne her kutuya konamaz. Mesela ondalık bir sayı, (int) tipi kutuya konmaz. Konursa veri kayıpları oluşabilir.

136 Değişken tipleri uzunluklarına göre de değişir. En yaygın olanlar: int C PROGRAMLAMA DİLİ (Devam) Değişkenler : Hafızada 2 bayt (16 bit) veya 4 bayt(32 bit) yer tutan tam sayı için kullanılır. (Derleyiciye göre farklı iki durum vardır!) short int : int tipinin yarısı uzunlukta 1 ya da 2 bayt sayı long int : int tipinin iki katı uzunlukta 4 ya da 8 bayt sayı float : Tek hassasiyetli kesirli sayı (virgülden sonra 6 basamak) double : Çift hassasiyetli kesirli sayı (virgülden sonra 12 basamak) char : Tek yada daha fazla karakter saklar. (Hafızada her karakter 1 bayt yer tutar)

137 C PROGRAMLAMA DİLİ (Devam) Değişkenler Bazı değişken tanımlama örnekleri şöyle olabilir: int x=69,y,z; /* x in başlangıç degeri 69 olsun */ short int say; /* say adlı değişken 1 bayt (8 bit) */ long int sonuc; /* sonuc adlı değişken 4 bayt (32 bit) */ float pi; /* pi adlı kesirli bir değişken */ double e= ; /* e adlı çift hassasiyetli kesirli sayı değişkeni başlangıç değeri ile tanımlanmıştır */ char sehir[15] ; /* sehir adli 15 uzunluklu karakter */

138 Değişkenler tanımlanırken birden fazla olacak ise virgül ile ayrılmalıdırlar. Her ifade/deyim gibi değişken tanımının sonuna noktalı virgül konulması zorunludur. Değişkenlerin hafızada karşılıkları vardır. Bir Değişkenin hafızadaki karşılığı genellikle Tam sayı Kesirli sayı Karakter C PROGRAMLAMA DİLİ (Devam) Değişkenler olabilir

139 C PROGRAMLAMA DİLİ (Devam) Değişkenler Tam sayı değişkeni tanımlamak için Örn: int a,b,c ; /* 3 tam sayı değişken tanımlanıyor */ [ Burada a,b,c ( gibi ) değerler alabilir, ama kesirli sayı olmaz)]

140 Bu değişkenlere başlangıç değeri de verilebilir. Örnek olarak kısa bir main() fonksiyonunda a isimli bir tam sayı değişkeni tanımlayalım ve program içinde bu değişkene 10 başlangıç değeri verip a nin degeri= ifadesinden sonra çıktı olarak yazdırarak bir satır atlatalım: main() { C PROGRAMLAMA DİLİ (Devam) Değişkenler } int a=10 ; printf ( a nin degeri= %d\n,a) ;

141 C PROGRAMLAMA DİLİ (Devam) Değişkenler Kesirli (ondalıklı) sayı değişkeni tanımlamak için Mesela float f= ; /* Başlangic değeri verilmiş f adli ondalıklı değişken */ Float tipinde bir değişken aşağıdaki gibi değerler alabilir: E9 ( üslü sayıdır : -5, ) Bu sayıları bir int değişkenine eşitlersek sadece tam kısmını alırız. (8.7 yerine 8 alınır.)

142 Örnek olarak main() fonksiyonu içinde bir a değişkenine kesirli bir sayı değeri verelim ve bunu a nin degeri= ifadesinden sonra 2 basamak tam kısmı, 3 basamak kesirli kısmı olacak şekilde çıktı olarak yazalım. main () { C PROGRAMLAMA DİLİ (Devam) Değişkenler } float a ; a= ; printf ( a nin degeri= %2.3f,a) ; Ekran Çıktısı: a nin degeri= olacaktır.

143 Tam sayı ve Float Değişken Tiplerinin Beraber Kullanımı Bir float değişkenine int tipi değişken eşitlenirse, C otomatikman bu değeri float tipine çevirir. Mesela main() { C PROGRAMLAMA DİLİ (Devam) Değişkenler } float a ; int b=10 ; a=b ; printf ( a nin degeri= %f,a); Ekran Çıktısı a nin degeri= şeklinde elde edilir.

144 Karakter Tanımlamak için Aşağıda Ch adlı bir karakter değişkeni tanımlanmıştır char Ch ; C PROGRAMLAMA DİLİ (Devam) Değişkenler Değişken tanımlanırken de başlangıç değeri verilebilir char Ch= H /* Başlangıç değeri H olsun */ Karakter uzunluğu birden farklıysa değişken adının yanında bu değer de yazılır. char isim[28]; /* isim adlı uzunluğu 28 olan bir karakter değişkeni tanımladık */

145 C PROGRAMLAMA DİLİ (Devam) Değişkenler Bu defa, a adlı bir karakter değişkenine klavyeden girilen bir harfi yerleştirerek bu değerin karakter tipinde a nin degeri= ifadesinden sonra yazdırıp bir satır atlamayı sağlayan programı main() içinde yazalım. main () { char a ; } printf ( Harfi Girin: ); scanf( %c, &a); printf ( a nin degeri= %c\n,a); Ekran Çıktısı: (Klavyeden z harfi girildiyse ) a nin degeri= z şeklinde elde edilir.

146 Bir başka tip tanımlaması da sayının işaretsiz olduğunu belirtir. Bunun için unsigned C PROGRAMLAMA DİLİ (Devam) İşaretsiz Değişkenler unsigned int sayi ; kelimesi kullanılır. Mesela; sayi adlı değişkenin tam sayı türünde olduğu, sadece pozitif sayı olacağı anlaşılır. Böylece çalışma alanı (int 16 bit kabul edilirse) sayı 0 ile aralığında olur. (2 16 = ; sıfır dahil!)

147 C PROGRAMLAMA DİLİ (Devam) İşaretsiz Değişkenler unsigned int sayi ; /* sayi adlı sadece pozitif 16 bit*/ unsigned long sayi ; /* sayi adlı sadece pozitif 32 bit */ unsigned (işaretsiz) ifadesi olmasaydı çalışma aralığı olacaktı. Yani sayi işaretli olacak ve hem pozitif hem negatif değerler alabilecekti. NOT: Mikrodenetleyiciler dersindeki pozitif (+) ve negatif (-) değerler alabilen işaretli sayıları hatırlayınız.

148 C PROGRAMLAMA DİLİ (Devam) Değişkenler Sık kullanılan Değişken Türlerini bir Tablo halinde Özet olarak tekrar verirsek

149 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar C FONKSİYONLARI İyi tasarlanmış bir program, büyük bir programı parçalara (fonksiyonlara) böler. Fonksiyon belli bir işi yapan program parçasıdır. main() de bir fonksiyondur. Ancak daha önce belirtildiği gibi olmazsa olmazdır ve program her zaman buradan çalışmaya başlar.

150 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Fonksiyonlar değer (parametre) kullanarak ya da kullanmadan çalışırlar. Bir fonksiyon yazılıp hatalardan arındırıldıktan sonra başka programlarda da kullanılabilir. Kütüphane fonksiyonları da birer hazır fonksiyondur, daha önce yazılıp yerleştirilmişlerdir ve derleme sırasında kullanılırlar.

151 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Bir değer alıp işlem yapan ama kendisi bir değer vermeyen (üretmeyen) bir fonksiyon olarak printf("merhaba, Dunya"); örnek olarak verilebilir. Burada printf() fonksiyonuna, Merhaba, Dunya değer olarak girmekte ancak kendisi bir değer üretip başka fonksiyona göndermemektedir. printf() sadece ekrana çıktı yazmaktadır.

152 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Standart C de çok sayıda (farklı başlık dosyalarıyla kullanılan) hazır kütüphane fonksiyonları bulunmakla birlikte şimdilik birkaç örneği inceleyelim. Aşağıdaki örnek kütüphane fonksiyonu, büyük harfle yazılmış bir karakteri küçük harfe çevirmektedir.

153 tolower() Fonksiyonu Bu fonksiyona parantez içinde parametre olarak büyük harf girer ve küçük harf şeklinde bir değer üretir. Örnek: C PROGRAMLAMA DİLİ (Devam) tolower() Fonksiyonu main() fonk. içinde klavyeden girilenbüyük bir karakteri tolower() fonksiyonu kullanarak küçük karaktere dönüştürüp yazdıran bir main() fonksiyonu yazınız.

154 C PROGRAMLAMA DİLİ (Devam) tolower() Fonksiyonu main() { char a,b; printf("bir buyuk harf girin:"); scanf("%c",&b); a=tolower(b); printf("%c nin Kucugu:%c",b,a); } Ekran Çıktısı: (K harfi girildiği kabul edilirse) K nin kucugu:k elde edilecektir. Not: Tersine küçük karakteri büyük karaktere dönüştürmek için benzer şekilde toupper() fonksiyonu kullanılabilir.

155 C PROGRAMLAMA DİLİ (Devam) abs() Fonksiyonu abs() Fonksiyonu (Mutlak değer alır) Örnek: Klavyeden girilen bir Negatif sayının mutlak değerini main() içinde yazdırınız main() { int a,b; printf("bir negatif tam sayi Girin:"); scanf("%d",&a); b=abs(a); printf("%d sayisinin mutlak degeri:%d dir.",a,b); } Ekran Çıktısı (( -58 girilirse) sayisinin mutlak degeri:58 dir.

156 C PROGRAMLAMA DİLİ (Devam) strcpy() Fonksiyonu strcpy() Fonksiyonu (Karakter katarını bir değişkene kopyalar) Örnek: 18 karakterli bir ifadeyi ch adlı değişkene aktardıktan sonra ekrana yazdıran programı main() fonksiyonu içinde yazınız main() { char ch[19]; strcpy(ch,"merhaba,nasilsiniz"); printf("%s\n",ch); } Ekran Çıktısı: MERHABA,NASILSINIZ

157 C PROGRAMLAMA DİLİ (Devam) floor() Fonksiyonu floor() Fonksiyonu (Kesirli bir sayıyı bir alt tam sayıya yuvarlar) Örnek: Kesirli olarak klavyeden girilen sayıyı bir alt tam sayıya yuvarlayan main() fonksiyonunu yazınız. main() { float s; int a; scanf(" %f", &s); a=floor(s); printf("asagi Yuvarlanmıs Sayi:%d",a); }

158 Komut getchar() getche() getch() gets() putchar() puts() C PROGRAMLAMA DİLİ (Devam) Formatsız Giriş ve Çıkış Komutları İşlem Klavyeden bir karakter okur ve ENTER e basılmasını bekler Klavyeden bir karakter okur ve ENTER e basılmaksızın karakteri değişkene aktarır. Karakter ekrana yazılır. Klavyeden bir karakter okur ve ENTER e basılmaksızın karakteri değişkene aktarır.karakter ekrana yazılmaz. Klavyeden girilen karakter katarını bir değişkene aktarır. Ekrana bir karakter yazar. Bir karakter katarını ekrana yazar.

159 C PROGRAMLAMA DİLİ (Devam) Formatsız Giriş ve Çıkış Komutları Örnek: Girilen bir cümleyi bir karakter değişkenine aktardıktan sonra bir tuşa basılmasını bekleyen ve ekrana yazan bir main() fonk. yazın. main() { } char str[80]; printf("bir cumle yazin:"); gets(str); printf("bir tusa basin...\n"); puts(str); getch(); //Program bir tuşa basınca sonlanır

160 C PROGRAMLAMA DİLİ (Devam) Formatsız Giriş ve Çıkış Komutları Örnek: Girilen bir karakteri bir değişkene aktardıktan sonra bir satır atlayıp ekrana yazan bir main() fonk. yazın. main() { } char ch; printf("bir harf yazin:"); ch=getchar(); printf("\n"); putchar(ch);

161 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Fonksiyonlar sadece main() ya da kütüphane fonksiyonlarından ibaret değildir. Genellikle pek çok işlem programcı tarafından yazılan çeşitli fonksiyonlarca yapılır Ve ürettiği değerler main() fonksiyonuna gönderilir.

162 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Mesela programcı tarafından ismi top() olan bir toplama fonksiyonu yazılarak toplama işlemini yapılabilir ve sonuc (toplam) main() fonksiyonuna gönderilebilir. Aşağıda bir fonksiyonun genel yapısı ve çeşitli örnekler incelenecektir.

163 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Genel olarak bir Fonksiyonun Yapısı: fonksiyontipi fonksiyonadi (arguman listesi ) argumanların tip bildirimi; { fonksiyona ait (yerel) değişkenlerin bildirimi.. fonksiyon içindeki deyimler ve diğer fonksiyonlar.. } 163

164 C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar Yazacağımız fonksiyona yaptığı işle ilgili bir ad verilir. topla(), carp(), ara(), gibi Bu ad C dilinde kullanılan anahtar kelimeler (return, printf, scanf vb) olamaz. fonksiyontipi ise fonksiyon görevini yaptıktan sonra çağrıldığı yere göndereceği sonucun (değerin) ne tip (tam sayı [int], kesirli sayı [float] vb.) olacağını belirtir. 164

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz Bölüm 1-2 ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2015-2016 Güz Bölüm 1-2 1 PROBLEM ÇÖZME ve ALGORİTMALAR Bir problemi çözmek için yapılacak işlemler en genel şekilde

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

ALGORİTMA VE PROGRAMLAMA (Bölüm 3) ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR) ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2015-2016 Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR) 1 PROBLEM ÇÖZME ve ALGORİTMALAR Bir problemi çözmek için yapılacak

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 1)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) PROBLEM ÇÖZME ve ALGORİTMALAR ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2017-2018 Güz (Bölüm 1 2) Bir problemi çözmek için yapılacak işlemler en genel şekilde

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma 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. Algoritma bir sorunun çözümü

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

ALGORİTMA VE PROGRAMLAMA (Bölüm 3) ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

ALGORİTMA VE PROGRAMLAMA (Bölüm 3) ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin

Detaylı

2. BÖLÜM. Problem Çözme ve Algoritmalar

2. BÖLÜM. Problem Çözme ve Algoritmalar 2. BÖLÜM Problem Çözme ve Algoritmalar Problem Çözme Problem Çözme Tekniği (Descartes e göre): 1. Doğruluğu kesin olarak kanıtlanmadıkça, hiçbir şeyi doğru olarak kabul etmeyin; tahmin ve önyargılardan

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ. Yrd.Doç.Dr. Emel ARSLAN BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr Problem Çözme ve Algoritmalar Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr Problem C o zme Problem Çözme Tekniği

Detaylı

İÇ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

İÇ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 İÇ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 UYGULAMA Örnek: Yandaki algoritmada; klavyeden 3 sayı

Detaylı

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

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

İÇ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

İÇ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 İÇ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 BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3)

ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3) ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3) 1 BĠLGĠSAYARDA ĠġLEMLER Algoritma (Psedo Kod ve AkıĢ Diyagramı) konusuna daha fazla devam etmeden önce Bilgisayar programları ile gerçekleģtirilen iģlemlere genel olarak

Detaylı

BÖLÜM 2: ALGORİTMALAR

BÖLÜM 2: ALGORİTMALAR BÖLÜM 2: ALGORİTMALAR Algoritma bir problemin çözümünde (işlemin gerçekleşmesinde) izlenen adımlar dizisi olup, problemi çözmek için yürütülecek eylemlerin ve bu eylemlerin sırasını belirten bir talimattır,

Detaylı

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

Bilgisayar II Dersi. Bölüm-2

Bilgisayar II Dersi. Bölüm-2 Bilgisayar II Dersi Bölüm-2 Bilgisayar dünyasında, insanın yaşamı boyunca yaptığı plan kavramına eşdeğer algoritma kavramı vardır. Bilgisayardaki işlemin/işlemlerin gerçekleştirilmesinde izlenecek adımlara

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Temel Giriş/Çıkış Fonksiyonları

Temel Giriş/Çıkış Fonksiyonları Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

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

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.) PROGRAM YAZMAK SÜRECİ 1. Problemin farkına varmak, 2. Problemi analiz etmek, 3. Çözüm yolları düşünmek, 4. İyi çözüm yolları seçip algoritma oluşturmak, 5. Akış diyagramı çizmek, 6. Uygun bir dilde kodlamak,

Detaylı

Genel Programlama I

Genel Programlama I Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ. KBÜ KARABÜK ÜNİVERSİTESİ TBP101 Programlama Temelleri «A LG O R İ T M A G E L İ Ş T İ R M E» Öğr. Gör. Dr. Abdullah ELEN Karabük Üniversitesi T.O.B.B. Teknik Bilimler Meslek Yüksekokulu Demir Çelik Kampüsü

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

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

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

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

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) Algoritma Geliştirme ve Akış Diyagramları BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI Analiz Algoritma Geliştirilmesi

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

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

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

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

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

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

Detaylı

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

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

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

Ö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.

Ö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. Ö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. Çözüm 1: 1. Evden dışarıya çık 2. Otobüs durağına yürü 3. Durakta

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

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

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. ÖDEV (Vize Dönemi) CEVAPLAR 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. PROGRAM Soru1 PRINT Merhaba Dünya! ; 2. Klavyeden girilen negatif bir sayıyı

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programlamaya Giriş Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programın Yazımında İzleyeceğimiz Adımlar Problemi anla. İhtiyaçları belirle. Problemin

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

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

Algoritmik Program Tasarımı, Akış Şemaları ve Programlama. Bilgisayar Mühendisliğine Giriş 1 Algoritmik Program Tasarımı, Akış Şemaları ve Programlama Bilgisayar Mühendisliğine Giriş 1 I) Algoritmik Program Tasarımı, Akış Şemaları Algoritmik program tasarımı, verilen bir problemin bilgisayar ortamında

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAM Bilgisayar en basit olarak üç ana görevi yerine getiren bir makinedir. Girilen bilgiyi alır (INPUT), işler (PROCESSING) ve bu işlenmiş veriden bir sonuç (OUTPUT)

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Ders Bilgileri Dersin Hocası: Araş. Gör. Ahmet Ardahanlı E-posta: ahmet.ardahanli@hotmail.com Oda: DZ-33

Detaylı

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

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK Giriş-Tanımlamalar Program Nedir? Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir. Programlama Nedir? Tanımlanmış

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

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

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

Bölüm 2 - C ile Programlamaya Giriş

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

Bilgisayar Programlama. Giriş

Bilgisayar Programlama. Giriş Bilgisayar Programlama Giriş Bilgisayar, verileri saklayan, bunlar üzerinde çok hızlı işlem yapan ve istenen verileri sunan bir aygıttır. Donanım (hardware) ve yazılım(software) diye iki bölüme ayrlır.

Detaylı

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

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Algoritma Geliştirme ve Programlama Giriş Yazar: Dr. Fahri VATANSEVER Konularla ilgili

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile

Detaylı

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI Bu bölümde, C programlama dilinde kullanılan temel giriş ve çıkış fonksiyonları ele alınacaktır. C programlama dilinde default (varsayılan) giriş cihazı klavye

Detaylı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

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

C PROGRAMLAMA DİLİNE GİRİŞ C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

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

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017 Programlama Temelleri Ders notları Öğr.Gör. Hüseyin Bilal MACİT 2017 Yazılımın yaşam döngüsü Algoritma sözcüğü; adını Ebu Abdullah Muhammed İbn Musa El Harezmi adındaki Müslüman Türk aliminden almıştır.

Detaylı

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir. 1 ALGORİTMAYA GİRİŞ Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir. Programlama: Bir programı oluşturabilmek için gerekli komutların belirlenmesi ve uygun biçimde

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

C++ Operatörler (Operators)

C++ Operatörler (Operators) C++ Operatörler (Operators) Konular Operatörler o Aritmetiksel (Matematiksel) Operatörler o Karşılaştırma Operatörleri o Mantıksal Operatörler o Atama Operatörleri o Bit Düzeyinde Operatörler o Özel Amaçlı

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

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.

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. 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. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) 1. HAFTA KARAKTER Karakterler, programlarda kullanılan temel simgelerdir. Her karakterin ASCII kod tablosunda bir tamsayı değer karşılığı vardır ve C programlama

Detaylı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü Final Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :09.01.2013, 60 dak. Dikkat!!! Soru kitapçığında ve

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Ders 4: Temel Giriş/Çıkış Fonksiyonları

Ders 4: Temel Giriş/Çıkış Fonksiyonları Ders 4: Temel Giriş/Çıkış Fonksiyonları Giriş Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I KONTROL YAPILARI TEKRARLAMA DEYİMLERİ = DÖNGÜLER (while, for, do-while) Şimdiye kadar, sıralı deyimleri ve seçim deyimlerini gördük. Ama, geldiğimiz aşamada, aşağıdaki

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

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

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. Algoritmalar Kısaca algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Geniş anlamda ise algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların

Detaylı

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

Detaylı

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir.

Algoritma. 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir. Algoritma 19. yüzyılda Persli matematikçi Al- Khowarizmi (Al-Harezmi) tarafından bulunmuş ve onun adında türetilmiştir. Algoritma Problem çözmek için geliştirilen Adım adım çözüm yöntemidir. Verilen bir

Detaylı

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler. Giriş Döngüler - Loops Bir ifade kümesinin tekrarlanması, yani birden fazla çalıştırılması işlemine döngü (loop) dendiğiğ programlamaya giriş ş kısmında belirtilmişti. Bu derste döngülerin C programlama

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

Döngü ve Koşul Deyimleri

Döngü ve Koşul Deyimleri Döngü ve Koşul Deyimleri Programlar üç temel blok kullanılarak gerçekleştirilebilirler. art arda, bir koşula bağlı olarak ve sonlu sayıda yineleme (döngü) dir Koşul Deyimleri Birkaç seçenekten birini seçmek

Detaylı

Hafta 4 Döngü Yapıları

Hafta 4 Döngü Yapıları BLM111 Programlama Dilleri I Hafta 4 Döngü Yapıları Yrd. Doç. Dr. Caner ÖZCAN Akış Diyagramı Akış Diyagramı Örnek - Tekrar Katsayıları klavyeden girilen ikinci derece denklemin köklerini hesaplayan algoritmanın

Detaylı