Bölüm 4 – Kontrol İfadeleri:1.kısım

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Advertisements

Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Dersin Adı:ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu:YBS506 Konu:Kontrol Yapıları(if / if-else) 2.HAFTA.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Değişkenler ve bellek Değişkenler
JavaScript Birinci Hafta.
BİLEŞİK ATAMA VE DÖNGÜLER
Nöbetçi Kontrollü Döngü
Kontrol İfadeleri : 2.Kısım
Programlama-II (Java ile Bilgisayar Programlama)
DÖNGÜ İFADELERİ.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
EDUTIME Java Day 4 Serdar TÜRKEL.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
4. KONTROL VE DÖNGÜ KOMUTLARI
Karar ifadeleri ve Döngüler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 3 – Yapısal Programlama
T-SQL-2.Konu Akış Kontrolleri.
Yapısal Program Geliştirme – if, if-else
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
JAVA İ LE PROGRAMLAMAYA G İ R İ Ş Ekim Dr. Galip Aydın.
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
Döngü Yapıları.
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 2 – Kontrol Yapıları
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
PROGRAM KONTROL VE DÖNGÜ DEYİMLERİ
Kontrol Yapıları ve Döngüler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 2: Koşula Göre İşlem Yapma
Çoklu dallanma seçimi: switch
Bölüm 4 – C’de Program Kontrolü
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
Bil 102 Bölüm 6 Diziler.
4. KONTROL VE DÖNGÜ KOMUTLARI
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
String class String karakterler dizisidir
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
Nesne Tabanlı Programlama 2
Görsel C# ile Windows Programlama
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
While EndDo Repeat Until For Next.  Program mantığı içinde belirli bir düzene bağlı kalarak sürekli tekrar eden işlemlerin belirli bir kritere/değişkene.
YAPISAL PROGRAMLAMA KAVRAMI
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
METHODLAR VE KOŞULLAR.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Excel’de VBA Programlama (Visual Basic Application)
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Veri Tipleri 12/4/2018.
Bölüm 5: Kontrol Yapıları II (Yenilenme-Repetition)
Bölüm 2: Program Denetimi
Java İle Programlamaya GİRİş
Sunum transkripti:

Bölüm 4 – Kontrol İfadeleri:1.kısım Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri 4.8 Algoritmaların Tasarımı : Örnek Çalışma 1(Sayaç - Kontrollü Döngüler) 4.9 Algoritmaların Tasarımı: Örnek Çalışma 2 (Sonlandırcı- Kontrollü Döngüler) 4.10 Algoritmaların Tasarımı: Örnek Çalışma 2 (İçiçe Kontrollü Yapılar) 4.11 Birleşik Atama Operatörleri 4.12 Artırma ve Azaltma Operatörleri 4.13 İlkel Tipler

Bu bölümde Kontrol İfadelerini öğreneceğiz. 4.1   Giriş Bu bölümde Kontrol İfadelerini öğreneceğiz. Yapısal programlama prensibi Kontrol ifadeleri objelerin yapımına yardım eder. (Chapter 8)

4.2 Algoritmalar Algoritma Program kontrolü Belli bir sırada takip edilen işler İşler gerçekleştirilir. Sıra, hangi işin gerçekleştireceğini tespit eder. Program kontrolü Kontrol ifadeleri bu sıranın oluşumuna yardım eder.

Pseudocode (Program tasarımı) Algoritma geliştirmek için kullanılan esnek bir dil Bilgisayarda çalıştırılamaz Algoritmayı yapanlara kurallardan bağımsız ifade etmeyi sağlar.

4.4 Kontrol İfadeleri Sıralı çalışma Kontrolün transferi Akış diagramı Program kodları baştan başlayıp satır satır çalışır. Kontrolün transferi 3 tip kontrol ifadesi bu kodlar arasında transfer sağlar. Sıralı yapılar Seçimli yapılar Döngüsel yapılar Akış diagramı İş akışını modeller İşi tanımlayan semboller İş sırasını gösteren oklar

