Kontrol İfadeleri : 2.Kısım

Slides:



Advertisements
Benzer bir sunumlar
JavaScript Birinci Hafta.
Advertisements

Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BİLEŞİK ATAMA VE DÖNGÜLER
Nöbetçi Kontrollü Döngü
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
DÖNGÜ İFADELERİ.
DÖNGÜ “Şart sağlandığı sürece” içerisindeki komut satırlarını, artış değeri adedince tekrarlayan kodlardır.
switch - case Yapısı Döngü Yapıları
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
EDUTIME Java Day 4 Serdar TÜRKEL.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Karar ifadeleri ve Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 3 – Yapısal Programlama
Yapısal Program Geliştirme – if, if-else
5. HAFTA
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Döngü ve Koşul Komutları
Bilgisayar Programlama
Operatörler ve Denetim Yapıları
SQL de Değişken Tanımlama
Döngü Yapıları.
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 2 – Kontrol Yapıları
Akış Kontrol Mekanizmaları
Kontrol Yapıları ve Döngüler
For Döngüsü Foreach Döngüsü While Döngüsü
Bilgisayar Programlama Güz 2011
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
Çoklu dallanma seçimi: switch
DÖNGÜLER.
JAVA’DA DÖNGÜLER.
Bölüm 4 – C’de Program Kontrolü
PHP'de Program Denetimi
DÖNGÜ YAPILARI.
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
DEYİMLER DEYİM NEDİR? Kaç guruba ayrılır? İf deyimi nasıl çalışır?
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
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.
Nesne Tabanlı Programlama 2
DÖNGÜ DEYİMLERİ Programın belirli bir kesiminin birden fazla tekrarlanması işlemine DÖNGÜ denir. Bir değişken belirli bir değerden başlayıp, son değeri.
Akış Kontrolü ve Döngüler
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
YAPISAL PROGRAMLAMA KAVRAMI
İnternet Programlama-I
Sayısal Analiz / Uygulama
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H04
BSM208 PROGRAMLAMA DİLLERİNİN PRENSİPLERİ
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
Bölüm 5: Kontrol Yapıları II (Yenilenme-Repetition)
Bölüm 2: Program Denetimi
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Döngüler.
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

Kontrol İfadeleri : 2.Kısım İçerik Bir Kontrollü Döngü İfadesinde Olması Gerekenler for Döngü Deyimleri for Döngü Deyimi ile alakalı Örnekler do…while Döngü Deyimi switch Çok Seçmeli Komut break ve continue Komutları Etiketli break ve continue Komutları Mantıksal Operatörler Yapısal Programlama Özeti

Bir Kontrollü Döngü İfadesinde Olması Gerekenler Sayaç-kontrollü döngü : Kontrol değişkeni (döngü sayacı) Kontrol değişkenine ilk değer verme Her dönüşte kontrol değişkenini artırma/azaltma Kontrol değişkeninin son değere ulaşıp ulaşmadığını döngüdeki şart ile tespiti

for ( int counter = 1; counter <= 10; counter++ ) for Döngü Komutu for ( int counter = 1; counter <= 10; counter++ ) Kontrol değişkenin bir artımı Kontrol değişkeni Kontrol değişkenin son değeri for anahtar kelime Döngünün şartı Kontrol değişkenin ilk değeri Noktalı virgül ile ayrım Noktalı virgül ie ayrım for deyiminin ayrıntılı anlatımı.

for Döngü Yapısı for ( ilk değer verme; döngü şartı; artış ) { komutlar; } Aynı ifade aşağıdaki gibi de yazılabilir: İlk değer verme; while ( döngü şartı ) { komutlar; artış; }

for İfadeleri için Örnekler for deyiminde kontrol değişkenin değişimi Kontrol değişkenini 1’den başlatıp 100 ‘e varıncaya kadar 1 artışla ilerletecek for deyimi for ( int i = 1; i <= 100; i++ ) Kontrol değişkenini 100’den başlatıp 1‘e varıncaya kadar 1’er 1’er azaltıp ilerletecek for deyimi for ( int i = 100; i >= 1; i-- ) Kontrol değişkenini 7’den başlatıp 7’şer artışla 77 kadar ilerleyecek for deyimi for ( int i = 7; i <= 77; i += 7 )

Her for adımında numberı 2 arttır 1 // Toplam.java 2 // 1’den 100’e kadar çift sayıların toplamı. 3 import javax.swing.JOptionPane; 4 5 public class Toplam { 6 7 public static void main( String args[] ) 8 { 9 int toplam = 0; // ilk değer verme 10 11 // 2 den 100’e kadar çift sayıların toplamı 12 for ( int sayi = 2; sayi <= 100; sayi += 2 ) 13 toplam += sayi; 14 15 // display results 16 JOptionPane.showMessageDialog( null, “Toplam " + toplam, 17 “2-100 arasındaki çift sayıların toplamı", 18 JOptionPane.INFORMATION_MESSAGE ); 19 20 System.exit( 0 ); // uygulamayı bitir 21 22 } // end main 23 24 } // end class Her for adımında numberı 2 arttır

