3.Hafta. . Kontrol Deyimleri/İfadeler

Benzer belgeler
Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Nesne Yönelimli Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Java da Program Denetimi ve Operatörler

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

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

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

HSancak Nesne Tabanlı Programlama I Ders Notları

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

Sonuç olarak a ve b değişkenleri içerikleri aynı olur Nesneler ve Atamalar

M.ilkucar MAKU MYO 1

Karşılaştırma İşlemleri ve Koşullu İfadeler

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

C# Çalışma Örnekleri

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Ders - 7 while döngüsü

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

D İ Z İ L E R A R R A Y S

Programlama Dili Prensipleri. Lab Notları 4

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

BİL-142 Bilgisayar Programlama II

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

ALGORİTMA VE PROGRAMLAMA I

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

MAT213 Bilgisayar Programlama I

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

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

Akış Kontrol Mekanizmaları

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

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

Bölüm 08 Program Akışının Yönlendirilmesi

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

Programlama Temelleri Örnek Sorular

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

Görsel Programlama 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Örnek 1: Programı yazın ve çalıştırın.

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

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Nesne Tabanlı Programlama

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 5. UYGULAMA ERKEKLER İÇİN (BOY-108) BAYANLAR İÇİN (BOY-112)

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

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

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

Programlama Dilleri 3

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

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

Sunum İçeriği. Programlamaya Giriş

BİL-141 Bilgisayar Programlama I (Java)

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

7. HAFTA. Erişim Belirleyiciler

BIL101 07/11/2012 Lab5 Programlama Sorulari

BİLGİSAYAR PROGRAMLAMA DERSİ

Akış Konrol Mekanizmaları

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

PROGRAMLAMA DİLLERİ I

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

// hataları işaret eden referans

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

Döngü ve Koşul Deyimleri

Program Akış Kontrol Yapıları

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

Algoritma ve Programlamaya Giriş

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BPR152-Algoritma ve Programlama II Uygulama -8

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Hafta 4 Döngü Yapıları

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

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

YMT219 VERİ YAPILARI ÖDEV-1

Sınav Dağılım & IMKB Endeks

Bölüm 4 C de Program Kontrolü

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals. Module 2:Server Side Internet Programming

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Transkript:

