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

Benzer belgeler
Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

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

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

M.ilkucar MAKU MYO 1

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Ders - 7 while döngüsü

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

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

Akış Kontrol Mekanizmaları

Programlama Dili Prensipleri. Lab Notları 4

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

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

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

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.

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

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

BIL101 07/11/2012 Lab5 Programlama Sorulari

PROGRAMLAMA DİLLERİ I

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

C# Çalışma Örnekleri

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

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

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.

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

Python Programlama Dili

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.

MAT213 Bilgisayar Programlama I

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

BİL-142 Bilgisayar Programlama II

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

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

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

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

3.Hafta. . Kontrol Deyimleri/İfadeler

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 )

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

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

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

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

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

Program AkıĢ Kontrol Yapıları

Programlama Temelleri Örnek Sorular

// hataları işaret eden referans

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

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

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

Sunum İçeriği. Programlamaya Giriş

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Klavyeden Basit Giriş/Çıkış İşlemleri

ALGORİTMA VE PROGRAMLAMA I

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

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

ALGORİTMA VE PROGRAMLAMA I

Internet Programming II

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Nesne Tabanlı Programlama

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.

YZM 2105 Nesneye Yönelik Programlama

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

Program Akış Kontrol Yapıları

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Programlama Dilleri 3

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

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

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

BİL-141 Bilgisayar Programlama I (Java)

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Nesne Tabanlı Programlama

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

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

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

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

Java da Program Denetimi ve Operatörler

Transkript:

The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module 2:Server Side Internet Programming Modül 2: Sunucu Tarafı Internet Programlaması Laboratuar Notları This project is funded by The European Union A project implemented by CyberSoft Bilişim Teknolojileri Ltd.

İçerik Bölüm 3: Kontrol Deyimleri ve Döngüler Örnek 1: If Kontrol deyiminin kullanılışı.......2 Örnek 2: while döngüsünün kullanılışı.......3 Örnek 3: for döngüsünün kullanılışı.......4 Örnek 4: continue anahtar sözcüğünün kullanılışı....6 Çalışma 1: Credit....6 Çalışma 2: Palindrome (Tersinden de aynı şekilde okunabilen sayılar).9 Çalışma 3: Largest Number (En Büyük Sayıyı Bulma)......11 Çalışma 4: Triangles (Üçgen motifi yaratma).........13 Çalışma 5: Sales......15 1

Kontrol Deyimleri ve Döngüler Program yazarken, yazdıgımız kodların yukarıdan asagıya dogru sırasıyla çalıstırıldıgını biliyoruz. Ancak bazen bu kodların bu sırada değil de belirli şartlara bağlı olarak birkaç satırın atlanıp ileriden devam edilmesi ya da aynı satırların birden fazla sayıda çalıştırılması gibi isteklerimiz olabilir. İste bunun için kullanacağımız bazı deyimler ve döngüler vardır. Bu deyim ve döngüler sayesinde normalde her satırdan bir defa geçen ve yukarıdan başlayarak aşağı satırlara dogru ilerleyen program akışını, bazı satırları belli durumlarda okumadan, ya da bazı satırları birden fazla defa okuyacak şekilde yönlendirmemiz mümkün hale gelir. If Kontrol Deyimi: If deyimi belli bir şart sağlanması durumunda program akışını kendi faliyet alanı içerisine yönlendirir. Kendi faliyet alanının en son satırına kadar kodları çalıştırır ve daha sonra da program akışı if deyiminin faliyet alanının bittiği yerden devam eder. satır1 satır2 true if (ifade) false satır3 satır4 satır5 Şekil1: If Kontrol deyiminin yapısı Örnek 1: If Kontrol deyiminin kullanılışı 2

