31
1 BİL-142 Bilgisayar Programlama II (C/C++) (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if Seçme Deyimi if ... else Seçme Deyimi while Tekrar Deyimi Sayaç Kontrollü Tekrar Sentinel Kontrollü Tekrar İ i K t l D i l i İçiçe Kontrol Deyimleri for Tekrar Deyimi do ... while Tekrar Deyimi switch Çoklu Seçim Deyimi break ve continue Deyimleri

BİL-142 Bilgisayar Programlama II (C/C++)

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BİL-142 Bilgisayar Programlama II (C/C++)

1

BİL-142 Bilgisayar Programlama II (C/C++)(C/C++)

Hazırlayan: M.Ali AkcayolGazi Üniversitesi

Bilgisayar Mühendisliği Bölümü

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 2: BİL-142 Bilgisayar Programlama II (C/C++)

2

Giriş

Bir problem çözümü için program yazarken hangi yapıların kullanılacağının planlanması gerekir.Hangi kontrol yapılarının kullanılacağı ve hangiHangi kontrol yapılarının kullanılacağı ve hangi sırada kullanılacağı program geliştirirken belirlenmelidir.Program geliştirirken önce algoritma oluşturulması, sonra kabakod (pseudo code) olarak yazılması ve daha sonra uygun yapıların kullanılarak geliştirilmesi

3

daha sonra uygun yapıların kullanılarak geliştirilmesi doğrudur.

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 3: BİL-142 Bilgisayar Programlama II (C/C++)

3

Kontrol Yapıları

Programlarda deyimler sıralı olarak çalışır (sequential execution).Programlardaki bazı komutlar çalışma sırasınıProgramlardaki bazı komutlar çalışma sırasını değiştir (transfer of control).C++ programlama dili seçme deyimlerine (if, if ...else, switch) ve tekrar deyimlerine (while, for, do ... while) sahiptir.

5

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 4: BİL-142 Bilgisayar Programlama II (C/C++)

4

if Seçme Deyimi

if seçme verilen şartın doğruluğuna bağlı olarak belirlenen bloğun çalışmasını sağlar.

Çalıştırmak istenilen birden fazla deyim varsa block içinde { ... } ifade edilebilir.

7

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 5: BİL-142 Bilgisayar Programlama II (C/C++)

5

if ... else Seçme Deyimi

if ... else seçme deyimi verilen şartın doğruluğuna ve yanlışlığına bağlı olarak belirlenen iki ayrı bloğun çalışmasını sağlar.çalışmasını sağlar.

Çalıştırmak istenilen birden fazla deyim varsa, her iki d i i d bl k i i d { } if d dil bili

9

durum içinde block içinde { } ifade edilebilir.Aşağıdaki yazım şeklide aynı işi yapar.

if ... else Seçme Deyimi

İçiçe if ... else deyimleriBirden fazla if ... else seçme deyimi birlikte kullanılabilir.

else ifadesi y <= 5 ise çalışır ve x > 5 olsa bile “x is <= 5” mesajı yazılır.Bu şekilde kullanımlarda parantez { } kullanılabilir.

10

Page 6: BİL-142 Bilgisayar Programlama II (C/C++)

6

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

while Tekrar Deyimi

while tekrar deyimi verilen şart doğru olduğu sürece belirlenen işlerin tekrar edilmesini sağlar.

Burada 100 sayaç olarak adlandırılır ve tekrar

12

işleminin sayısını gösterir.Birden fazla deyim için blok { } oluşturulmalıdır.Şart kısmı ve (&&), veya(||) mantıksal ifadelerle genişletilebilir.

Page 7: BİL-142 Bilgisayar Programlama II (C/C++)

7

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Sayaç Kontrollü Tekrar

while tekrar deyimi verilen şart doğru olduğu sürece (sayaç değerine ulaşıncaya kadar) belirlenen işlerin tekrar edilmesini sağlar.tekrar edilmesini sağlar.Sayaç kontrollü tekrar işleminde kontrol değişkeninin başlangıç değerinin, döngü devam şartının ve sonuçlanma değerinin verilmesi gerekir.Her döngüde kontrol değişkeninin değerinin değiştirilmesi (artırılması azaltılması) gereklidir

14

değiştirilmesi (artırılması, azaltılması) gereklidir.

Page 8: BİL-142 Bilgisayar Programlama II (C/C++)

8

Sayaç Kontrollü Tekrar

15

Sayaç Kontrollü Tekrar

16

Page 9: BİL-142 Bilgisayar Programlama II (C/C++)

9

Sayaç Kontrollü Tekrar

17

Sayaç Kontrollü Tekrar

18

Page 10: BİL-142 Bilgisayar Programlama II (C/C++)

10

Sayaç Kontrollü Tekrar

19

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 11: BİL-142 Bilgisayar Programlama II (C/C++)

11

Sentinel Kontrollü Tekrar

while tekrar deyimi verilen şart doğru olduğu sürece belirlenen işlerin tekrar edilmesini sağlar.

21

Sentinel Kontrollü Tekrar

22

Page 12: BİL-142 Bilgisayar Programlama II (C/C++)

12

Sentinel Kontrollü Tekrar

23

Sentinel Kontrollü Tekrar

24

Page 13: BİL-142 Bilgisayar Programlama II (C/C++)

13

Sentinel Kontrollü Tekrar

25

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 14: BİL-142 Bilgisayar Programlama II (C/C++)

14

İçiçe Kontrol Deyimleri

Birden fazla kontrol deyimi birlikte ve içiçe kullanılabilir.

27

İçiçe Kontrol Deyimleri

28

Page 15: BİL-142 Bilgisayar Programlama II (C/C++)

15

İçiçe Kontrol Deyimleri

29

İçiçe Kontrol Deyimleri

30

Page 16: BİL-142 Bilgisayar Programlama II (C/C++)

16

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

for Tekrar Deyimi

Sayaç kontrollü tekrar işlemi yapar.Başlangıç durumu/durumları, döngü devam şartı/şartları ve her döngüde yapılacakşartı/şartları ve her döngüde yapılacak işlem/işlemler başlık kısmında verilir.Her döngüde yapılacak işlemler blok içerisinde yazılır.

32

Page 17: BİL-142 Bilgisayar Programlama II (C/C++)

17

for Tekrar Deyimi

Sayaç kontrollü tekrar işlemi for ve while deyimleriyle yapılabilir.

33

for Tekrar Deyimi

for deyimi içinde birden fazla başlangıç durumu, döngü devam şartı ve her döngüde yapılacak işlem tanımlanabilirtanımlanabilir.

34

Page 18: BİL-142 Bilgisayar Programlama II (C/C++)

18

for Tekrar Deyimi

Integer sayıların toplanması için örnek.

35

for Tekrar Deyimi

for için örnek.

36

Page 19: BİL-142 Bilgisayar Programlama II (C/C++)

19

for Tekrar Deyimi

for için örnek.

37

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 20: BİL-142 Bilgisayar Programlama II (C/C++)

20

do ... while Tekrar Deyimi

do ... while tekrar deyiminde şart kontrolü sonda yapılır.do while tekrar deyiminde döngü içindekido ... while tekrar deyiminde döngü içindeki deyimler en az bir kez çalışır.

39

do ... while Tekrar Deyimi

do ... while tekrar deyimi için örnek.

40

Page 21: BİL-142 Bilgisayar Programlama II (C/C++)

21

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

switch Çoklu Seçim Deyimi

switch çoklu seçim deyimi if deyimine benzer şekilde çalışır.Belirlenen şartlara göre bir veya birden fazla blokBelirlenen şartlara göre bir veya birden fazla blok çalıştırılır.Her blok sonunun break deyimiyle bitirilmesi gerekir.Hiçbir şartın olmaması durumu için default deyimi kullanılır.

42

Page 22: BİL-142 Bilgisayar Programlama II (C/C++)

22

switch Çoklu Seçim Deyimi

43

switch Çoklu Seçim Deyimi

44

Page 23: BİL-142 Bilgisayar Programlama II (C/C++)

23

switch Çoklu Seçim Deyimi

45

switch Çoklu Seçim Deyimi

46

Page 24: BİL-142 Bilgisayar Programlama II (C/C++)

24

switch Çoklu Seçim Deyimi

47

switch Çoklu Seçim Deyimi

48

Page 25: BİL-142 Bilgisayar Programlama II (C/C++)

25

switch Çoklu Seçim Deyimi

cin.get() deyimi klavyeden karakter alır ve integer değerini gradedeğişkenine aktarır.

49

EOF karakteri UNIX makineler için CTRL+D, Windows tabanlı makineler için CTRL+Z karakterini ifade eder.

switch Çoklu Seçim Deyimi

50

Page 26: BİL-142 Bilgisayar Programlama II (C/C++)

26

switch Çoklu Seçim Deyimi

51

Konular

GirişKontrol Yapılarıif Seçme Deyimiif Seçme Deyimiif ... else Seçme Deyimiwhile Tekrar DeyimiSayaç Kontrollü TekrarSentinel Kontrollü Tekrarİ i K t l D i l iİçiçe Kontrol Deyimlerifor Tekrar Deyimido ... while Tekrar Deyimiswitch Çoklu Seçim Deyimibreak ve continue Deyimleri

Page 27: BİL-142 Bilgisayar Programlama II (C/C++)

27

break ve continue Deyimleri

break deyimi, döngünün kalan iterasyonlarını yapmadan çıkar.

53

break ve continue Deyimleri

break deyimi ekran çıktısı.

54

Page 28: BİL-142 Bilgisayar Programlama II (C/C++)

28

break ve continue Deyimleri

continue deyimi, döngünün şimdiki iterasyonunun kalan kısmını atlar ve sonraki iterasyonla devam eder.d

55

break ve continue Deyimleri

continue deyimi ekran çıktısı.

56

Page 29: BİL-142 Bilgisayar Programlama II (C/C++)

29

ÖdevKlavyeden n adet öğrenciye ait numara, ad, soyad, vize, odev, katilim ve final notları tamsayi olarak girilecek.Veri girişi sonlandırıldıktan sonra ekrana aşağıdaki menü gelecek.Klavyeden 0 girilene kadar menü ekrana tekrar gelecek ve seçilen işlemin sonucunu ekrana yazacaktır.Her işlem sonucundan sonra ekran temizlenerek menü tekrar gelecektir. system(“CLS”); ile ekran temizlenebilir.Programda dizi kullanılmayacaktır. Tüm işlemler için bir sınıf oluşturulacaktır.

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması4- A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı

57

8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) :