Fig 4.1 Sıralı akış diyagramı. Notu toplama ekle Sayacı 1 artır Java karşılığı: toplam = toplam + not; Java karşılığı: sayac = sayac + 1; Fig 4.1 Sıralı akış diyagramı.

Java sıralı akışa sahiptir. Java 3 farklı seçim komutu sağlar. 4.4 Kontrol İfadeleri Java sıralı akışa sahiptir. Java 3 farklı seçim komutu sağlar. if If…else switch Java 3 farklı döngü komutu sağlar. while do…while do Bu komutların herbiri ayrılmış kelimelerdir.

4.5 if tek-seçimli durum Tek-giriş/tek-çıkış kontrol ifadeleri Şart doğru (true) olduğu zaman komut çalışır.

Fig 4.3 if tek-seçimli durum iş iş akış diyagramı. [not >= 60] [not < 60] print “Geçti” Fig 4.3 if tek-seçimli durum iş iş akış diyagramı.

4.6 if…else seçimli durum Şart doğru (true) olduğu zaman komut çalışır. Şart yanlış (false) olduğu zaman başka bir komut çalışır. Şart operatörü (?:) İçiçe if…else ifadeleri

Fig 4.4 if…else iki seçimli durumlar için akış diyagramı. [not >= 60] [not < 60] print “Kaldı” print “Geçti” Fig 4.4 if…else iki seçimli durumlar için akış diyagramı.

4.7 while Tekrarlama İfadeleri Şart doğru (true) olduğu müddetçe dögüye ait komutları çalıştır.

Ürün değerinin 2 katını al birleşim karar Java karşılığı: ürün = 2 * ürün; Fig 4.5 while tekrarlama ifadelerinin akış dyagramı.

Ortalama1.java not ortalamasını hesaplar. 4.8 Algoritmaların Tasarlanması: Örnek Çalışma 1 (Kontrollü Sayaç Döngüsü) Sayaç İfadelerin kaç defa tekrar ettiğini kontrol eden değişken Ortalama1.java not ortalamasını hesaplar. Döngüyü kontrol için sayaç kullanılır.

  Toplam değişkenini sıfırla Sayaç değişkenine 1 ata Syaç 10 ‘a eşit yada küçük olduğu müddetçe Diğer notu gir Toplamı not kadar artır Sayacı 1 artır Toplamı 10 ‘a bölerek sınıf ortalamasına ata Sınıf ortalamasını yazdır Fig. 4.6 Pseudocode algoritması : sınıf ortalamasını bulmak için kontrollü sayaç döngüsü kullanılır.

Average1.java gradeCounter Line 21 1 // Fig. 4.7: Ortalama1.java 2 // Class-average program with counter-controlled repetition. 3 import javax.swing.JOptionPane; 4 5 public class Ortalama1 { 6 7 public static void main( String args[] ) 8 { 9 int toplam; // sum of grades input by user 10 int notSayaci; // number of grade to be entered next 11 int not; // grade value 12 int ortalama; // average of grades 13 14 String notString; // grade typed by user 15 16 // initialization phase 17 toplam = 0; // initialize total 18 notSayaci = 1; // initialize loop counter 19 20 // processing phase 21 while (notSayaci <= 10 ) { // loop 10 times 22 23 // prompt for input and read grade from user 24 notString = JOptionPane.showInputDialog( 25 “Sayısal not girişi: " ); 26 27 // convert gradeString to int 28 not = Integer.parseInt( notString ); 29 Average1.java gradeCounter Line 21 Declare variables; gradeCounter is the counter Continue looping as long as gradeCounter is less than or equal to 10

Average1.java 30 toplam = toplam + not; // add grade to total 31 notSayaci = notSayaci + 1; // increment counter 32 33 } // end while 34 35 // termination phase 36 ortalama = toplam / 10; // integer division 37 38 // display average of exam grades 39 JOptionPane.showMessageDialog( null, “Sınıf ortalaması" + ortalama, 40 “Sınıf Ortlaması", JOptionPane.INFORMATION_MESSAGE ); 41 42 System.exit( 0 ); // terminate the program 43 44 } // end main 45 46 } // end class Average1 Average1.java