Bu örnekte de görüldüğü gibi bir şartın saglanması demek, aslında if deyiminin kontrol parantezleri içerisindeki ifadenin true olması demektir. Aynı sekilde bu sartın saglanmaması ise ifadenin false degerini üretmesi anlamına gelir. Yukarıdaki örnekte eğer number% 2 ifadesi eğer false olursa ekrana is odd mesajı gelecektir. Ancak true olursa is even mesajını alırsınız. while Döngüsü: Simdi de kullanıcımız bizden program çalıstığında girdiği değer limitine kadar olan sayıların tek mi çift mi olduğunu test etmek istiyor. Ne zaman ki girilen değer limitden büyük olur, o zaman program sonlansın diyor. Bu durumda sayı testi bir döngü içerisine sokulmalıdır. Bu döngünün en basında önce sayının xlimit den küçük olup olmadığına bakılmalı sonra ya döngü tekrar dönmeli ya da sonlandırılmalıdır. Bunun için en uygun döngü while döngüsü olacaktır. while, eğer içerisindeki ifade true ise program akışını kendi içine yönlendirir. Program while faliyet alanının en sonuna geldiğinde tekrar while döngüsünün ilk satırına döner ve ifadeyi yine kontrol eder. Bu işlem, while içerisindeki ifade false olana kadar devam eder. satır1 satır2 true if (ifade) false satır3 satır4 satır5 Şekil2: while döngüsünün yapısı. Örnek 2: while döngüsünün kullanılışı 3

for Döngüsü: Şu ana kadar bir koşul sağlandığı sürece otomatik olarak döngüye girilmesini while deyimi ile yapabileceğimizi gördük. Ancak bu döngü koşul sağlandığı sürece, belli bir tekrar sayısı kadar değil her zaman devam ediyordu. Koşul sağlansa bile belirli bir tekrar sayısı da belirlemek istiyorsak o zaman for döngüsünü kullanmak gerekir. for döngüsü söyle çalısmaktadır: for( <ilk değer> ; <koşul> ; <ifade> )... Şekil3: for döngüsünün yapısı Buna göre ilk değer ile başlayan döngü ile program for bloğuna girdikten sonra bloğun sonuna geldiğinde koşulun sağlanıp sağlanmadığını kontrol edecek ve koşul sağlanıyorsa ifade yi gerçekleyip tekrar döngüye girecektir. Örneğin, / /ForDongusu.java public class ForDongusu public static void main(string arg[]) for(int i = 0; i < 10; i++) System.out.println("i nin değeri: ",i); Bu program çalıstıgında ekrana 10 satır boyunca i nin degeri: 0 i nin degeri: 1... i nin degeri: 9 Örnek 3: for döngüsünün kullanılışı şeklinde yazacaktır. Program akışı her döngüye girişinde i nin değeri ekrana yazılmakta ve blok sonunda i++ ifadesinden dolayı bu değer bir artırılmakta ve koşulun sağlanıp sağlanmadığına bakılmaktadır. switch Deyimi: switch deyimi kullanımı da, birden fazla else if kullanımına alternatiftir. Mesela yazdığınız programda kullanıcıdan bir giriş isteyebilirsiniz. Kullanıcının gireceği bu değer 4 tane değerden birtanesi olabilir ve siz olası her değer için bir işlem yapmak istiyor olabilirsiniz. Bunun için 4