Ortalama not hesaplamasında vize (%30), odev (%20), katilim (%10) ve final (%40) oranında alınacak.Harf notu için A = 90-100, B= 80-89, C = 70-79, D = 60-69 ve F = 0-59 alınacaktır.Öğrencilerden ortalaması en yüksek ve en düşük olanların numarası, adı ve soyadı, ortalama notunu ile harf notunu ekrana yazacaktır.

ÖdevÖrnek ekran çıktıları aşağıdadır.

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması3 Sınıf ortalaması4- A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) : 1

58

Ortalaması en yüksek öğrenci bilgileri**************************************Numara: 90807060 Adı Soyadı: Ahmet Can Ortalama: 97 Harf: A

Devam etmek için bir tuşa basınız...

Page 30: BİL-142 Bilgisayar Programlama II (C/C++)

30

Ödev

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması4- A harf notu alan öğrenci sayısı4 A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) : 3

Sınıf Ortalaması: 67 65

59

Sınıf Ortalaması: 67.65

Devam etmek için bir tuşa basınız...

Ödev

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması4- A harf notu alan öğrenci sayısı4 A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) : 9

Başarılı öğrenci sayısı (A+B+C): 25

60

Başarılı öğrenci sayısı (A+B+C): 25

Devam etmek için bir tuşa basınız...

Page 31: BİL-142 Bilgisayar Programlama II (C/C++)

31

Ödev

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması4- A harf notu alan öğrenci sayısı4 A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) : 4

A harf notu alan öğrenci sayısı: 3

61

A harf notu alan öğrenci sayısı: 3

Devam etmek için bir tuşa basınız...

Ödev

1- Ortalaması en yüksek öğrenci bilgileri2- Ortalaması en düşük öğrenci bilgileri3- Sınıf ortalaması4- A harf notu alan öğrenci sayısı4 A harf notu alan öğrenci sayısı5- B harf notu alan öğrenci sayısı6- C harf notu alan öğrenci sayısı7- D harf notu alan öğrenci sayısı8- F harf notu alan öğrenci sayısı9- Başarılı öğrenci sayısı (A+B+C)10- Başarısız olan öğrenci sayısı (D+F)İşlem türünü seçiniz (1...10, Çıkış için 0 giriniz) : 10

Başarısız olan öğrenci sayısı (D+F): 6

62

Başarısız olan öğrenci sayısı (D+F): 6

Devam etmek için bir tuşa basınız...