1 // 2 // katlanarak artan faizi hesapla. 3 import java.text.NumberFormat; // sayısal format için gerekli class 4 import java.util.Locale; // bölgesel bilgiler için gerekli class 5 6 import javax.swing.JOptionPane; 7 import javax.swing.JTextArea; // metin alanı oluşturmak için 8 9 public class faizHesapla { 10 11 public static void main( String args[] ) 12 { 13 double tutar; // faiz getirisi+ anapara 14 double anapara = 1000.0; // anapara 15 double oran = 0.05; // faiz oranı 16 17 // create NumberFormat for currency in US dollar format 18 NumberFormat moneyFormat = NumberFormat.getCurrencyInstance( Locale.US ); 19 20 21 // çıktıyı göstermek için JTextArea nesnesi tanımla 22 JTextArea outputTextArea = new JTextArea(); 23 24 // text area ya ilk satırı set et. 25 outputTextArea.setText( "Yıl\t hesaptaki tutar\n" ); 26

Append=eklemek 27 // 10 yıl için her yıla ait miktarı hesapla 28 for ( int yil = 1; yil <= 10; yil++ ) 29 { 30 // yıl için miktarı hesapla 31 tutar = anapara * Math.pow( 1.0 + oran, yil ); 32 33 // outputTextArea nesnesine yeni bir satır ekle 34 outputTextArea.append( yil + "\t" + 35 moneyFormat.format( tutar ) + "\n" ); 36 37 } // end for 38 39 // sonucu göster 40 JOptionPane.showMessageDialog( null, outputTextArea, 41 “bileşik faiz hesabı", JOptionPane.INFORMATION_MESSAGE ); 42 43 System.exit( 0 ); 44 45 } // end main 46 47 } // end class Append=eklemek

do…while Döngü İfadesi do…while yapısı while komutuna benzer. Bu döngü yapısında döngü içindeki blok en az bir defa çalışır. do…while akış diyagramı. Blok kodları [true] [false] şart

switch Çok-Şeçmeli Yapılar switch deyimi Çok seçmeli zamanlar için kullanılır case a action(s) break default action(s) [true] case b action(s) case z action(s) . [false] case a case b case z break komutu ile switch akış diyagramı.

1 // SwitchTest.java 2 // kullanıcı seçimli doğru,dörtgen ve oval çizdirme. 3 import java.awt.Graphics; 4 5 import javax.swing.*; 6 7 public class SwitchTest extends JApplet { 8 int secim; // kullanıcının şekil seçimi 9 10 // kullanıcı seçimini sorma ile apleti başlat 11 public void init() 12 { 13 String input; // kullanıcıdan alınacak değer 14 15 // kullanıcıya seçimini sor 16 input = JOptionPane.showInputDialog( 17 “doğru için 1\n" + 18 “dörtgen için 2\n" + 19 “oval için 3 giriniz\n" ); 20 21 secim = Integer.parseInt( input ); // string girişini int e çevir 22 23 } // end method init 24 25 // aplet üzerine şekilleri çiz 26 public void paint( Graphics g ) 27 { 28 super.paint( g ); // JApplet içerisinden paint metodunu çağır 29 30 for ( int i = 0; i < 10; i++ ) // 10 kez çalıştır 31 {

32 switch ( secim ) // hangi şekli çizeceğine karar ver 33 { 34 case 1: // doğru çiz 35 g.drawLine( 10, 10, 250, 10 + i * 10 ); 36 break; // işlemi bitir 37 38 case 2: // dörtgen çiz 39 g.drawRect( 10 + i * 10, 10 + i * 10, 40 50 + i * 10, 50 + i * 10 ); 41 break; // işlemi bitir 42 43 case 3: // oval çiz 44 g.drawOval( 10 + i * 10, 10 + i * 10, 45 50 + i * 10, 50 + i * 10 ); 46 break; // işlemi bitir 47 48 default: // kullanıcı yanlış değer girdi 49 g.drawString( “yanlış seçim", 50 10, 20 + i * 15 ); 51 52 } // end switch 53 54 } // end for 55 56 } // end method paint 57 58 } // end class SwitchTest

SwitchTest.java

break ve continue deyimleri break/continue Programın akış sırasını değiştirir. break deyimi Kontrol yapısından çıkışı sağlar. while, for, do…while or switch ifadelerinde kullanılır continue deyimi Döngünün başına döner. while, for or do…while ifadelerinde kullanılır.

