MAT213 Bilgisayar Programlama I

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

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

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

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

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

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

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

İç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

M.ilkucar MAKU MYO 1

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

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

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

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

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

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

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

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

Akış Kontrol Mekanizmaları

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

Ders - 7 while döngüsü

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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:

Programlama Dili Prensipleri. Lab Notları 4

3.Hafta. . Kontrol Deyimleri/İfadeler

BİL-142 Bilgisayar Programlama II

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

BİL-141 Bilgisayar Programlama I (Java)

C# Çalışma Örnekleri

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

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

Nesne Tabanlı Programlama

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

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.

Nesne Tabanlı Programlama

MAT213 Bilgisayar Programlama I Dersi Dönem Sonu Sınavı ( )

Nesne Yönelimli Programlama

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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.

EMT2226 Nesne Yönelimli Programlamaya Giriş

Program AkıĢ Kontrol Yapıları

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

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

Temel Veri Türü İşlemleri

Java da Program Denetimi ve Operatörler

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

JAVADA DİZİ İŞLEMLERİ

Bölüm 4 C de Program Kontrolü

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

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

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

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

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

BİL-141 Bilgisayar Programlama I (Java)

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

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

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

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

ALGORİTMA VE PROGRAMLAMA I

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

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

Nesne Yönelimli Programlama

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

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

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

Nesne Yönelimli Programlama

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

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.

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

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

Bölüm 3 Yapısal Programlama

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

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İ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İ

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Programlama Dilleri 3

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

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

Transkript:

if Komutu Bir mantıksal (boolean) ifadenin sonucuna göre bazı komutların çalıştırılıp, bazı komutların da çalıştırılmamasını sağlar. Komut(lar) (Doğru) Doğru Yanlış Boolean Komut(lar) (Yanlış) if (boolean ifade) doğru iken komut(lar) else yanlış iken komut(lar) if Komutu if (x<0)x = -x; x = -x x<0? if (x>y) int t = x; x = y; y = t; ; if (x>y) max = x; else max = y; x>y? int t = x; x = y; y = t; x>y? max = x; max = y; MAT213 Bilgisayar Programlama I Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü Emrah Akyar Sunum #2 Kontrol Yapıları ve Döngüler Doğru Komut 1 Komut 2 Komut 1 Boolean 1 Yanlış Doğru Komut 3 Boolean 2 Komut 2 Komut 4 Yanlış Komut 3 Doğrusal kontrol akış diyagramı (straight-line control flow chart) Kontrol yapıları ve döngü içeren akış diyagramı (control flow with conditionals and loops)

while komutu (örnek) int i = 4; while (i <= 10) i = 4; i <= 10? i = i + 1; Döngü içerisindeki komutlarla bir noktadan sonra mutlaka mantıksal ifadenin false değer alması sağlanmalıdır. while komutu (örnek) int i = 4; while (i <= 10) i = 4; i <= 10? i = i + 1; Döngü içerisindeki komutlarla bir noktadan sonra mutlaka mantıksal ifadenin false değer alması sağlanmalıdır. if Komutu (Örnek) public class YazıTura public static void main(string[] args) double para = Math.random(); if (para<0.5) System.out.println("Tura"); else System.out.println("Yazı"); para>=0.5 while Komutu while (mantıksal ifade) doğru iken çalıştırılacak komut(lar) Kullanım şekli if komutuyla aynıdır. Ancak if komutundan farklı olarak mantıksal ifadenin sonucu mantıksal ifade false oluncaya kadar her seferinde yeniden kontrol edilir. Yani while komutu özdeş bir dizi if komutuna denktir. if (mantıksal ifade) komut(lar) if (mantıksal ifade) komut(lar) if (mantıksal ifade) komut(lar) Döngünün devam koşulu Ayrı bir başlangıç komutu Döngü içerisinde tek komut olduğunda parantezler kullanılmayabilir. int v=1; while ( v<=n/2 ) v=2*v; Gövde (body) kısmı

for döngüsü for (<başlangıç>; <mantıksal ifade>; <artış>) <komut(lar)> <başlangıç>; while (<mantıksal ifade>) <komut(lar)> <artış>; for döngüsü for(int i = 1; i <=10; i=i+1) System.out.println(i + ". Merhaba"); Birleşik atama ifadeleri: i=i+1; i++; ++i; i+=1; i=i+1; i--; --i; i-=1; v=2*v; v*=2; v+=v; Tamsayılar için kullanılır. while komutu (örnek) Argüman olarak verilen negatif olmayan bir N tamsayısı için 2 nin 2 N sayısına kadar olan kuvvetlerini yazan program. public class IkininKuvvetleri public static void main(string[] args) int N = Integer.parseInt(args[0]); int v = 1; int i = 0; while (i<=n) System.out.println(i+ " " + v); v = 2*v; i = i+1; Alıştırma: Argüman olarak verilen ve negatif olmayan bir N tamsayısı için 2 nin N den daha küçük yada N ye eşit olan en büyük kuvvetini yazan program. Alıştırma (while komutu) Argüman olarak verilen ve negatif olmayan bir N tamsayısı için 2 nin N den daha küçük yada N ye eşit olan en büyük kuvvetini yazan programı yazınız. Örneğin, N=13 ise sonuç 8, N=1000 ise sonuç 512 olmalıdır. int v = 1; while ( v <= N/2 ) v = 2*v; v her zaman 2 nin kuvveti olur. v asla N den büyük olmaz. Döngü içerisinde v hep arttığından döngü sona erer. Döngü sona erdiğinde 2*v değeri N den daha büyüktür.