if(değer 1) else if(değer 2)... else Şekil4: else-if döngüsünün yapısı yapısını kullanabilirsiniz. Ancak böyle durumlarda switch daha iyi bir alternative olacaktır. switch deyimi söyle çalısmaktadır: switch( <değişken> ) case değer1: ifade ya da islemler; break; case değer2: ifade ya da islemler; break;...... case değer n: ifade ya da işlemler; break; default: ifade ya da işlemler; break; Şekil5: Switch deyiminin yapısı Bu yapıya göre program akışı, değişken içindeki değere göre case anahtar sözcüğü ile belirlenmiş uygun satıra atlar. O satırdaki ifade ya da işlemler gerçekleştirildikten sonra switch deyiminden çıkılır. Aşağıdaki örnek programımızda kullanıcıya bir menü sunalım ve bu menüden bir seçenegi seçmesini isteyelim. Bu seçim neticesinde de seçime uygun bir mesajın ekrana gelmesini saglayalım. Örneğimizde ilk basta yaratılan seçim_flag adındaki boolean değişken ilk değer olarak true olduğu için, program akışının ilk seferde while döngüsüne gireceğini garanti etmiş oluyoruz. Eger kullanıcı listede olmayan bir seçim girecek olursa, secim_flag değiskeni tekrar true değerini alacak ve kullanıcıdan tekrar bir giriş yapması istenecektir. Kullanıcı listede olan bir giriş yaparsa program sonlanacaktır. Bu durumda listede olmayan girişler girildigi sürece program çalışmaya devam edecektir. continue Anahtar Sözcüğü: Herhangi bir döngü içerisine girildiğinde, daha döngü bloğunun sonuna gelinmeden o andaki adım için işlemleri sonlandırıp bir sonraki döngü adımına hemen geçilmek isteniyorsa continue anahtar sözcüğünü kullanmak gerekir. Mesela yazdıgımız programda 1'den 10'a kadar olan sayılar toplamak istiyoruz ama bu toplam içerisine 3 ve 3 ün katlarını eklemek istemiyoruz. Bunun için bir for döngüsü kullanmak gerekir. Ancak bu döngüyü 3 ve 3'ün katlarına gelindiğinde durdurup bir sonraki değerle döngüye devam etmek gerekmektedir: 5

//Toplama.java public class Toplama public static void main(string arg[]) int toplam = 0; for(int i = 0; i < 10; i++) if(i % 3 == 0) continue; toplam += i; System.out.println("Toplam: ", toplam); System.exit(0); Örnek 4: continue anahtar sözcüğünün kullanılışı Bu örnekte % operatörünü kullandık. Bu operatör soldaki sayının sağdaki sayıya bölümünden kalan değeri üretir.yani i sayısı o anda hangi değere sahipse, bu değerin 3'e bölümünden kalan sayının 0'a eşit olup olmadığı kontrol edilmektedir. Eğer bu kalan sayı 0'a eşit ise demek ki sayımız 3 ya da 3'ün bir katıdır. Bu yüzden if parantezi içerisindeki == kontrolü sağlandığından dolayı true değeri üretilecek ve dolayısı ile if bloğu içerisine girilecektir. If bloğu içerisinde continue anahtar sözcügü sayesinde o andaki for adımı sonlanacak ve bir sonraki i değeri ile for bloğunun en başına dönülecektir. Çalışma 1. Credit Aşağıda verilen program şablonu hatasız çalışan bir Java programıdır. Ancak programdaki bir veya birden fazla anahtar satırları açıklama satırlarıyla değiştirilmiştir. Problem tanımını okuyun ve örnek sonucu inceleyin; daha sonra da şablon kod üzerinde çalışın. Problem çözme ipuçları nı kullanarak /* */ gösterilen açıklama satırlarını Java koduyla değiştirin. Programınızı derleyin ve çalıştırın. Bulduğunuz sonucu örnek sonuçla karşılaştırın. 1.1 Credit Çalışmasının Amacı Bu çalışmada şu konular incelenecektir: pseudocode (sözde program) yazılması kontrol deyimlerinin kullanılması 1.2 Credit Çalışmasının Problem Tanımı Herhangi bir mağaza müşterilerinin kredi kartı hesabınının limitini aşıp aşmadığını control eden bir Java uygulaması yazınız. Her müşteri için şu bilgiler mevcuttur: hesap numarası (account) Ayın başındaki bakiyesi (oldbalance) Bu ayki toplam harcaması (charges) Müşteri hesabına aktarılan toplam kredi miktarı (credits) Kredi limiti (creditlimit) 6