Ortalama1.java

Ortalama2.java döngünün sayısı belli değil 4.9 Algoritmaların Tasarlanması: Örnek Çalışma 2 (Sonlandırıcı-Kontrollü Döngüler) Sonlandırıcı değer Veri girişini sonlandırmak amaçlı kullanılır. Ortalama2.java döngünün sayısı belli değil Kullanıcı sonlandırıcı değere (-1) basarak döngüyü bitiriyor.

Toplam değişkenini sıfırla Sayaç değişkenine 1 ata İlk not girişi yap (sonlandırıcı değer de mümkün) Kullanıcı sonlandırıcı değer girmediği müddetçe Toplamı not değeri kadar artır Sayacı 1 artır Yeni notu gir(sonlandırcı değer de mümkün) Eğer sayaç 0 eşit değilse Ortalamayı toplamı sayaca bölerek bul Ortalamayı yazdır else “Hiçbir not girilmedi” yazdır Fig. 4.8 Pseudocode algoritması : sınıf ortalamasını bulmak için sonlandırıcı kontrollü döngüs kullanılır.

Average2.java 1 // Fig. 4.9: Ortalama2.java 2 // Class-average program with sentinel-controlled repetition. 3 import java.text.DecimalFormat; // class to format numbers 4 import javax.swing.JOptionPane; 5 6 public class Ortalama2 { 7 8 public static void main( String args[] ) 9 { 10 int toplam; // sum of grades 11 int notSayaci; // number of grades entered 12 int not; // grade value 13 14 double ortalama; // number with decimal point for average 15 16 String notString; // grade typed by user 17 18 // initialization phase 19 toplam = 0; // initialize total 20 notSayaci = 0; // initialize loop counter 21 22 // processing phase 23 // get first grade from user 24 notString = JOptionPane.showInputDialog( 25 “Not Girişi yada Çıkış için -1 :" ); 26 27 // convert gradeString to int 28 not = Integer.parseInt( notString ); 29 Average2.java

loop until gradeCounter equals sentinel value (-1) 30 // loop until sentinel value read from user 31 while ( not != -1 ) { 32 toplam = toplam + not; // add grade to total 33 notSayaci = notSayaci + 1; // increment counter 34 35 // get next grade from user 36 notString = JOptionPane.showInputDialog( 37 " Not Girişi yada Çıkış için -1 :" ); 38 39 // convert gradeString to int 40 not = Integer.parseInt( notString ); 41 42 } // end while 43 44 // termination phase 45 DecimalFormat ikiDigit = new DecimalFormat( "0.00" ); 46 47 // if user entered at least one grade... 48 if ( notSayaci != 0 ) { 49 50 // calculate average of all grades entered 51 ortalama = (double) toplam / notSayaci; 52 53 // display average with two digits of precision 54 JOptionPane.showMessageDialog( null, 55 “Sınıf Ortalaması " + ikiDigit.format( ortalama ), 56 “Sınıf Ortalaması", JOptionPane.INFORMATION_MESSAGE ); 57 58 } // end if part of if...else 59 loop until gradeCounter equals sentinel value (-1) Average2.java Line 31 Line 45 Format numbers to nearest hundredth

60 else // if no grades entered, output appropriate message 61 JOptionPane.showMessageDialog( null, “Not girişi yapılmadı", 62 “Sınıf Ortalaması", JOptionPane.INFORMATION_MESSAGE ); 63 64 System.exit( 0 ); // terminate application 65 66 } // end main 67 68 } // end class Ortalama2 Ortalama2.java

4.10 Algoritmaların Tasarlanması: Örnek Çalışma 3 (İçiçe Kontrol Yapıları)

