Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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.
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.
8
Sayaç Kontrollü Tekrar
15
Sayaç Kontrollü Tekrar
16
9
Sayaç Kontrollü Tekrar
17
Sayaç Kontrollü Tekrar
18
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
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
12
Sentinel Kontrollü Tekrar
23
Sentinel Kontrollü Tekrar
24
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
14
İçiçe Kontrol Deyimleri
Birden fazla kontrol deyimi birlikte ve içiçe kullanılabilir.
27
İçiçe Kontrol Deyimleri
28
15
İçiçe Kontrol Deyimleri
29
İçiçe Kontrol Deyimleri
30
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
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
18
for Tekrar Deyimi
Integer sayıların toplanması için örnek.
35
for Tekrar Deyimi
for için örnek.
36
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
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
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
22
switch Çoklu Seçim Deyimi
43
switch Çoklu Seçim Deyimi
44
23
switch Çoklu Seçim Deyimi
45
switch Çoklu Seçim Deyimi
46
24
switch Çoklu Seçim Deyimi
47
switch Çoklu Seçim Deyimi
48
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
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
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
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
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...
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...
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...