Program yukarıda belirtilen değerleri giriş bilgisi (input) olarak isteyip yeni bakiyeyi (newbalance) hesaplamalıdır. (newbalance = oldbalance + charges credits). Daha sonra newbalance ekrana yazılıp newbalance ın credits limitini aşıp aşmadığı test edilmelidir. Eğer credits limiti aşılmışsa program "Credit limit exceeded" mesajını ekrana yazmalıdır. 1.3 Credit Çalışmasının Örnek Program Çıktısı 1.4 Credit Çalışmasının Program Şablonu //Lab : Credit.java //Program monitors accounts import java.util.scanner public class Credit // calculates the balance on several credit accounts public void calculatebalance() Scanner input = new Scanner( System.in ); int account; // account number int oldbalance; // starting balance int charges; // total charges int credits; // total credits int creditlimit; // allowed credit limit int newbalance; // new balance System.out.print( "Enter Account Number (or - to quit): " ); /* programa bir sayıyı input olarak alıp onu account içerisinde saklayan kodu yazınız */ /* account numarası -1 olmadığı sürece dönecek olana bir while loop yazınız*/ /* diğer müşteri bilgilerini inpu olarak girileceği kodları yazınız */ 7

/* newbalance hesaplayacak kodu yazınız */ /* newbalance değerinin credits den büyük olup olmadığını test eden if komutunu yazınız ve uygun bilgiyi ekrana yazdırınz. */ /* new account number (yeni hesap numarasını input olarak alan kodu yazınız ve while loop bitiriniz.*/ // end method calculatebalance // end class Credit Şekil 1.1 Credit.java // Lab 1: CreditTest.java // Test application for class Credit public class CreditTest public static void main(string args[]) Credit application = new Credit(); application.calculatebalance(); // end main // end class CreditTest Şekil 1.2 CreditTest.java 1.5 Credit Çalışması için Problem Çözme İpuçları 1. Beş tane input değeri gereklidir. Ama account numarası uygun bir numara olup olmadığı bakılması için while loop undan once girilmelidir. Dolayısıyla toplamda altı tane input girişi olmalıdır. Beş tanesi while loop içinde, bir tanesi while loop dan önce olmalıdır. 2. newbalance hesaplarken (newbalance = oldbalance + charges credits) formülünü kullanınız. 3. newbalance ın creditlimit ini aşıp aşmadığını control etmek için if komutunu kullanınız. Eğer aşmışşsa limitin aşıldığını belirten mesajı ekrana yazdırınız. 4. Modify the program to use counter-controlled repetition to process 10 accounts. 5. Programı counter kontrolu kullanarak10 kere çalışacak şekilde değiştiriniz. 6. Programı counter kontrolu kullanarak kullanıcının istediği miktar kadar çalışacak şekilde değiştiriniz. Bunun için number isminde yeni bir değişken tanımlayınız ve kullanıcının bu değeri girmesini isteyiniz. 8

Çalışma 2: Palindrome (Tersinden de aynı şekilde okunabilen sayılar) Aşağıda verilen GradeBook ismindeki program şablonu hatasız çalışan bir Java programıdır. Ancak programdaki bir veya birden fazla anahtar satırları açıklama satırlarıyla değiştirilmiştir. Problem tanımını okuyun ve örnek sonucu inceleyin; daha sonra da şablon kod üzerinde çalışın. Problem çözme ipuçları nı kullanarak /* */ gösterilen açıklama satırlarını Java koduyla değiştirin. Programınızı derleyin ve çalıştırın. Bulduğunuz sonucu örnek program çıktısıyla karşılaştırın. 2.1 Palidrome Çalışmasının Amacı Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. Bu çalışmada şu konular incelenecektir: kontrol deyimlerinin kullanılması if-else control deyimlerinin kullanılması sentinel-controlled döngüler 2.2 Palindrome Çalışmasının Problem Tanımı Palindrom tersten okunduğu zaman da aynı olan cümleler ve sayılar grubudur. 5 basamaklı palindrom sayı örnekleri şunlardır: 12321, 55555, 45554. 5 basamaklı sayıyı input alıp, onun bir palindrome olup olmadığını test eden bir uygulama kodu yazınız. Eğer girilen sayı beş basamaklı değilse, ekrana bir hata mesajı yazdırınız ve kullanıcıdan yeni bir input girmesini isteyiniz. 2.3 Palindrome Çalışmasının Örnek Program Çıktısı 2.4 Palindrome Çalışmasının Program Şablonu // Lab 2: Palindrome.java // palindrome olup olmadigini test eden program import java.util.scanner; public class Palindrome // 5 basamaklı sayının palindrome olup olmadığını test eder. public void checkpalindrome() Scanner input = new Scanner( System.in ); int number; // kullanıcının girdiği input değeri 9

