Kontrol Yapıları (2)

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

Giri. Program yazmaya balamadan önce

ALGORİTMA VE PROGRAMLAMA I

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

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

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

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

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

BİL-142 Bilgisayar Programlama II

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

Akış Konrol Mekanizmaları

Bölüm 4 C de Program Kontrolü

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

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

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

Programlama Dilleri 3

BBS515 Nesneye Yönelik Programlama. Ders 2 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?

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

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

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

MAT213 Bilgisayar Programlama I

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Program AkıĢ Kontrol Yapıları

7.1- Operatörler ve Giriş-Çıkış İşlemleri. M.İLKUÇAR - 1

C# Çalışma Örnekleri

Nesne Yönelimli Programlama

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

Program Akış Kontrol Yapıları

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

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

Java da Program Denetimi ve Operatörler

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Microsoft Visual Studio. internetten temin edilebilir. yazılımının başlatılması

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

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

HSancak Nesne Tabanlı Programlama I Ders Notları

1. PL/SQL de kontrol yapıları

/*int sayi1, sayi2,toplam=0;

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

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

ALGORİTMA VE PROGRAMLAMA I

Nesne Tabanlı Programlama

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

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

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

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

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

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

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.

Görsel Programlama 1

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

giriş program yapısı değişkenler metotlar class kontrol deyimleri döngü deyimleri diziler struct try. catch files GUI

Akış Kontrol Mekanizmaları

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

M.ilkucar MAKU MYO 1

BPR152-Algoritma ve Programlama II Uygulama -12

Lambda İfadeleri (Lambda Expressions)

Bölüm 3 Yapısal Programlama

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

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

Ders - 7 while döngüsü

BİLGİSAYAR PROGRAMLAMA DERSİ

Döngü Problemleri. 1. Aşağıdaki programın çıktısı nedir? continue yerine break yazılırsa çıktı ne olur? Neden? Program 1.1.

İnternet Programcılığı Dersi 2.Dönem Ders Notu

OPERATÖRLER Alıştırmalar

Java: printf() Metodu İle Çıktıyı Biçemleme

Metodlar. C# İçindeki Program Modülleri

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

ALGORİTMA VE PROGRAMLAMA I

11- FONKSİYONLAR (FUNCTIONS)

YZM 2105 Nesneye Yönelik Programlama

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

KONTROL YAPILARI (CONTROL STRUCTURES)

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

PROGRAMLAMA DİLLERİ I

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

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

public void DersNotListesi(string Ders, string Secim, double BarajNotu, bool OrtalamayaGore) [...]

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

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

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

3.Hafta. . Kontrol Deyimleri/İfadeler

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

Internet Programming II

Transkript:

Kontrol Yapıları (2) Giriş Sayaç Kontrollü Tekrar Yapısı for Tekrar Yapısı for Yapısı örnekleri switch Çoklu Seçim Yapısı do/while Tekrar Yapısı break ve continue deyimleri Mantık ve Şart Operatörleri Özet Sayaç Kontrollü Tekrar Yapısı Sayaç Kontrollü Tekrar Kontrol değişkeni (Control variable) Değişken döngünün devam edip etmeyeceğini belirlemek için kullanılır Kontrol değişkeninin başlangıç değeri atanır Değişken değeri artırılır veya azaltılır Döngünün devamı için şart Şart doğruysa döngü devam eder 1

1 // Fig. 5.1: WhileCounter.cs 2 // Counter-controlled repetition. 4 using System; 5 6 class WhileCounter 7 { Sayaç değişkeni 1 değeriyle 8 static void Main( string[] args başlatılır. ) 9 { 10 int counter = 1; // initialization 11 Döngü sayaç 5 değerinden büyük 12 while ( counter <= 5 ) // repetition oluncaya condition kadar devam eder (6 değeri 1 { olduğunda biter) 14 Console.WriteLine( counter ); 15 counter++; // increment Sayaç her döngüde 1 artırılır. 16 17 } // end while 18 19 } // end method Main 20 21 } // end class WhileCounter 1 2 4 5 for tekrar yapısı for Tekrar Yapısı Syntax: for (Expression1, Expression2, Expression) Expression1 = Kontrol değişkeninin adı Birden fazla değişken içerebilir Expression2 = Döngü devam şartı Expression = Artırma/Azaltma Expression1 birden fazla değişkene sahipse Expression te buna bağlı olarak birden fazla değişken içerir Variable scope Expression1 içinde tanımlanan değişkenler sadece for döngüsü içinde kullanılabilir. Döngü bitince değişkenler geçersiz olur. 2

for Tekrar Yapısı for keyword Kontrol değişkeni name Final value Kontrol değişkeni for ( int counter = 1; counter <= 5; counter++ ) Initial value Kontrol değişkeni Döngü devam şartı Increment Kontrol değişkeni Fig. 5. for başlığının elemanları for Tekrar Yapısı Kontrol değişkeninin başlangıç değeri atanır int counter = 1 Kontrol değişkeninin son değerine ulaşıldığı kontrol edilir. counter <= 10 false true Console.WriteLine ( counter * 10 ); Döngünün işlem bloğu counter++ Kontrol değişkeninin artılması Fig. 5.4 for tekrar yapısının akış şeması.

1 // Kontrol Fig. 5.2: değişkeni ForCounter.cs 1 değeriyle 2 // Counter-controlled repetition with the for structure. başlatıldı 4 using System; Sayaç her döngüde 1 artırılır 5 6 class ForCounter 7 { 8 static void Main( string[] Kontrol değişkeni args ) 6 dan küçük olduğu 9 { sürece döngü devam eder 10 // initialization, repetition condition and incrementing 11 // are all included in the for structure 12 for ( int counter = 1; counter <= 5; counter++ ) 1 Console.WriteLine( counter ); 14 } 15 } 1 2 4 5 Artırma ve Azaltma for Yapısı Örnekleri Artırmada Çoğunlukla < veya <= kullanılır Azaltmada Çoğunlukla > veya >= kullanılır Mesaj kutuları (Message boxes) Butonlar OK OKCancel YesNo AbortRetryIgnore YesNoCancel RetryCancel 4

Mesaj kutuları Icon lar Exclamation Question Error Information for Yapısı Örnekleri Format (variable : format) Format kodları Fig. 5.9 da verilmiştir. 1 // Fig. 5.5: Sum.cs 2 // Summation with Sayaç the 2 değeriyle for structure. başlatıldı Sayaç 100 den büyükse döngü biter 4 using System; 5 using System.Windows.Forms; 6 7 class Sum 8 { Her döngüde sayaç 2 artar 9 static void Main( string[] args ) 10 { 11 int sum = 0; 12 Mesaj metni 15 Mesaj kutusun başlığı 18 MessageBoxButtons.OK, 19 MessageBoxIcon.Information ); Ekranda OK butonunu gösterir 20 21 } // end method Main 22 2 } // end class Sum information icon ekranda gösterilir 1 16 for ( int number = 2; number <= 100; number += 2 ) MessageBox.Show( "The sum is " + sum, 14 17 sum += number; "Sum Even Integers from 2 to 100", Parametre 4: MessageBox Icon (Opsiyonel) Parametre : OK butonu (Opsiyonel) Parametre 2: Başlık çubuğu metni (Opsiyonel) Parametre 1: Ekranda gösterilecek mesaj 5

for Yapısı Örnekleri MessageBox Icon ları Icon Tanım MessageBoxIcon.Exclamation Ekrana ünlem işaretini çıkarır ve kullanıcıyı olası bir probleme karşı uyarır. MessageBoxIcon.Information MessageBoxIcon.Question MessageBoxIcon.Error Information işaretini ekrana çıkartır ve kullanıcıyı bir konuda bilgilendirmek için kullanılır. Ekrana soru işaretini çıkarır ve kullanıcıyı bir seçim için soru yöneltmek içni kullanılır. Ekrana X işaretini çıkarır ve önemli bir problem için kullanıcı uyarılır. Fig. 5.6 Mesaj kutuları için icon lar MessageBox Butonları MessageBoxButton.OK for Yapısı Örnekleri Tanımlama Diyalog kutusunun OK butonu içerdiğini bildirir. MessageBoxButton.OKCancel MessageBoxButton.YesNo MessageBoxButton.YesNoCancel MessageBoxButton.RetryCancel MessageBoxButton.AbortRetryIgnore Diyalog kutusunun OK ve Cancel butonlarını birlikte içerdiğini bildirir. Kullanıcı işlemi onaylayabilir veya iptal edebilir. Diyalog kutusunun Yes ve No butonlarını birlikte içerdiğini bildirir. Kullanıcıdan bir souya cevap almak için kullanılır. Diyalog kutusunun Yes, No ve Cancel butonlarını birlikte içerdiğini bildirir. Kullanıcı işlemi kabul edebilir, kabul etmeyebilir veya iptal edebilir. Diyalog kutusunun Retry ve Cancel butonlarını birlikte içerdiğini bildirir. Kullanıcı bir hatadan dolayı uyarılır. Kullanıcı işlemi tekrar ettirebilir veya iptal edebilir. Diyalog kutusunun Abort, Retry ve Ignore butonlarını birlikte içerdiğini bildirir. Kullanıcı bir hatadan dolayı uyarılır. Kullanıcı işlemi kesebilir, tekrar edebilir veya hatayı gözardı edebilir. Fig. 5.7 Mesaj kutuları için butonlar 6

1 // Fig. 5.8: Interest.cs 2 // Calculating compound interest. 4 using System; 5 using System.Windows.Forms; 6 7 class Interest 8 { 9 static void Main( string[] args ) 10 { 11 decimal amount, principal = ( decimal ) 1000.00; 12 double rate =.05; 1 string output; 14 15 output = "Year\tAmount on deposit\n"; 16 17 for ( int year = 1; year <= 10; year++ ) 18 { 19 amount = principal * 20 ( decimal ) Math.Pow( 1.0 + rate, year ); 21 22 Bir Tab ekle output += year + "\t" + 2 String.Format( "{0:C}", amount ) + "\n"; 24 } 25 26 MessageBox.Show( output, "Compound Interest", 27 MessageBoxButtons.OK, MessageBoxIcon.Information ); 28 29 } // end method Main 0 1 } // end class Interest Döngü 10 kez tekrarlanır. Her seferde 1 artırılır ve 11 olunca çıkılır Para birimine sahip format oluşturur Compound Interest başlığına sahip ve bir OK butonu ile bir Information icon ına sahip bir mesaj kutusu ekrana getirir. Ekran çıktısı 7

for Yapısı Örnekleri Format Kod C or c Tanımlama Parabirimi formatı. İlgili para birimi ülkeye göre değişir. Bilgisayarın bölgesel ayarlarına bağlı olarak çalışır. D or d N or n E or e F or f G or g X or x Fig. 5.9 String türündeki bilgileri integer olarak ekrana yazdırır. Virgülden sonraki iki basamak alarak yazar.. Bilimsel gösterimdir. Virgülden sonra 6 basamak alır. Sabit basamak sayısına göre sayıyı yazar. İstenen basamak sayısı F den hemen sonra girilir. Genel formattır. Hexadecimal formattır. Format kodları. switch deyimi switch Çoklu Seçim Yapısı Sabit deyimler Durumlar (Cases) Case x : Sabit durum değişkenleri kullanılır Boş durumlar (Empty Cases) Varsayılan durum (default case) break deyimi switch deyiminden çıkış 8

1 // Fig. 5.10: SwitchTest.cs 2 // Counting letter grades. 4 using System; 5 6 class SwitchTest 7 { 8 static void Main( string[] args ) 9 { 10 char grade; // one grade 11 int acount = 0, // number of As 12 bcount = 0, // number of Bs 1 ccount = 0, // number of Cs 14 dcount = 0, // number of Ds 15 fcount = 0; // number of Fs 16 17 for ( int i = 1; i <= 10; i++ ) 18 { 19 Console.Write( "Enter a letter grade: " ); 20 grade = Char.Parse( Console.ReadLine() ); 21 22 switch ( grade ) 2 { 24 case 'A': // grade is uppercase A 25 case 'a': // or lowercase a 26 ++acount; 27 break; 28 29 case 'B': // grade is uppercase B 0 case 'b': // or lowercase b 1 ++bcount; 2 break; 4 case 'C': // grade is uppercase C 5 case 'c': // or lowercase c 6 ++ccount; 7 break; 8 9 case 'D': // grade is uppercase D 40 case 'd': // or lowercase d 41 ++dcount; 42 break; 4 44 case 'F': // grade is uppercase F 45 case 'f': // or lowercase f 46 ++fcount; 47 break; 48 49 default: // processes all other characters 50 Console.WriteLine( 51 "Incorrect letter grade entered." + 52 "\ngrade not added to totals." ); 5 break; 54 55 } // end switch 56 57 } // end for 58 59 Console.WriteLine( 60 "\ntotals for each letter grade are:\na: {0}" + 61 "\nb: {1}\nC: {2}\nD: {}\nf: {4}", acount, bcount, 62 ccount, dcount, fcount ); 6 64 } // end method Main 65 66 } // end class SwitchTest 9

Enter a letter grade: a Enter a letter grade: A Enter a letter grade: c Enter a letter grade: F Enter a letter grade: z Incorrect letter grade entered. Grade not added to totals. Enter a letter grade: D Enter a letter grade: d Enter a letter grade: B Enter a letter grade: a Enter a letter grade: C Totals for each letter grade are: A: B: 1 C: 2 D: 2 F: 1 switch Çoklu Seçim Yapısı case: a true case a action(s) break; false case: b true case b action(s) break; false... true case: z case z action(s) break; false defaultaction(s) break; Fig. 5.11 switch çoklu seçimin akışşeması. 10

do/while Tekrar Yapısı while döngüsü ile do/while döngüsü karşılaştırması while döngüsü Döngü şartı test edilir İşlemler gerçekleştirilir Döngü tekrarlanır do/while İşlemler gerçekleştirilir Döngü şartı test edilir Döngünün tamamı en az bir kez çalıştırılır 1 // Fig. 5.12: DoWhileLoop.cs 2 // The do/while repetition structure. 4 using System; 5 6 class DoWhileLoop 7 { 8 static void Main( string[] args ) 9 { 10 int counter = 1; 11 12 do 1 { 14 Console.WriteLine( counter ); 15 counter++; 16 } while ( counter <= 5 ); 17 18 } // end method Main 19 20 } // end class DoWhileLoop 1 2 4 5 11

do/while Tekrar Yapısı action(s) condition true false Fig. 5.1 do/while tekrar yapısı akışşeması. Kullanım break ve continue deyimleri Kontrol akışını değiştirmek için kullanılır break deyimi Döngüden erken çıkmak için kullanılır continue deyimi Döngünün kalan işlemleri atlanır ve döngünün başına dönülür 12

1 // Fig. 5.14: BreakTest.cs 2 // Using the break statement in a for structure. 4 using System; 5 using System.Windows.Forms; 6 7 class BreakTest 8 { 9 static void Main( string[] args ) 10 { 11 string output = ""; 12 int count; 1 14 for ( count = 1; count <= 10; count++ ) 15 { 16 if ( count == 5 ) 17 break; // skip remaining code in loop 18 // if count == 5 19 20 output += count + " "; 21 22 } // end for loop 2 24 output += "\nbroke out of loop at count = " + count; 25 26 MessageBox.Show( output, "Demonstrating the break statement", 27 MessageBoxButtons.OK, MessageBoxIcon.Information ); 28 29 } // end method Main 0 1 } // end class BreakTest 1

1 // Fig. 5.15: ContinueTest.cs 2 // Using the continue statement in a for structure. 4 using System; 5 using System.Windows.Forms; 6 7 class ContinueTest 8 { 9 static void Main( string[] args ) 10 { 11 string output = ""; 12 1 for ( int count = 1; count <= 10; count++ ) 14 { 15 if ( count == 5 ) 16 continue; // skip remaining code in loop 17 // only if count == 5 18 19 output += count + " "; 20 } 21 22 output += "\nused continue to skip printing 5"; 2 24 MessageBox.Show( output, "Using the continue statement", 25 MessageBoxButtons.OK, MessageBoxIcon.Information ); 26 27 } // end method Main 28 29 } // end class ContinueTest 14

Operatörler Mantık ve Şart Operatörleri Mantıksal AND (&) Şart AND (&&) Mantıksal OR ( ) Şart OR ( ) Mantıksal exclusive OR or XOR (^) Mantıksal NOT (!) Birden fazla şart deyimlerinde kullanılır Mantık ve Şart Operatörleri expression1 expression2 expression1 && expression2 false false false false true false true false false true true true Fig. 5.16 Mantıksal AND (&&) için doğruluk tablosu expression1 expression2 expression1 expression2 false false false false true true true false true true true true Fig. 5.17 Mantıksal OR ( ) için doğruluk tablosu 15

Mantık ve Şart Operatörleri expression1 expression2 expression1 ^ expression2 false false false false true true true false true true true false Fig. 5.18 Mantıksal exclusive OR (^) için doğruluk tablosu expression!expression false true True false Fig. 5.19 Mantıksal NOT (!) için doğruluk tablosu 1 // Fig. 5.20: LogicalOperators.cs 2 // Demonstrating the logical operators. using System; 4 5 class LogicalOperators 6 { 7 // main entry point for application 8 static void Main( string[] args ) 9 { 10 // testing the conditional AND operator (&&) 11 Console.WriteLine( "Conditional AND (&&)" + 12 "\nfalse && false: " + ( false && false ) + 1 "\nfalse && true: " + ( false && true ) + 14 "\ntrue && false: " + ( true && false ) + 15 "\ntrue && true: " + ( true && true ) ); 16 17 // testing the conditional OR operator ( ) 18 Console.WriteLine( "\n\nconditional OR ( )" + 19 "\nfalse false: " + ( false false ) + 20 "\nfalse true: " + ( false true ) + 21 "\ntrue false: " + ( true false ) + 22 "\ntrue true: " + ( true true ) ); 2 24 // testing the logical AND operator (&) 25 Console.WriteLine( "\n\nlogical AND (&)" + 26 "\nfalse & false: " + ( false & false ) + 27 "\nfalse & true: " + ( false & true ) + 28 "\ntrue & false: " + ( true & false ) + 29 "\ntrue & true: " + ( true & true ) ); 0 16

1 // testing the logical OR operator ( ) 2 Console.WriteLine( "\n\nlogical OR ( )" + "\nfalse false: " + ( false false ) + 4 "\nfalse true: " + ( false true ) + 5 "\ntrue false: " + ( true false ) + 6 "\ntrue true: " + ( true true ) ); 7 8 // testing the logical exclusive OR operator (^) 9 Console.WriteLine( "\n\nlogical exclusive OR (^)" + 40 "\nfalse ^ false: " + ( false ^ false ) + 41 "\nfalse ^ true: " + ( false ^ true ) + 42 "\ntrue ^ false: " + ( true ^ false ) + 4 "\ntrue ^ true: " + ( true ^ true ) ); 44 45 // testing the logical NOT operator (!) 46 Console.WriteLine( "\n\nlogical NOT (!)" + 47 "\n!false: " + (!false ) + 48 "\n!true: " + (!true ) ); 49 } 50 } Conditional AND (&&) false && false: False false && true: False true && false: False true && true: True Conditional OR ( ) false false: False false true: True true false: True true true: True Logical AND (&) false & false: False false & true: False true & false: False true & true: True Logical OR ( ) false false: False false true: True true false: True true true: True Logical exclusive OR (^) false ^ false: False false ^ true: True true ^ false: True true ^ true: False Logical NOT (!)!false: True!true: False 17

Haftalık Ödev Bir otoparkta otomobil için 2YTL, kamyon için 5YTL ve otobüs için 8YTL ücret alınmaktadır. Kar oranları otomobil için %25, kamyon için %0 ve otobüs için %5 olarak belirlenmiştir. Kullanıcı gelen araçları sürekli bilgisayara girmektedir. Araç türü bilgisi olarak otomobil için O, kamyon için K ve Otobüs için B girilmektedir. Programdan çıkmak için C harfi girilmektedir. Her araç girildiğinde yeni araç türü girilmesi istenmekte ve çıkış için C girilmesi gerektiği kullanıcıya bildirilmektedir. C ile çıkıldığında ekrana aşağıdaki bilgileri başlıkları ile birlikte (Örn.: TOPLAM KAR MİKTARI = 75 YTL) alt alta yazan bir program yazınız. Toplam otomobil, kamyon ve otobüs sayılarını Toplam otomobil, kamyon ve otobüs cirolarını Otomobil, kamyon ve otobüs cirolarını yüzdelik dağılımlarını Toplam otomobil, kamyon ve otobüs kar miktarlarını Otomobil, kamyon ve otobüs kar miktarlarını yüdelik dağılımlarını Toplam araç sayısını Toplam gelir miktarını Toplam kar miktarını Not: Ödev programın kod çıktısı şeklinde teslim edilecek. Kapak sayfasında sadece öğrenci bilgileri (Numara, Ad Soyad) ile ödev adı olarak OTOPARK OTOMASYON PROGRAMI başlığı yazılacaktır. Haftalık ödev rapor kapak formatı http://w.gazi.edu.tr/web/akcayol web sayfasından downloads bölümünden elde edilebilir. 18