. Kontrol Deyimleri/İfadeler Kontrol deyimleri bir uygulamanın yürütülmesi sırasında program akışını yönlendiren yapılar/kalıplardır. Kontrol deyimi olmaksızın bir uygulama yazılması neredeyse olanaksıdır denilebilir. Java programlama dilinde toplam 4 adet kontrol ifadesi bulunur: Döngü Karşılaştırma Dallanma İstisna : while, do-while, for : if-else, switch-case : break, continue, label:, return : try-catch-finally, throw 2.4.1. Döngü Deyimleri Döngü deyimleri aynı işlemin farklı parametre değerleri üzerinde yapılması için kullanılan yineleme/tekrarlama işleri için kullanılır. Java da C dilinde olduğu gibi while, do-while ve for olarak adlandırılan üç farklı döngü deyimi vardır. while Döngü Deyimi while deyimi belirli bir grup kod öbeğini döngü koşulu doğru (true) olduğu sürece devamlı yineler. Genel yazım şekli aşağıdaki gibidir: while (koşul) { çalışması istenen kod bloğu Program akışı while deyimine geldiğinde döngü koşuluna bakılır; olumlu/doğru ise çevrime girerek çalışması istenen kod öbeği yürütülür; yineleme döngü koşulu olumsuz/yanlış olana kadar sürer. 1

Örnek: WhileOrnek.java public class WhileOrnek { int i = 0 ; //döngü kontrol değişkeni while (i < 5 ) { System.out.println("i = " + i); i++ ; System.out.println("Sayma islemi tamamlandi."); Uygulamanın sonucu aşağıdaki gibi olur: i = 0 i = 1 i = 2 i = 3 i = 4 Sayma islemi tamamlandi. Örnek Uygulama: 1 den n(kullanıcıdan alınan üst sınır) e kadar olan değerlerin toplamını bulup sonucu ekrana yazdıran bir java programı yazınız! do-while Döngü Deyimi Bu döngü deyimde koşul sınaması döngü sonunda yapılır; dolayısıyla çevrim kod öbeği en az birkez yürütülmüş olur. Genel yazım şekli ve çizimsel gösterimi aşağıdaki gibidir: do { çalışması istenen kod bloğu while(koşul); Örnek: WhileDoOrnek.java public class WhileDoOrnek { public static void main(string args[]) { int i = 0 ; //döngü koşul değişkeni do { System.out.println("i = " + i); i++ ; while ( i < 0 ); System.out.println("Sayma islemi tamamlandi."); 2

for Döngü Deyimi for deyimde çevrim işlemleri daha bir derli toplu yapılabilir; bu döngü deyiminde koşulda kullanılan çevrim değişkeni, koşul ifadesi ve çevrim sayacı artımı for ifadesi içerisinde verilir. Genel yazım şekli ve çizimle gösterilmesi aşağıdaki gibi verilebilir: for (başlangıç; koşul; artış) { çalışması istenen kod bloğu Görüldüğü gibi for deyimi içerisinde ; ile ayrılmış 3 parametre vardır; birincisi çevrim sayacı, ikincisi koşul ifadesi ve üçüncüsü de sayacın artım miktarı ifadesidir. Eğer, kodun daha önceki kısımlarda sayaç değişkeni halıhazırda varsa başlangıç, artışı kod öbeği kısmında yapılıyorsa artış bilgisi verilmeyebilir. Bu durumda bu alanlar bol bırakılır. Örnek: ForOrnek.java public class ForOrnek { public static void main(string args[]) { for (int i=0 ; i < 5 ; i ++) { System.out.println("i = " + i); Uygulamanın çıktısı aşağıdaki gibi olur: i = 0 i = 1 i = 2 i = 3 i = 4 for deyimi kullanılarak sonsuz çevrim oluşturulmak istenirse aşağıdaki gibi yazılması yeterlidir. for ( ;1; ) {... // sonsuz döngü 3

Karşılaştırma Deyimleri <![endif]>karşılaştırma deyimleri belirli bir koşula göre farklı işlemler yaptırılacağı zaman kullanılır. Örneğin adet adlı değişken değeri 5 ten küçük olduğundan farklı, 5 ten büyük veya eşit olduğunda farklı işler kodlar yürütülecekse bu işi yapabilmek için karşılaştırma deyimlerine gereksinim duyulur. Java da if-else ve switch-case olmak üzere iki farklı karşılaştırma deyimi vardır. if-else Deyimi Koşula göre program akışı değiştirilmek isteniyorsa if kullanılabilir. Genel yazım ifadesi aşağıdaki gibidir: if (koşul) { durum true olduğunda çalışması istenen kod bloğu else { durum false olduğunda çalışması istenen kod bloğu Örnek: IfElseTest.java public class IfElseTest { public static void main(string[] args) { int puan; Scanner oku=new Scanner(System.in); System.out.println( Sınav notunu giriniz: ); puan=oku.nextint(); char sonuc; if (puan >= 90) { sonuc = 'A'; else if (puan >= 80) { sonuc = 'B'; else if (puan >= 70) { sonuc = 'C'; else if (puan >= 60) { sonuc = 'D'; else { sonuc = 'F'; System.out.println("Sonuc = " + sonuc); 4

switch Deyimi switch deyimi tamsayıların karşılaştırılması ile doğru koşulların elde edilmesini sağlayan mekanizmadır. switch deyimini genel yazım biçimi aşağıdaki gibidir: switch(tamsayı) { case uygun-tamsayı-deger1 : çalışması istenen kod bloğu; break; case uygun-tamsayı-deger2 : çalışması istenen kod bloğu; break; case uygun-tamsayı-deger3 : çalışması istenen kod bloğu; break; case uygun-tamsayı-deger4 : çalışması istenen kod bloğu; break; case uygun-tamsayı-deger5 : çalışması istenen kod bloğu; break; //... default: çalışması istenen kod bloğu ; switch deyimi içersindeki tamsayı ile, bu tamsayıya karşılık gelen koşula girilir ve istenen kod bloğu çalıştırılır. Kod bloklarından sonra break koymak gerekir aksi takdirde uygun koşul bulduktan sonraki her koşula girilecektir. Eğer tamsayımız koşullardan hiçbirine uymuyorsa default koşulundaki kod bloğu çalıştırılarak son bulur. Örnek: AylarSwitchTest.java public class AylarSwitchTest { public static void main(string[] args) { int ay = 8; switch (ay) { case 1: System.out.println("Ocak"); break; case 2: System.out.println("Subat"); break; case 3: System.out.println("Mart"); break; case 4: System.out.println("Nisan"); break; case 5: System.out.println("Mayis"); break; case 6: System.out.println("Haziran"); break; case 7: System.out.println("Temmuz"); break; case 8: System.out.println("Agustos"); break; case 9: System.out.println("Eylul"); break; case 10: System.out.println("Ekim"); break; case 11: System.out.println("Kasim"); break; case 12: System.out.println("Aralik"); break; Uygulamanın sonucu, Agustos 5

Yapılandırıcı Yordam(Constructor); Örnek: YapilandirciBasitOrnekVersiyon2.java class YeniKahveFincani { public YeniKahveFincani(int adet) { System.out.println(adet + " adet YeniKahveFincani"); public class YapilandirciBasitOrnekVersiyon2 { public static void main(string[] args) { for(int i = 0; i < 5; i++) new YeniKahveFincani( i ); Gönderilen parametre sayesinde nesnenin nasıl oluşacağı belirtebilmektedir. Bu örnekte olduğu gibi YeniKahveFincani nesnesi oluşturulurken kaç adet olacağı söylenebiliyor. Uygulamanın sonucu aşağıdaki gibi olur: 0 adet YeniKahveFincani 1 adet YeniKahveFincani 2 adet YeniKahveFincani 3 adet YeniKahveFincani 4 adet YeniKahveFincani Yapılandırıcılar, yordamlardaki gibi değer döndürme mekanizmasına sahip değildirler; herhangi bir şekilde değer döndüremezler. Bu değer döndürülemez ibaresi yordamlardaki void ifadesine karşılık gelmemektedir. Yapılandırıcılardan çıkılmak isteniyorsa return kullanabilir. Adaş Yordamlar (Üstüste yüklenmiş yordamlar (Overloaded methods)) Aynı isimli farklı parametre alan yordamlardır. Örnek: YordamOverloadingDemo2.java public class YordamOverloadingDemo2 { public int toplamayap(int a, int b){ int sonuc = a + b ; System.out.println("sonuc - 1 = " + sonuc); return sonuc ; public void toplamayap(int a, double b){ double sonuc = a + b ; System.out.println("sonuc - 2 = " + sonuc); 6

public double toplamayap(double a, int b){ double sonuc = a + b ; System.out.println("sonuc - 3= " + sonuc); return sonuc ; public static void main(string[] args) { YordamOverloadingDemo2 mod2 = new YordamOverloadingDemo2(); mod2.toplamayap(3,4); mod2.toplamayap(3,5.5); mod2.toplamayap(6.8,4); Uygulamalar: n 2 1- k 1 k 2k kullanıcıdan aldığı n değerine göre yandaki matematiksel işlem sonucunu hesaplayan bir java programı yazınız. 2- Klavyeden girilen N sayısına göre T1, 0 dan N'e kadar olan sayıların toplamı,t2, 0 dan den N'e kadar olan tek sayıların toplamı ve T3, 0 dan N'e kadar olan çift sayıların toplamını göstermek üzere bu değerleri hesaplayan ve sonuçları yazdıran programı yazınız. 3- Kullanıcıdan aldığı sayıya göre ilgili sayı için çarpım tablosunu oluşturan bir java programı yazınız. Örneğin: run: 10*1=10 10*2=20 10*3=30 10*4=40 10*5=50 10*6=60 10*7=70 10*8=80 10*9=90 10*10=100 7

4- Girilen n sayısının tam bölündüğü sayıları bulan bir java programı yazınız Örneğin: sayınızı giriniz: 40 40sayısı1 sayısına tam bölünür 40sayısı2 sayısına tam bölünür 40sayısı4 sayısına tam bölünür 40sayısı5 sayısına tam bölünür 40sayısı8 sayısına tam bölünür 40sayısı10 sayısına tam bölünür 40sayısı20 sayısına tam bölünür 40sayısı40 sayısına tam bölünür 5- Girilen iki sayının en büyük ortak bölenini bulan bir java programı yazınız. Örneğin: 44 66 Cevap: 22 6- Yukarıdaki IfElseTest.java örnek programını input penceresinden aldığı not değeri ile ve sonuçtaki harf değerini de uyarı mesaj penceresi olarak ekranda gösterecek şekilde yeniden yazınız. (Not1: İlk Haftanın deney föyünde bir uygulamada input pencere kodu mevcuttur!!! Not2: Programa hata kontrolü de ekleyiniz. Not değeri 0 ile 100 arasında olmalıdır. Bu değerler dışında yanlış değer girilmesi durumunda mesaj penceresinden hatalı giriş şeklinde uyarı mesajı verilsin.) 7- Aşağıdaki program blokları hangi döngüleri temsil eder açıklayınız. Her bir yapı için ilgili yapının kullanılmasının bir avantaj sağlayabileceği orijinal (örnek)algoritma yapıları düşününüz ve bu örnekleri netbeans te çalıştırınız. 8

8- Aşağıdaki Tablonun sağ tarafını doldurunuz. Sol taraftaki matematiksel ifadenin bilgisayarda kodlanışı nasıl olmalıdır. Bilgisayar kod ifadelerini yazdıktan sonra işlem önceliğine dikkat ederek java dilinde her bir ifade yi kodlayınız.doğru çalıştığını kontrol ediniz. 9- Üslü ifadeler için bir java programı geliştirilecektir. Program kullanıcıdan sayıyı ve üssünü alacak ve işlemi gerçekleştirip sonucu ekrana yazacaktır. Böyle bir java programı geliştiriniz. (Not: pow fonksiyonu kullanılmayacaktır!) Örneğin ; Sayıyı giriniz: 3 Üssü giriniz: 3 Sonuc=27. 10- Random ile belli aralıkta rastgele üretilen bir sayının tahminine yönelik, tahmin edilen Sayının değerine göre aşağı, yukarı vb. şeklinde uyarılarla yeni tahminlerin alınabileceği bir java programı oluşturunuz. (Tahmin sayısını sınırlı tutabilirsiniz.) Not: Ödevler için son teslim tarihi 17.03.2011 dir. (Ofis Saatlerinde Bilgisayar Lab-1 de sorularınız için yardım alabilirsiniz.) 9