int digit1; // 1. sayı int digit2; // 2. sayı int digit4; // 4.sayı int digit5; // 5. sayı int digits; // girilen input daki sayı miktarı number = 0; digits = 0; /* 5 basamaklı sayı input girmek için kullanılan kodu yazınız. Eğer girilen değer 5 basamaklı değilse hata mesajı yazdırınız. Doğru bir input devam edene kadar döngüyü devam ettiriniz. */ /* Beş basamaklı sayıyı 5 adet sayıya bölen kodu yazınız. /* 1. ve 5. sayıların ve de 2. ve 4. sayıların aynı olup olmadığını kontrol eden kodu yazınız. Girilen sayının palındromolup olmadığını ekrana yazdırınız.*/ // end method checkpalindrome // end class Palindrome Şekil 2.1 Palindrome.java // Lab 2: PalindromeTest.java // Test application for class Palindrome public class PalindromeTest public static void main( String args[] ) Palindrome application = new Palindrome(); application.checkpalindrome(); // end main // end class PalindromeTest Şekil 2.2 PalindromeTest.java 2.5 Palindrome Çalışması için Problem Çözme İpuçları 1. Girilen input sayısında kaç tane sayı olduğunu hesaplayınız ve bulduğunuz değeri digit isimli değişkene atayınız. Girilen input da 5 tane sayı olup olmadığını test etmek için while loop kullanınız. Bunun için digit değerinin beşe eşit olup olmadığını test ediniz. Eğer değilse, kullanıcıdan yeni bir ınput girmesini isteyiniz. Doğru input girilene kadar while loop dönmelidir. 2. 5 sayıyı elde edebilmek için Bölme (division) ve kalan (remaınder) hesaplamalarını kullanınız. 5 basamaklı bir sayının palidrom olabilmesi için (1. Ve 5. sayıların ) ve (2. Ve 4. sayıların) aynı olması gereklidir. 3. Programı 7 basamaklı sayının palindrome olup olmadığını test edecek şekilde değiştiriniz. 10

Çalışma 3. Largest Number (En Büyük Sayıyı Bulma) 3.1 Largest Number Çalışmasının Amacı Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. while döngüsünün kullanılışı counter kontrollu tekrarların kullanılması if kontrol deyimlerinin kullanılması 3.2 Largest Number Çalışmasının Problem Tanımı En büyük sayıyı bulma sıkla kullanılar bir uygulamadır. Mesela ayın en çok satış yapan elemanını belirlerken her eleman sattığı miktarı input olarak girer. En çok mal satan satış elemanı ayın elemanı seçilir. 10 tane sayıyı input alıp, bu sayıların içindeki en büyük sayıyı bulup ekrana yazdıran bir Java uygulaması yazınız. Programda en az 3 tane değişken kullanılmalıdır: counter: kaç tane sayının input olarak girildiğini ve ne zaman 10 tane olduğunu bulmak için kullanılacak değişken number: kullanıcı tarafından en son girilen input largest: şimdiye kadarbulunan en büyük değer 3.3 Largest Number Çalışmasının Örnek Program Çıktısı 3.4 Largest Number Çalışmasının Program Şablonu // Lab 3: Largest.java // Bu program on sayıdan en büyüğünü bulup ekrana vazdırır import java.util.scanner; public class Largest // determine the largest of 10 numbers public void determinelargest() Scanner input = new Scanner( System.in ); int largest; // en büyük sayı int number; // kullanıcı input 11