Gecenler ‘e 0 ilk değeri ver Kalanlar’ a 0 ilk değeri ver Ogrenci ‘ye 1 ilk değer ver  Sayac 10 ‘a eşit yada küçük olduğu müddetçe Sınav sonucu gir Eğer öğrenci geçmiş ise Gecenlere 1 ekle else Kalanlara 1 ekle   Sayacı 1 artır Kaç kişi geçtiğini yazdır Kaç kişi kaldığını yazdır Eğer 8 kişiden fazla kişi geçmiş ise “Öğretim başarılı” yazdır Fig 4.10 Pseudocode :sınav sonucu problemi için.

Analysis.java Line 19 Line 29 1 // Fig. 4.11: Analysis.java 2 // Analysis of examination results. 3 import javax.swing.JOptionPane; 4 5 public class Analysis { 6 7 public static void main( String args[] ) 8 { 9 // initializing variables in declarations 10 int gecenler = 0; // number of passes 11 int kalanlar = 0; // number of failures 12 int sayac = 1; // student counter 13 int sonuc; // one exam result 14 15 String giris; // user-entered value 16 String cikis; // output string 17 18 // process 10 students using counter-controlled loop 19 while ( sayac <= 10 ) { 20 21 // prompt user for input and obtain value from user 22 giris = JOptionPane.showInputDialog( 23 "Enter result (1 = geç, 2 = kal)" ); 24 25 // convert result to int 26 sonuc = Integer.parseInt( giris ); 27 28 // if result 1, increment passes; if...else nested in while 29 if ( sonuc == 1 ) 30 gecenler = gecenler + 1; Loop until student counter is greater than 10 Analysis.java Line 19 Line 29 Nested control structure

Analysis.java 31 32 else // if result not 1, increment failures 33 kalanlar = kalanlar + 1; 34 35 // increment studentCounter so loop eventually terminates 36 sayac = sayac + 1; 37 38 } // end while 39 40 // termination phase; prepare and display results 41 cikis = “Geçenler: " + gecenler + "\nKalanlar: " + kalanlar; 42 43 // determine whether more than 8 students passed 44 if ( gecenler > 8 ) 45 cikis = cikis + "\nÖğretim Başarılı"; 46 47 JOptionPane.showMessageDialog( null, cikis, 48 "Analysis of Examination Results", 49 JOptionPane.INFORMATION_MESSAGE ); 50 51 System.exit( 0 ); // terminate application 52 53 } // end main 54 55 } // end class Analysis Analysis.java

4.11 Birleşik Atama Operatörleri Kısaltılmış atama operatörleri Herhangi bir atama işlemi değişken = değişken operatör ifade; Şu şekilde de yazılabilir değişken operatör = ifade; Örneğin toplam atama operatörü += c = c + 3 c += 3

4.12 Artırma Azaltma Operatörleri Bir artırma (++) Değer 1 artırır. Bir azaltma (--) Değeri 1 azaltır Önceden artırma / önceden azaltma operatör Sonradan artırma / sonradan-azaltma operatör

Increment.java Line 13 postincrement Line 21 preincrement 1 // Fig. 4.14: Increment.java 2 // Preincrementing and postincrementing operators. 3 4 public class Increment { 5 6 public static void main( String args[] ) 7 { 8 int c; 9 10 // demonstrate postincrement 11 c = 5; // assign 5 to c 12 System.out.println( c ); // print 5 13 System.out.println( c++ ); // print 5 then postincrement 14 System.out.println( c ); // print 6 15 16 System.out.println(); // skip a line 17 18 // demonstrate preincrement 19 c = 5; // assign 5 to c 20 System.out.println( c ); // print 5 21 System.out.println( ++c ); // preincrement then print 6 22 System.out.println( c ); // print 6 23 24 } // end main 25 26 } // end class Increment Line 13 postincrements c Increment.java Line 13 postincrement Line 21 preincrement Line 21 preincrements c 5 5 6  5 6 6

4.13 İlkel Veri Tipleri Java da tüm değişkenlerin mutlaka bir veri tipi olması lazımdır. Java ilkel veri tipleri