İç içe geçmiş if, while ve for komutları i=1; i++; i<=10? for(int i = 1; i <=10; i=i+1) j++; for (int j=1; j<=10; j++) System.out.print(i*j + "\t"); System.out.println(); j=1; j<=10?.print(i*j + "\t");.println(); İç içe geçmiş for komutu (Asal çarpanlara ayırma) long N=1234567890L; for (long i=2; i<=n/i; i++) while (N%i==0) System.out.print(i+" "); N=N/i; if (N>1) System.out.print(N); long tipteki bir değişkenin içerisine çok büyük basamaklı sayılar koyabilmek için değerin (literal) sonuna L harfi koyulmalıdır. Küçük L harfi de kullanılabilir ancak 1 ile karıştığı için tavsiye edilmez. Asal çarpanlara ayırma kriptoloji açısından çok önemli bir konudur ve maalesef çok büyük sayıları (yüzlerce ya da binlerce basamağı olan) asal çarpanlarına ayırmak için henüz efektif bir algoritma yoktur. for döngüsü for Döngüsünde Tanımlanan Değişkenin Kapsamı (Scope): for(int i = 1; i <=10; i=i+1) System.out.println(i + ". Merhaba"); Gövde/Body (for) Hata! i değişkeni for döngüsü dışında tanımlı değil! İç içe geçmiş if, while ve for komutları 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100

switch Komutu switch (gun) case 0 : System.out.println("Pazartesi"); case 1 : System.out.println("Salı"); case 2 : System.out.println("Çarşamba"); case 3 : System.out.println("Perşembe"); case 4 : System.out.println("Cuma"); case 5 : System.out.println("Cumartesi"); case 6 : System.out.println("Pazar"); default: System.out.println("Hatalı"); if (gun==0) System.out.println("Pazartesi"); else if (gun==1) System.out.println("Salı"); else if (gun==2) System.out.println("Çarşamba"); else if (gun==3) System.out.println("Perşembe"); else if (gun==4) System.out.println("Cuma"); else if (gun==5) System.out.println("Cumartesi"); else if (gun==6) System.out.println("Pazar"); else System.out.println("Hatalı"); switch Komutu (Örnek) int month = 2; int year = 2000; int numdays = 0; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: numdays = 31; case 4: case 6: case 9: case 11: numdays = 30; case 2: if (((year % 4 == 0) &&!(year % 100 == 0)) (year % 400 == 0)) numdays = 29; else numdays = 28; default: System.out.println("Hatalı ay!"); System.out.println("Number of Days = " + numdays); break komutu Bazı durumlarda döngü tamamlanmadan döngünün bitirilmesi gerekebilir. break komutu bu amaçla kullanılır. long N=234534567708541L; boolean asal=true; for (long i=2;i <= Math.round(Math.sqrt(N));i++) if (N%i == 0) asal=false; System.out.println(asal); Sayı asal değilse, döngünün tamamlanmasını beklemeden döngüden çık! Bir sayı asal değilse, karekökünden daha küçük olan bir asal çarpanı vardır (Neden?). continue komutu continue komutu döngünün gövde (body) kısmında yer alan ve bu komuttan sonra gelen komutların çalıştırılmaması için kullanılır. for (int i=1;i<=5;i++) if (i%2==0) continue; Çıktısı: 1 3 5

do-while komutu do komut(lar) while (<mantıksal ifade>); while döngüsüne benzer ancak ilk başta mantıksal ifadenin doğru olup olmadığı kontrol edilmez. Yani while döngüsünün başlangıç koşulu doğru (true) ise aralarında bir fark yoktur. int i=1; do while (i<1); Mantıksal ifade doğru olmadığı halde, döngü içerisindeki println komutu çalıştırılır. Ekrana 1 yazar. int i=1; while (i<1) Mantıksal ifade doğru olmadığı için döngü içerisindeki println komutu çalıştırılmaz. Ekrana herhangi birşey yazmaz. do-while komutu double x,y; do x = Math.random()*2.0-1.0; y = Math.random()*2.0-1.0; while ( x*x + y*y > 1.0); System.out.println(x); System.out.println(y); (x,y)