int counter; // girilen sayı miktarı /* birinci sayıyı input olarak alıp largest değişkenine atayan kodu yazınız */ /* counter değerini 1 e eşitleyiniz*/ /* 10 tane sayı girilene kadar devam edilecek loop yazınız*/ /* kullanıcıdan bir sayı girmesini isteyen ve bu sayıyı okuyan kodu yazınız */ /* girilen değerin en son bulunan largest değerinden büyül olup olmadığını test edip, eğer büyükse girilen değeri largest ile değiştiren kodu yazınız */ /* number değerini artıran kodu yazdırınız.*/ System.out.printf( "Largest number is %d\n", largest ); // end method determinelargest // end class Largest Şekil 3.1 Largest.java // Lab 3: LargestTest.java // Largest sınıfı için Test uygulaması public class LargestTest public static void main( String args[] ) Largest application = new Largest(); application.determinelargest(); // end main // end class LargestTest Şekil 3.2 LargestTest.java 3.5 Largest_Number Çalışması için Problem Çözme İpuçları 1. Programın başında count değerini 1 e eşitleyiniz. 2. Girilen değerin largest değerinden büyük olup olmadığını test eden if control deyımı kullanınız. 3. Programı en büyük iki sayıyı bulabilecek şekilde değiştiriniz. 12

4.1 Triangles Çalışmasının Amacı Çalışma 4. Triangles (Üçgen motifi yaratma) Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. içiçe geçmiş for döngülerinin kullanılması counter kontrollu tekrarların kullanılması 4.2 Triangles Çalışmasının Problem Tanımı for döngüsünü kullanarak aşağıdaki motif şeklini oluşturacak bir Java uygulaması yazınız. Herbir (*) ı ayrı bir System.out.print( "*" ); komutu kullanarak yanyana ekrana yazınız. Bir alt satıra geçmek için ise System.out.println() komutunu kullanınız. İki motif arasındaki boşluğu yaratmak içinse System.out.print( " " ); komutunu kullanınız. Bu komutlar dışında başka hiçbir komut kullanılmamalıdır. 4.3 Triangles Çalışmasının Örnek Program Çıktısı 13

4.4 Triangles Çalışmasının Program Şablonu // Lab 1: Triangles.java // Program prints four triangles, one below the other public class Triangles // 4 tane üçgen çizer public void drawtriangles() int row; // the row position int column; // the column position int space; // number of spaces to print // 1. üçgen /* 1. Üçgeni çizecek kodu yazınız. İçiçe geçmis for döngüleri kullanınız. Dıştaki döngü * ın hangi satırda yazılacağını control etmelidir. İçteki for döngüsü ise her seferinde bir * ekrana yazdırmalıdır. */ // 2. üçgen /* 1. Üçgeni yaparken kullandığınız teknikleri kullarak 2. üçgeni oluşturunuz */ // 3. üçgen /*3. Üçgeni çizecek kodu yazınız. Dıştaki döngü iki ayrı for döngüsü içermelidir. İçteki for döngünden biri boşlukları diğeri ise * ı ekrana yazmalıdır.*/ // 4. üçgen /* 3. üçgeni yaparken kullandığınız teknikleri kullarak 4. üçgeni oluşturunuz */ // drawtriangles metodunun sonu // Triangles sınıfının sonu Şekil 4.1 Triangles.java // Lab 1: TrianglesTest.java // Triangles sınıfı Test uygulaması public class TrianglesTest public static void main( String args[] ) Triangles application = new Triangles(); application.drawtriangles(); // main sonu // TrianglesTest sınıfının sonu Şekil 4.2 TrianglesTest.java 14