1 // BreakTest.java 2 // break deyimi ile dongüyü sonlandırma 3 import javax.swing.JOptionPane; 4 5 public class BreakTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 int count; 11 12 for ( count = 1; count <= 10; count++ ) { // dongu sayısı 10 13 14 if ( count == 5 ) // sayac 5 ise dögüyü sonlandır 15 break; 16 17 output += count + " "; 18 19 } // end for 20 21 output += "\n sayaç " + count+ ” olduğunda dongu sonlandırıldı”; 22 JOptionPane.showMessageDialog( null, output ); 23 24 System.exit( 0 ); // uygulamayı sonlandır 25 26 } // end main 27 28 } // end class

Sayaç 5 olduğunda 16. satırı atla ve dongu başına 11. satıra dön 1 // ContinueTest.java 2 // continue deyimi ile bir sonraki adıma geçme(dongu içinde). 3 import javax.swing.JOptionPane; 4 5 public class ContinueTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 for ( int count = 1; count <= 10; count++ ) { // 10 sefer işle 12 13 if ( count == 5 ) // sayaç 5 olduğunda dongudeki kodu 14 continue; 15 16 output += count + " "; 17 18 } // end for 19 20 output += "\n continue deyimi ile 5 sayısı atlandı"; 21 JOptionPane.showMessageDialog( null, output ); 22 23 System.exit( 0 ); 24 25 } // end main 26 27 } // end class ContinueTest Sayaç 5 olduğunda 16. satırı atla ve dongu başına 11. satıra dön

Etiketli break ve continue İfadeleri Etiketli blok {} arasındaki kodlar Parantez öncesi bloğu adlandırıcı etiket Etiketli break ifadesi İçinde bulunduğu bloktan çıkmasını sağlar. Blok sonundan çalışmaya devam eder. Etiketli continue ifadesi Blok içindeki kodları atlar Etiketin başına gelerek programa devam eder.

Stop etiketlenmiş blok 1 // BreakLabelTest.java 2 // Labeled break statement. 3 import javax.swing.JOptionPane; 4 5 public class BreakLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 stop: { // labeled block 12 13 // count 10 rows 14 for ( int row = 1; row <= 10; row++ ) { 15 16 // count 5 columns 17 for ( int column = 1; column <= 5 ; column++ ) { 18 19 if ( row == 5 ) // row 5 ise stop bloğundan çık 20 break stop; 21 22 output += "* "; 23 24 } // end inner for 25 26 output += "\n"; 27 28 } // end outer for 29 Stop etiketlenmiş blok 10 satır yazar İçteki dongu 5 sütün yazar Exit to line 35 (next slide)

30 // following line is skipped 31 output += "\nLoops terminated normally"; 32 33 } // end labeled block 34 35 JOptionPane.showMessageDialog( null, output, 36 "Testing break with a label", 37 JOptionPane.INFORMATION_MESSAGE ); 38 39 System.exit( 0 ); // terminate application 40 41 } // end main 42 43 } // end class BreakLabelTest

nextRow etiketlenmiş blok 1 // Fig. 5.14: ContinueLabelTest.java 2 // Labeled continue statement. 3 import javax.swing.JOptionPane; 4 5 public class ContinueLabelTest { 6 7 public static void main( String args[] ) 8 { 9 String output = ""; 10 11 nextRow: // target label of continue statement 12 13 // count 5 rows 14 for ( int row = 1; row <= 5; row++ ) { 15 output += "\n"; 16 17 // her satır için 10 kolon 18 for ( int column = 1; column <= 10; column++ ) { 19 20 // eğer colon > satır ise bir sonraki satıra geç 21 if ( column > row ) 22 continue nextRow; // bir sonraki adıma atla 23 24 output += "* "; 25 26 } // end inner for 27 28 } // end outer for nextRow etiketlenmiş blok Loop 5 times Nested loop 10 times continue to line 11 (nextRow)

ContinueLabelTest.java 29 30 JOptionPane.showMessageDialog( null, output, 31 "Testing continue with a label", 32 JOptionPane.INFORMATION_MESSAGE ); 33 34 System.exit( 0 ); // terminate application 35 36 } // end main 37 38 } // end class ContinueLabelTest ContinueLabelTest.java

Mantıksal operatörler Mantısal Operatörler Mantıksal operatörler Daha karışık şartlar oluşturmak amaçlı Basit şartları birleştirmek amaçlı kullanılır. Java mantıksal operatörler && (koşul AND) & (mantıksal AND) || (koşul OR) | (mantıksal OR) ^ (dışlayan OR) ! (mantıksal NOT)

Yapısal Programlama (Özet) Sıralı Yapılar Java daki yerleşik ifadeler Seçimli Yapılar if, if…else ve switch Tekrarlana Yapılar while, do…while ve for