4.5 Triangles Çalışması için Problem Çözme İpuçları 1. Birinci üçgeni oluştururken içiçe geçmiş iki for döngüsü kullanınız. Dıştaki for döngüsü satır sayısını, içteki for döngüsü ise sütun sayısını saymalaıdır. İçteki döngü 1 den o andaki satır numarasına kadar saymalıdır. 2. İkinci üçgeni oluştururken içiçe geçmiş iki for döngüsü kullanınız. Dıştaki for döngüsü 10 dan 1 e kadar geri saymalıdır. İçteki döngü ise birinci üçgenin içteki döngüsüyle aynı olmalıdır. 3. Son iki üçgen motifi ise her satırın başında uygun sayıda boşluk bırakılarak çizilmelidir. 4. Üçüncü ve dördüncü üçgenler için iki ayrı içiçe geçmiş for döngüsü kullanılmalıdır. İçteki for döngünden biri boşlukları diğeri ise * ı ekrana yazmalıdır. 5.1 Sales Çalışmasının Amacı Çalışma 5. Sales Bu çalışmanın amacı aşağıda belirtilen Java programlama konseptlerinin öğrenilmesini sağlamaktır. switch komutunun kullanılması 5.2 Triangles Çalışmasının Problem Tanımı İnternet üzerinden satış yapan bir firma beş çeşit ürün satmaktadır. Bu ürünlerin fiyatları şu şekildedir: product 1, $2.98 product 2, $4.50; product 3, $9.98 product 4, $4.49 product 5, $6.87 Ürün kodu (product_number) ve satılan miktar (quantity sold) bilgileri dizisini ekrandan alan bir Java uygulaması yazınız. Her bir ürünün satış fiyatını belirlemek için switch komutunu kullanınız. Satılan bütün ürünlerin toplam değerini hesaplayıp ekrana yazdırınız. Bitiş simgesi kontrollü döngü kullanarak programın ne zaman sona ereceğini belirleyiniz ve sonucu ekrana yazınız. 5.3 Sales Çalışmasının Örnek Program Çıktısı 15

5.4 Sales Çalışmasının Program Şablonu // Lab 2: Sales.java // program girilen inputa göre toplam satışı hesaplar // import java.util.scanner; public class Sales // 5 ürünün satışını hesaplar public void calculatesales() Scanner input = new Scanner( System.in ); double product1 = 0; // birinci üründen satılan miktar double product2 = 0; // ikinci üründen satılan miktar double product3 = 0; // üçüncü üründen satılan miktar double product4 = 0; // dördüncü üründen satılan miktar double product5 = 0; // beşinci üründen satılan miktar /* kullanıcıya almak istediği ürün numarasını sorunuz. */ /* bitiş simgesi girilene kadar devam eden while dögüsünü yazınız */ /* kullanıcın girdiği ürün kodunun 1-5 arasında olup olmadığını kontrol ediniz */ /* Eğer girilen ürün kodu 1-5 arasındaysa kullanıcıya istediği miktarı (quantity sold) sorununuz */ /* Girilen ürünün toplamını belirlemek için kullanılan switch komutunu yazınız.*/ /* Eğer girilen ürün kodu 1-5 arasında değilse, 0 olup olmadığını test ediniz */ /* Yanlış girilmiş ürün kodu için ekrana mesaj yazınız */ /* Kullanıcıya başka bir ürün kodu sorunuz. */ /* while döngüsü sonu */ System.out.println(); System.out.printf( "Product 1: $%.2f\n", product1 ); /* her bir ürünün kalan ürün miktarını alt alta ekrana yazdırınız */ // calculatesales metod sonu // Sales sınıfının sonu Şekil 5.1 Sales.java 16

// Lab 2: SalesTest.java // Test application for class Sales public class SalesTest public static void main( String args[] ) Sales application = new Sales(); application.calculatesales(); // end main // end class SalesTest Şekil 5.2 SalesTest.java 5.5 Sales Çalışması için Problem Çözme İpuçları 1. while dögüsünden önce kullanıcıdan ilk ürün kodunu girmesini isteyiniz. 2. döngüyü bitirmek için bitiş simgesi kullanınız. Bitis simgesi olarak ürün kodu 0 girilmelidir. 3. Eğer girilen ürün kodu doğruysa, döngü içerisinde kullanıcıya bu üründen kaç adet istediğini sorunuz. Daha sonra switch komutunu kullanarak gerekli hesaplamaları yapınız. 4. switch komutu beş tane case içermelidir. Bu case lerin içerisinde kullanıcın girdiği miktara uygun olacak şekilde toplam hesaplanmalıdır. 17