Denetim Yapıları Program Akışının Yönlendirilmesi. Şekil 11.1: Akışı Koşullu Yönlendirme

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Denetim Yapıları. 11.1 Program Akışının Yönlendirilmesi. Şekil 11.1: Akışı Koşullu Yönlendirme"

Transkript

1 11 Denetim Yapıları Şekil 11.1: Akışı Koşullu Yönlirme 11.1 Program Akışının Yönlirilmesi Her programlama dilinde, program akışı hiç bir koşula bağlı olmaksızın doğrusal gidiyorsa, deyimler programda yazıldığı sıra ile işlenir. Ama, ge-

2 118 BÖLÜM 11. DENETIM YAPILARI nellikle büyük programlarda böyle olamaz. Çünkü, akış sırasında karşılaşılacak durumlara bağlı olarak işlenecek deyimler değişebilir. Örneğin, bir ücret bordrosu programında, gelir vergisi kesintisi düşük ücretlerde az, yüksek ücretlerde çoktur. Öyleyse düşük ücretlerde gelir vergisi hesabı yapan deyimler ile yüksek ücretlerde gelir vergisi hesabı yapan deyimler farklı olmalıdır. Hangi deyimin hangi ücretler için işleyeceğini belirleyen yöntemlerin olması gerekir. Program akışının yönünü değiştirerek, belirlenen koşulların gerektirdiği deyimlere yönliren karar vericiler birer boolean (mantıksal) deyimdir (bkz. 7). Karar verici boolean deyimi doğru (true) değer alıyorsa program akışı bir yöne, yanlış (false) değer alıyorsa başka yöne gider. Karar vericiye yönlirici dememizin nedeni budur. Yönliriciler ait oldukları dil içinde belirli birer sözdizimine sahiptirler. O nedenle, onları ilgili programlama dili içinde özel yapılar olarak görmek gerekir (bkz. [2]). Hemen her programlama dilinde if ve if-else yönliricileri vardır. if ve else deyimleri içiçe yuvalanabilirler. Böylece daha karmaşık mantıksal ifadeler oluşur. Ancak en karmaşık mantıksal yönlirmelerin if ve else deyimleriyle kurulabildiğini bilmek, konuyu basitleştirecektir. Başka bir deyişle if ve if-else yapılarının program akışını nasıl yönlirdiklerini bilmek, onların karmalarını oluşturmak için yeterlidir. Bu iki yapının program akışını nasıl yönlirdiği, akış şemaları çizilerek kolayca görülebilir if... Yönliricisi Şekil 11.2: if yönlirmesi

3 11.1. PROGRAM AKIŞININ YÖNLENDIRILMESI 119 if... karar yapısı, program akışını ya ana doğrultuda devam ettirir ya da karar noktasında if blokuna saptırır. Program akışı ana doğrultu boyunca doğrusal akarken (kodlar yazıldığı sırada işlenirken) karar verici deyime gelince, akış önce boolean deyiminin değerini bulur. Karar noktasındaki boolean ifadesinin değeri (bkz. Şekil 11.2); 1. true (doğru) ise, program akışı karar noktasında ana akış doğrultusundan sapar if blokuna yönelir. if bloku içindeki deyimleri sırayla işledikten sonra tekrar ana doğrultuda saptığı yerden sonraki ilk deyime döner. Ondan sonra ana doğrultuda doğal akışını sürdürür. 2. false (yanlış) ise, program akışı ana doğrultudan sapmaz. Ana doğrultuda karar noktasından sonraki deyime geçer ve sonra doğal akışını sürdürür; yani program akışı if blokuna girmez. if denetimin üç sözdizimi Liste 11.1 içinde numaralı olarak gösterimiştir. Liste [ 1 ] i f boolean 3 deyim ( l e r ) 8 [ 2 ] i f boolean then deyim ( l e r ) [ 3 ] i f boolean ; deyim ( l e r ) [1] biçeminde boolean ifade satırbaşı (newline) ile sonrakilerden ayrılmıştır. [2] biçeminde boolean ifade then anahtar sözcüğü ile sonrakilerden ayrılmıştır. [3] biçeminde boolean ifade (;) ile sonrakilerden ayrılmıştır. Örnekler: Liste i f x > 0 p r i n t ( x p o z i t i f t i r ) 5 i f x > 0 then p r i n t ( x p o z i t i f t i r ) i f x > 0 ; p r i n t ( x p o z i t i f t i r ) Liste 11.3.

4 120 BÖLÜM 11. DENETIM YAPILARI i f x < 0 p r i n t ( x n e g a t i f t i r ) 3 i f x < 0 then p r i n t ( x n e g a t i f t i r ) i f x < 0 ; p r i n t ( x n e g a t i f t i r ) Sınırlaması if bloku ile sınırlanır. Blok içine istenildiği kadar deyim yazılabilir. Ama sınırı konulmazsa, if bloku tamamlanmadığı için, Ruby aşağıdaki uyarıyı verir: syntax error, unexpected of input, expecting keyword_ Program x = 3 i f x >= 0 p r i n t ( x ya p o z i t i f t i r ) 4 p r i n t ( ya da s ı f ı r d ı r ) 1 syntax error, unexpected of input, expecting keyword_ Liste x = 3 2 i f x >= 0 p r i n t ( x ya p o z i t i f t i r ) p r i n t ( ya da s ı f ı r d ı r ) Liste x =10 i f x == 10 p r i n t " x 12 d i r \n " Liste d e f p o z i t i f m i x = 8 i f x >= 0 puts "#{x} ya p o z i t i f t i r " puts " ya da s ı f ı r d ı r " 6 puts p o z i t i f m i

5 11.2. IF... THEN... DENETIMI 121 Liste x =10 i f x == 10 p r i n t " #{x} on dur\n " Ard arda if Ard arda if deyimlerinin her birisi ki başına bir yönliricidir. Program 11.2 deki ilk if blokunun ikinci if-else bloku ile ilişkisi yoktur. Birbirlerinden bağımsız çalışırlar. Eğer, ilk if denetimine bağlı olarak ikincinin çalışması isteniyorsa else ya da elsif denetimleri kullanılmalıdır. Program ad = " Anday" i f ad == "Anday" puts " Merhaba Anday" 6 i f ad == " Alper " puts " A d ı n ı z ı bilmiyorum " puts " Kimsiniz " 11 Merhaba Anday Kimsiniz if... then... denetimi if- bloku belirli bir mantıksal ifade (boolean) doğru ise işlenecek deyim ya da deyimleri içerir. Mantıksal deyimin () parantezi içine alınması gerekmez. Mantıksal deyimin bittiğini belirtmek için yeni satır (newline) (;) ya da then anahtarı kullanılır. if- blokunda işlenecek deyimlerim { } parantezi içine alınması gerekmez. Ancak, kaynak programın kolay okunurluğunu sağlamak istersek, işlenecek deyimleri { } parantezi içine alabiliriz.

6 122 BÖLÜM 11. DENETIM YAPILARI Şekil 11.3: if-then yönliemesi if blokunun deyim(leri) ayrı satırlara yazılıyorsa, then anahtarı gerekli değildir. Yazılsa da yazılmasa da olur. Ama if... then... bloku tek bir satıra yazılıyorsa, then anahtarı zorunlu olur. then anahtarı yerine (;) da kullanılabilir. Tek satıra birden çok deyim yazılıyorsa, deyimler (;) ile birbirlerinden ayrılır. Liste 11.8 örneğinde [1],[2],[3] denetim yapıları doğrudur, ama dördüncü sıradaki [4] yapısı yanlıştır Liste [ 1 ] x = 7 i f x < 0 puts x n e g a t i f t i r 6 [ 2 ] i f x < 0 then puts ( " x n e g a t i f t i r " ) [ 3 ] 11 x = 7 i f ( x < 0) ; puts ( " x n e g a t i f t i r " ) [ 4 ] i f x < 0 puts ( " x n e g a t i f t i r " ) Liste 11.9 ile denk iş yaparlar. Bir satırda birden çok deyim olduğunda deyimlerin (;) ile birbirlerinden ayrıldığına dikkat ediniz. Liste 11.9.

7 11.2. IF... THEN... DENETIMI 123 x = 0 i f x < 10 x += 1 puts x 5 Liste x = 3 i f x < 10 then x += 1 ; puts x if... else... Yapısı Şekil 11.4: if-else Yönlirmesi Program akışının, karar noktasında ana doğrultudan ayrılıp iki seçenekten yalnızca birisine yönlenmesi gerektiği durumlarda kullanılan yönliricidir. Bu yapının çizgel görüntüsü Şekil 11.1 ile verilmiştir. if... else... yapısının sözdizimi şöyledir: Liste i f boolean deyima deyiman : deyimb deyimbr Bu yapıda program akışı önce karar noktasındaki boolean deyimini işler. Çıkan değer

8 124 BÖLÜM 11. DENETIM YAPILARI 1. true ise if blokuna yönlenir ve oradaki deyima1,..., deyiman deyimleri işler. else blokuna geçmeden karar yapısından çıkar ve ana akış doğrultusunda karar noktasından sonraki ilk deyime gider. Oradan doğal akışını sürdürür. 2. false ise, program akışı if blokuna yönelmez; else blokuna girer ve oradaki deyimb1,..., deyimbr deyimleri işler. else blokundaki deyimleri bitirince ana akış doğrultusunda karar noktasından sonraki ilk deyime gider. Oradan doğal akışını sürdürür. if-else yapısında, program akışı ya if blokunu ya da else blokunu işler. Her ikisini işlemez. if ve else bloklarındaki deyim sayıları için bir kısıtlama yoktur. Hiç deyim içermeyebilecekleri gibi, istenildiği kadar deyim içerebilirler. Ruby, bir blok içindeki deyimlerin paranteze alınmasını gerektirmez. Ancak, kaynak programın kolay algılanabirliğini sağlamak için bloklar { } parantezleri ile sınırlanabilir. Örnekler: Liste #encoding UTF 8 2 gün = S a l ı i f gün == Cumartesi or gün == Pazar p r i n t ( Hafta sonundasın. Dinlen ) 7 p r i n t ( Hafta i ç i n d e s i n ) p r i n t ( " Ç a l ı ş! \ n " ) 1 Hafta i ç i n d e s i n. Ç a l ı ş! Liste x = 23 2 i f x > 0 p r i n t ( x p o z i t i f t i r ) p r i n t ( x ya n e g a t i f t i r ) p r i n t ( " ya da s ı f ı r d ı r \n " ) 7 x p o z i t i f t i r 3

9 11.2. IF... THEN... DENETIMI 125 Liste x = 23 2 i f x > 0 p r i n t ( x p o z i t i f t i r ) p r i n t ( x ya n e g a t i f t i r ) p r i n t ( " ya da s ı f ı r d ı r \n " ) 7 x ya n e g a t i f t i r ya da s ı f ı r d ı r 3 Liste x = 27 2 i f x % 2 ==0 p r i n t ( "#{x }, ç i f t t i r \n " ) p r i n t ( "#{x }, t e k t i r \n " ) 27 t e k t i r Liste x = t r u e 2 i f x == t r u e puts ( x doğrudur ) p r i n t ( x doğru d e ğ i l d i r ) x doğrudur elsif yapısı else den sonra if deyiminin gelişini ifade eden bir yapıdır. Bazı dillerde yani else-if ifadesi elif diye adlandırılır. Bu yalnızca bir adlandırmadır; yeni bir yapı değildir. Gerektiği kadar else if deyimleri ard arda kullanılabilir. Liste

10 126 BÖLÜM 11. DENETIM YAPILARI x = 9 2 i f x == 1 p r i n t ( " b i r " ) e l s i f x == 2 p r i n t ( " i k i " ) 7 e l s i f x == 3 p r i n t ( " üç " ) p r i n t ( " h i ç b i r i d e ğ i l \n " ) Liste x = 9 i f x == 1 4 p r i n t ( " b i r " ) i f x == 2 p r i n t ( " i k i " ) i f x == 3 p r i n t ( " üç " ) 9 p r i n t ( " h i ç b i r i d e ğ i l \n " ) Program 11.3, a sayısının değerine göre akışı yönliriyor. if koşulu sağlandığı için, akışın elsif ve else bloklarına hiç girmediğine dikkat ediniz. Program a = 30 i f a >= 21 puts ( " i f blokundayım " ) 4 e l s i f a >= 21 puts ( " e l s i f blokundayım " ) puts ( " blokundayım " ) 2 i f blokundayım Burada a nın değerini değiştirerek akışın öteki bloklara girmesini sağlayınız. Program 11.4, 2 yaşından küçüklere ücretsiz, 2-12 yaş arasındakilere yarı ücret ve 12 yaşından büyüklere tam bilet kesen bir havayolu şirketinin, kim için hangi bileti keseceğini belirliyor. Program 11.4.

11 11.2. IF... THEN... DENETIMI 127 # b i l e t. rb 2 #encoding UTF 8 puts ( Kaç yaşında? ) s t r = g e t s ( ) yaş = s t r. to_i 7 i f yaş <= 2 puts ( ü c r e t s i z ) e l s i f 7 <= yaş and yaş < 13 puts ( y a r ı ücret ) 12 puts ( tam ücret ) 2 Kaç yaşında? 7 y a r ı ücret İçiçe elsif Bazen birden çok koşuldan seçim yapmak için elsif bloklarını içiçe kullanmak gerekebilir. if-else arasına istenildiği kadar elseif bloku konulabilir. elsif bloklarından birisi koşulu sağlayıp çalışırsa, akış ondan sonraki iç bloklara girmez, if blokundan çıkar; sonraki deyimle ana yolda devam eder. Program 11.5 da elsif bloklarının içiçe olduğunu göstermek için, her blok girintili gösterilmiştir. Ruby böyle girintiye gerek görmez. Program # puan. rb #encoding UTF 8 puts ( Kaç puan a l d ı n ı z ) 5 s t r = g e t s ( ) puan = s t r. to_i i f puan >= 90 puts ( Pekiyi ) e l s i f puan >=80 10 puts İ y i e l s i f puan >=70 puts Orta e l s i f puan >=60 puts Geçer 15 e l s i f puan >=50 puts Zayıf puts ( Çok z a y ı f )

12 128 BÖLÜM 11. DENETIM YAPILARI 1 Ç ı k t ı : Kaç puan a l d ı n ı z 93 Pekiyi 6 s e r v e r : i f timurkaracay$ ruby puan1. rb Kaç puan a l d ı n ı z 85 İ y i s e r v e r : i f timurkaracay$ ruby puan1. rb 11 Kaç puan a l d ı n ı z 72 Orta s e r v e r : i f timurkaracay$ ruby puan1. rb Kaç puan a l d ı n ı z Geçer s e r v e r : i f timurkaracay$ ruby puan1. rb Kaç puan a l d ı n ı z Zayıf s e r v e r : i f timurkaracay$ ruby puan1. rb Kaç puan a l d ı n ı z 34 Çok z a y ı f 26 Program order = { : s i z e => " orta " } d e f şekerli_kahve 4 puts " Khveye i k i ş e k e r koy " d e f orta_kahve puts " Kahveye b i r ş e k e r koy " 9 d e f sade_kahve puts " Kahveye hiç ş e k e r koyma" 14 i f order [ : s i z e ] == " ş e k e r l i " şekerli_kahve e l s i f order [ : s i z e ] == " orta " orta_kahve 19 e l s i f order [ : s i z e ] == " sade " sade_kahve puts " Çay yap " 2 Kahveye b i r ş e k e r koy

13 11.2. IF... THEN... DENETIMI 129 Program p r i n t " Bir s a y ı g i r i n i z : " num = g e t s. to_i 12 i f num < 0 7 puts "#{num} n e g a t i f t i r " e l s i f num == 0 puts "#{num} s ı f ı r d ı r " e l s i f num > 0 puts "#{num} p o z i t i f t i r " 1 Bir s a y ı g i r i n i z : n e g a t i f t i r Bir s a y ı g i r i n i z : s ı f ı r d ı r Bir s a y ı g i r i n i z : p o z i t i f t i r if değiştiricileri if modifiers Ortaya çıkacak koşullara bağlı olarak, if denetimi farklı biçemlerde ifade edilebilir. Bunlara if değiştiricileri ya da karma yönliriciler diyoruz. Örnekler: Karma yönliricileri bazı örneklerle açıklamaya çalışacağız. unless Bazen if yerine unless kullanılabilir. Buna if denetiminin değişik biçemi (if modifier) denilir: Liste çocuk = f a l s e u n l e s s çocuk puts " yemek ver " 5 puts " süt ver "

14 130 BÖLÜM 11. DENETIM YAPILARI Bazen unless yerine if! kullanılabilir. Buna if denetiminin tersyüzü (reverse) denilir: Liste çocuk = f a l s e i f! çocuk puts " yemek ver " 4 puts " süt ver " Karar noktasında ikiden çok seçenek oluşuyorsa, Adına zincir koşulu denilen yapı oluşur. Örneğin x ile y sayılarını karşılaştıran bir boolean ifade şöyle olabilir: (x > y) or (x < y) or (x == y) Bu bileşik mantıksal deyimi oluşturan basit bileşenlerden ancak birisi sağlanabilir; yani (x > y), (x < y), (x == y) ifadelerinden ancak birisi gerçekleşebilir. O zaman karar verici yapıyı if... elsif... else... gibi düşünebiliriz: Liste x = 5 y = 23 i f x > y 4 puts ( x s a y ı s ı y den büyüktür ) e l s i f x < y puts ( x s a y ı s ı y den küçüktür ) puts ( x i l e y b i r b i r l e r i n e e ş i t t i r ) 9 1 x s a y ı s ı y den küçüktür ?: operatörü if a then b else c a? b : c Çoğu dilde if-else denetini tek satırda yazmaya yarayan?: operatörü vardır. Buna koşullu (conditional), üçleme (ternary) adları da verilir. Sözdizimi Liste ile verilen biçemler gibi olabilir. Liste

15 11.3. ALIŞTIRMALAR puts ( i f 1 then 2 3 ) # => 2 puts 1? 2 : 3 # => 2 7 x = i f 1 then 2 3 puts x # => 2 12 puts t r u e? " true " : " f a l s e " => " true " puts f a l s e? " true " : " f a l s e " => " f a l s e " x s a y ı s ı y den küçüktür Program p r i n t " Bir s a y ı g i r i n i z : " 2 x = g e t s. to_i puts " G i r d i ğ i n i z s a y ı " + ( x > 12? " 12 den büyüktür " : " 12 den küçüktür " ) 1 Bir s a y ı g i r i n i z : 4 G i r d i ğ i n i z s a y ı 12 den küçüktür Program adet = 3 d e ğ i ş t i r = adet <= 3? " i s e sayarak a l " : " i s e t a r t a r a k a l " puts "#{adet } #{d e ğ i ş t i r }. " 3 i s e sayarak a l. 3 begin Alıştırmalar Bazen karar verici boolean deyim daha çok basit bileşenlerine ayrılabilir. Örneğin, bir x sayısının ilk beş asal sayıya bölünüp bölünemediğini bulan bir mantıksal ifade

16 132 BÖLÜM 11. DENETIM YAPILARI ( x % 2 == 0) or ( x % 3 == 0) or ( x % 5 == 0) or ( x % 7 == 0) or ( x % 11 == 0) biçiminde yazılabilir. Bu deyimi kullanarak x sayısının ilk beş asal sayıya bölünüp bölünemediğini bulan bir programı şöyle yazabiliriz: Program x = i f x % 2 == 0 puts ( x s a y ı s ı 2 i l e b ö l ü n e b i l i r ) 4 e l s i f x % 3 == 0 puts ( x s a y ı s ı 3 i l e b ö l ü n e b i l i r ) e l s i f x % 5 == 0 puts ( x s a y ı s ı 5 i l e b ö l ü n e b i l i r ) e l s i f x % 7 == 0 9 puts ( x s a y ı s ı 7 i l e b ö l ü n e b i l i r ) e l s i f x % 11 == 0 puts ( x s a y ı s ı 11 i l e b ö l ü n e b i l i r ) puts ( x s a y ı s ı i l k beş a s a l s a y ı i l e bölünemez ) 14 1 x s a y ı s ı 3 i l e b ö l ü n e b i l i r Bu yapıya dikkat edersek, elsif deyimi birden çok kez tekrarlanıyor. Bu durumda, elif deyimleri içiçe yuvalanıyor. Bu yapıda bir tek sonuç çıkar. Üstteki bir deyim sağlanırsa, programın bu blok içindeki akışı kesilir. kalan deyimleri işlemeden, akış, blok dışına çıkar ve ana doğrultudaki ana yola döner. Bloklar kurulurken, daima blok oluşturma kuralına uymalıyız ([6], [9], [10]). Program 11.11, bir işçinin haftalık ücretini hesaplıyor. 40 saate kadar işçiye normal ücret ödeniyor. 40 saatten fazla çalışan işçiye, fazla çalıştığı her saat için normal ücretin 1.5 katı ödeniyor. toplamsaat, işçinin hafta içinde çalıştığı toplam saattir. saatücreti, normal çalışmaya ödenen saat ücretidir. Program d e f fazlamesaihesapla ( toplamsaat, s a a t Ü c r e t i ) 2 i f toplamsaat <= 40 toplamücret = s a a t Ü c r e t i toplamsaat fazlamesai = toplamsaat 40 toplamücret = s a a t Ü c r e t i 40 + ( 1. 5 s a a t Ü c r e t i ) fazlamesai 7 r e t u r n toplamücret d e f main ( )

17 11.3. ALIŞTIRMALAR 133 saat = f l o a t ( input ( İ ş ç i kaç saat ç a l ı ş t ı? ) ) ücret = f l o a t ( input ( saat ü c r e t i nedir? ) ) 12 t o t a l = fazlamesaihesapla ( saat, ücret ) p r i n t ( Toplam ücret :, t o t a l ) main ( ) Ç ı k t ı : İ ş ç i kaç saat ç a l ı ş t ı? 48 saat ü c r e t i nedir? 10 Toplam ücret : Program deki if...else... yapısını Program de olduğu gibi de yazabiliriz. Deneyiniz. Program d e f fazlamesaihesapla ( toplamsaat, s a a t Ü c r e t i ) i f toplamsaat <= 40 normalsaat = toplamsaat fazlamesai = 0 : 6 fazlamesai = toplamsaat 40 normalsaat = 40 r e t u r n s a a t Ü c r e t i normalsaat + ( 1. 5 s a a t Ü c r e t i ) fazlamesai 11 d e f main ( ) saat = f l o a t ( input ( İ ş ç i kaç saat ç a l ı ş t ı? ) ) ücret = f l o a t ( input ( saat ü c r e t i nedir? ) ) t o t a l = fazlamesaihesapla ( saat, ücret ) p r i n t ( Toplam ücret :, t o t a l ) 16 main ( ) Ç ı k t ı : 3 İ ş ç i kaç saat ç a l ı ş t ı? 48 saat ü c r e t i nedir? 10 Toplam ücret : Program d e f karnenotu ( puan ) i f puan >= 90 harfnotu = A 4 e l i f puan >= 80 harfnotu = B e l i f puan >= 70 harfnotu = C e l i f puan >= 60 9 harfnotu = D

18 134 BÖLÜM 11. DENETIM YAPILARI : harfnotu = F r e t u r n harfnotu 14 d e f not_yaz s t r = g e t s ( p r i n t ( Puanı g i r i n i z ) ) puan = s t r. to_i harfnotu = karnenotu ( puan ) p r i n t ( harfnotu ) 19 not_yaz Ç ı k t ı : Puanı g i r i n i z 87 B Program p r i n t ( " Saat kaç? " ) 2 saat = g e t s ( ). to_i i f saat < 10 puts ( " Günaydın! " ) 7 e l s i f saat < 12 puts ( " Öğlen yemeği zamanı y a k l a ş ı y o r. " ) 12 e l s i f saat < 18 puts ( " İ y i günler! " ) e l s i f saat < 22 puts ( " İ y i akşamlar! " ) 17 puts ( " İ y i g e c e l e r! " ) 2 Ç ı k t ı l a r : Saat kaç? 9 Günaydın! Saat kaç? 13 7 İ y i günler! Saat kaç? 17 İ y i günler! 12 Saat kaç? 20 İ y i akşamlar! Saat kaç? 23 İ y i g e c e l e r! 17

19 11.3. ALIŞTIRMALAR 135 Program i yazıp yürütünüz. Deyimlerin işlevlerini tek tek açıklayınız. Program # yazar. rb 3 ad = " Dostoyevski " i f ad == " Tolstoy " p r i n t " Merhaba Tolstoy! n" e l i f ad == " John " 8 p r i n t " Merhaba John! n " e l i f ad == " Dostoyevski " p r i n t " Merhaba Dostoyevski! \ n " p r i n t " Herkese selam! \ n " 13 2 Herkese selam! Program 11.16, doğacak çocuklarına cinsiyetine göre ad takacak anababnın kararını bildiriyor. Program n = rand (2) 2 i f n==0 p r i n t ( " Çocuğa Alper adı v e r i l e c e k! \ n" ) p r i n t ( " Çocuğa Bahar adı v e r i l e c e k \n" ) Çocuğa Alper adı v e r i l e c e k! Uyarı: Ruby de seçkisiz (random) sayılar Kernel.rand metodu tarafından üretilir. 1 rand # 0.0 i l e 1.0 arasında s e ç k i s i z b i r f l o a t ü r e t i r rand (100) # 0 i l e n arasında s e ç k i s i z b i r tamsayı ü r e t i r Alıştırmalar 11.1.

20 136 BÖLÜM 11. DENETIM YAPILARI 11.4 case yönlirmesi Program #! / usr / bin /ruby 3 p r i n t " Enter top l e v e l domain : " domain = g e t s. chomp case domain 8 when " us " puts " United S t a tes " when " de " puts " Germany" when " sk " 13 puts " Slovakia " when " hu " puts " Hungary " 18 puts " Unknown" Program student_grade = 8 2 case student_grade when 0 puts " Çok kötü " when puts " B a ş a r ı s ı z " 7 when puts " İ y i " when puts "Çok İ y i " when puts " Super " Program computer = " c64 " 2 year = case computer when " c64 " then " 1982 " when " c16 " then " 1984 " when " amiga " then " 1985 " 7 " Tarih b i l i n m i y o r " puts "#{computer} ç ı k ı ş y ı l ı #{year } " 12 # c64 ç ı k ı ş y ı l ı 1982

Döngüler. Tablo 15.1: Ruby de Başlıca Döngü Yapıları

Döngüler. Tablo 15.1: Ruby de Başlıca Döngü Yapıları 15 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. Ruby de bu işi yapan çok sayıda döngü yapıları vardır.

Detaylı

Program Akışının Denetimi

Program Akışının Denetimi 8 Program Akışının Denetimi Bir programın akışı komutların yazıldığı sırayı izler. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar üç gruba ayrılabilir:

Detaylı

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

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

Mantıksal İşlemler. 7.1 true, false, nil

Mantıksal İşlemler. 7.1 true, false, nil 7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve

Detaylı

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end 4 Metotlar Hemen her programlama dilinde var olan metot kavramı Ruby için de aynıdır. Bazı kaynaklarda metot terimi yerine fonksiyon terimi kullanılır. Bu kitapta iki terimi eşanlamlı kullanacağız. Ruby

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi Ruby Prof.Dr.Timur Karaçay Başkent Üniversitesi Eylül 2014 2 Aren e ve Altan a ii Önsöz Ruby dilinin yaratıcısı Yukihiro Matsumoto, onu kısaca Matz diye çağırırlar, yarattığı dili şöyle anlatıyor: Ruby

Detaylı

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

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 7. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Program Denetimi Yük. Müh. Köksal Gündoğdu 2 Program Denetimi Bir program, belirli deyim satırlarından oluşur ve genellikle bu

Detaylı

Program Akış Kontrol Yapıları

Program Akış Kontrol Yapıları Program Akış Kontrol Yapıları Giriş Normal şartlar altında program içerisindeki çalıştırılabilir satırlar, yazılmış oldukları sırada, yani birinden sonra diğerinin çalışması şeklinde ilerler. Programın

Detaylı

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

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü JAVA DÖNGÜ DEYİMLERİ Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrarlanabilir. Java da bu işi yapan üç ayrı deyim vardır: while

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Döngüler. 1.1 while döngüsü

Döngüler. 1.1 while döngüsü 1 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. C dilinde bu işi yapan üç ayrı yapı vardır: 1. while

Detaylı

Integer Sınıfı. 9.1 Integer Sınıfına Uygulanan Başlıca Metotlar. Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır.

Integer Sınıfı. 9.1 Integer Sınıfına Uygulanan Başlıca Metotlar. Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır. 9 Integer Sınıfı Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır. Integer Literal Tamsayı gösteren metinler, 1 0, 1, 123, 123456789012345678901234567890 biçiminde yalnızca

Detaylı

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

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

(Sözlük, dictionary, birleşik array, map)

(Sözlük, dictionary, birleşik array, map) 14 hash (Sözlük, dictionary, birleşik array, map) 14.1 Hash Sınıfı Array ambarı, içindekileri tamsayılarla (index) damgalayıp sıralayan harika bir yapıdır. Ama bazı durumlarda indis ya yoktur ya da kullanılması

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama Temel Bilgisayar Programlama C Programlamaya Giriş Dr. Tahir Emre Kalaycı 2012 Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 1 / 16 İçerik 1 Geçtiğimiz hafta 2 Yapısal Program Geliştirme

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

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

if (ad == Sabri) Console.WriteLine(Merhaba Sabri. Ne zamandır gözükmüyodun...); Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir

Detaylı

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir. SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda

Detaylı

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ BİLGİSAYAR PROGRAMLAMAYA GİRİŞ 5. ders notu Örnek program yazılımları İlişkisel operatörler Mantıksal operatörler Şartlı deyimler İf deyimi Kaynak: Dr.Deniz DAL ders sunumları Örnek : Dışarıdan girilen

Detaylı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

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

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır. PHP de Program Denetimi Belli durumlarda örneğin değişkenlerin aldığı değerlere veya sayfaya yapılan ziyaretlere göre PHP programının nasıl davranacağına karar vermemiz gerekir. Bu yönlendirmeleri, program

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Kontrol deyimleri programlamanın olmazsa olmaz koşullarındandır. Şartlara (karşılaştırma) bağlı

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Program AkıĢ Kontrol Yapıları

Program AkıĢ Kontrol Yapıları C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,

Detaylı

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ GİRİŞ KARAR YAPILARI Herhangi bir olayın gerçekleşmesinin bir veya birkaç şarta bağı olduğu durumlar vardır. Ayrıca bir şartın gerçekleşmesi durumunda meydana gelecek bir veya birden çok olay söz konusu

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

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 )

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 ) Lab Notları 4 1. Döngüler Bir program yazıldığı vakit bazı durumlarda bir satırın birden çok kez çalıştırılması düşünülebilir. Örneğin ekrana 1 den 100 e kadar sayılar yazılmak isteniyor. Bu durumda hepsini

Detaylı

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Programlama Dilleri 3

Programlama Dilleri 3 Akış Konrol Mekanizmaları 1 Koşul İfadeleri Programlar içersinde bazı durumlarda programın akışının değişmesi ya da farklı işlemlerin yapılması gerekebilir. Bazen de seçimlerin yapılması ya da belirli

Detaylı

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.

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. Bölüm 09 Döngüler for döngüsü do döngüsü while döngüsü foreach döngü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

Detaylı

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan 2 C Programlarının Yapısı Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan yapıtaşlarıdır. Bir C programının,

Detaylı

C dilinde if-else yapısı

C dilinde if-else yapısı C dilinde if- yapısı Merhaba arkadaşlar, bu başlık altında sizlere koşullu ifadelerden bahsedeceğim. Peki nedir bu koşullu ifadeler(if, if, )? Bunu bir koşulun gerçekleşmesine bağlı olarak gerçekleşen

Detaylı

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

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Veri Tabanı Yönetim Sistemleri Bölüm - 5 Veri Tabanı Yönetim Sistemleri Bölüm - 5 İçerik SELECT deyimi (devam) Verinin Sınırlandırılması (WHERE) Karşılaştırma İşleçleri (=, >, =,

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Nedir? Değişkenler, programın veya kodların icra süresince belirli bir değer tutan ve istenilirse bu değer

Detaylı

BÖLÜM 4 KONTROL DEYİMLERİ - 24 -

BÖLÜM 4 KONTROL DEYİMLERİ - 24 - BÖLÜM 4 KONTROL DEYİMLERİ - 24 - 4.1 İf Deyimi İnsan olarak kararlarımızı hemen hemen daima "bir şey öyle ise böyle, öyle değilse şöyle davranmak" üzere almaz mıyız? PHP programında if deyimi bunu sağlar.

Detaylı

1. PL/SQL de kontrol yapıları

1. PL/SQL de kontrol yapıları 1. PL/SQL de kontrol yapıları PL/SQL de kontrol yapıları genel olarak IF, CASE LOOP, WHILE, FOR ile gerçekleştirilir. Tabi bu deyimlerinde kendi içinde alt basamakları bulunmaktadır. Şimdi sırası ile bu

Detaylı

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

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Bölüm 3 Yapısal Programlama

Bölüm 3 Yapısal Programlama 1 Bölüm 3 Yapısal Programlama Konular 3.1 Giriş 3.2 Algoritmalar 3.3 Pseudocode (Sahte kodlar) 3.4 Kontrol yapıları 3.5 If Seçim yapısı 3.6 If Else Seçim yapısı 3.7 While Döngü yapısı 3.8 Algoritmaları

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Veritabanı Tasarımı. Alt Sorgu Temelleri

Veritabanı Tasarımı. Alt Sorgu Temelleri Veritabanı Tasarımı Alt Sorgu Temelleri Konular Verilerin elde edilmesi için alt sorguların tanımlanması ve açıklanması WHERE yantümcesinde tek satır alt sorgu oluşturulması ve çalıştırılması Tek satır

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECİOĞLU 14 Mar. 2016 1 Bileşik Atama Operatörleri İki değişken arasında gerçekleştirilen atama ve aritmetik

Detaylı

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

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 3 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bağıntısal Operatörler operatör tanımı < küçüktür > büyüktür = büyük eşittir eşittir!= eşit

Detaylı

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

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

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

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else { KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR IF ELSE YAPISI if (deger) { else { YUKARIDAKI IFADEDE deger EGER TRUE İSE if PARANTEZLERİ İÇİNDEKİ DEĞER

Detaylı

Programlama Dili Prensipleri. Lab Notları 4

Programlama Dili Prensipleri. Lab Notları 4 Programlama Dili Prensipleri Lab Notları 4 1. Karar Yapıları IF Yapıları Karar yapıları olarak C/C++ ile Java programlama dilleri birbirine yakın ifadeler içerir. Bir programın akışı yukarıdan aşağı doğru

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Chapter 8. Komut düzeyi kontrol yapıları ISBN

Chapter 8. Komut düzeyi kontrol yapıları ISBN Chapter 8 Komut düzeyi kontrol yapıları ISBN 0-321-49362-1 8. bölüm konuları Giriş Seçme komutları Tekrarlayan komutlar Şartsız dallanma Korumalı komutlar Sonuç Tercüme edip geliştiren: Doç. Dr. Zeki Bayram,

Detaylı

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

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları BLM111 Programlama Dilleri I Hafta 9 C Dilinde Kontrol ve Döngü Yapıları Yrd. Doç. Dr. Caner ÖZCAN Karar (Karşılaştırma) Komutları if-else Koşulların kontrolünde kullanılan komutlardır. Koşulların doğru

Detaylı

Mantıksal Operatörlerin Semantiği (Anlambilimi)

Mantıksal Operatörlerin Semantiği (Anlambilimi) Mantıksal Operatörlerin Semantiği (Anlambilimi) Şimdi bu beş mantıksal operatörün nasıl yorumlanması gerektiğine (semantiğine) ilişkin kesin ve net kuralları belirleyeceğiz. Bir deyimin semantiği (anlambilimi),

Detaylı

Mantıksal (Logic) Operatörler

Mantıksal (Logic) Operatörler Mantıksal (Logic) Operatörler Bilgisayar dillerinin hemen hepsinde, program akışını kontrol edebilmek ve yönlendirebilmek için mantıksal operatörler kullanılır. Java dilinde kullanılan mantıksal operatörler

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

MODERN MANTIK ARASINAVI (SOSYOLOJİ) ÇÖZÜMLERİ B GRUBU

MODERN MANTIK ARASINAVI (SOSYOLOJİ) ÇÖZÜMLERİ B GRUBU MODERN MANTIK ARASINAVI (SOSYOLOJİ) ÇÖZÜMLERİ B GRUBU 1. Aşağıdaki kanıtlamaların çıkarım belirticilerini, öncül ve sonuç önermelerini, tümdengelimli mi (geçersiz, geçerli veya sağlam), tümevarımlı mı

Detaylı

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 206 Ayrık Matematik. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 206 Ayrık Matematik Yük. Müh. Köksal GÜNDOĞDU 1 Ayrık Matematik Yük. Müh. Köksal GÜNDOĞDU 2 Önermeler Yük. Müh. Köksal GÜNDOĞDU 3 Önermeler Önermeler Mantığı, basit ifadelerden mantıksal bağlaçları

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Tanımlama Değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir.

Detaylı

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları) BLGM108 1. BÖLÜM Problem Çözme Kavramları (Algoritma ve Akış Şemaları) 1 Yazılım Geliştirme Adımları 1. Gereksinimlerin belirlenmesi Problemin ne olduğunu anlama: sorunu çözmek için ne gereklidir, çözüm

Detaylı

Döngü ve Koşul Deyimleri

Döngü ve Koşul Deyimleri Döngü ve Koşul Deyimleri Programlar üç temel blok kullanılarak gerçekleştirilebilirler. art arda, bir koşula bağlı olarak ve sonlu sayıda yineleme (döngü) dir Koşul Deyimleri Birkaç seçenekten birini seçmek

Detaylı

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

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu

Detaylı

Koşullu Önermeler (if else)

Koşullu Önermeler (if else) Koşullu Önermeler (if ) Koşullu Önermeler Şu ana kadarki önermelerimiz birbiri ardına sıralı bir şekilde çalışıyorlar. Aşağıdaki durumlarda nasıl çalışacaklar peki? bir koşula bağlı olarak bir önermeyi

Detaylı

Ders 6: Karşılaştırma Deyimleri

Ders 6: Karşılaştırma Deyimleri Ders 6: Karşılaştırma Deyimleri Giriş Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir Bunun için, bütün programlama dillerinde karşılaştırma deyimleri mevcuttur C dili,

Detaylı

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

ALGORİTMA (ALGORITHM) M.İLKUÇAR - ALGORİTMA (ALGORITHM) DÖNGÜLER (LOOPS) Döngü : Koşul sağlandığı sürece (true), işlem yada işlemlerin tekrarlanması. Örneğin; ekrana 100 adet * yazdırılması, x! v.b. gibi işlemlerde döngüler kullanılır.

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Mantıksal Kontrol ve Döngü Komutları

Mantıksal Kontrol ve Döngü Komutları Mantıksal Kontrol ve Döngü Komutları Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Mantıksal Karşılaştırmalar Python, koşullu

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

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

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 7

Veri Tabanı Yönetim Sistemleri Bölüm - 7 Veri Tabanı Yönetim Sistemleri Bölüm - 7 İçerik Alt Sorgular Çoklu Tablolar (Tabloların Birleştirilmesi) Görünümler R. Orçun Madran 2 Alt Sorgular Uygulamada, bir sorgudan elde edilen sonuç, bir diğer

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

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

İç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 İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ AYRIK YAPILAR P r o f. D r. Ö m e r A k ı n v e Y r d. D o ç. D r. M u r a t Ö z b a y o ğ l u n u n Ç e v i r i E d i t ö r l ü ğ ü n ü ü s t l e n d i ğ i «A y r ı k M a t e m a t i k v e U y g u l a

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ BÖLÜM 3 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ 3.1 SQL PROGRAMLAMA BLOKLARININ YAPISI Birbirinden çok az farklarla ayrılan PL/SQL ve T-SQL e ikisini de kapsayacak şekilde SQL programlama demiştik

Detaylı

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

Bölüm 08 Program Akışının Yönlendirilmesi Bölüm 08 Program Akışının Yönlendirilmesi blok if yönlendirmesi switch yönlendirmesi for döngüsü while döngüsü do... while döngüsü Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı

Detaylı

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

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN Bölüm 8 İfade Seviyesindeki Kontrol Yapıları ISBN 0-321-49362-1 Bölüm 8 Konular Giriş Seçme İfadeleri Yinelemeli İfadeler Şartsız Dallanma Korumalı Komutlar Sonuçlar Kontrol Akışının Seviyeleri İfadeler

Detaylı

B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) Şimdi başka bir problem üzerinde çalışalım.

B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) Şimdi başka bir problem üzerinde çalışalım. 85 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Şimdi başka bir problem üzerinde çalışalım. Algoritmamızı yine sahte kod ve yukarıdan aşağıya adımsal iyileştirmeyle oluşturacağız

Detaylı

BM202 SAYISAL ÇÖZÜMLEME

BM202 SAYISAL ÇÖZÜMLEME BM202 SAYISAL ÇÖZÜMLEME DOÇ.DR. CİHAN KARAKUZU DERS-2 1 Ders2-Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri MATLAB, çok paradigmalı (bir şeyin nasıl üretileceği konusunda örnek, model) sayısal

Detaylı

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

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN 2011 Bahar Dönemi Öğr.Gör. Vedat MARTTİN ADRESLEME YÖNTEMLERİ Komut yazımında en önemli konulardan biri, adresleme yöntemidir. Adresleme yöntemi, işlenenin nerede bulunacağını belirtmek için kullanılan

Detaylı

String. 13.1 String İşlemleri

String. 13.1 String İşlemleri 13 String 13.1 String İşlemleri Bilgisayara giriş ve çıkışlar, bizim anlayacağımız karakterlerle yapılır; yani kullandığımız alfabenin karakterlerinden oluşan array lerdir. Onlara string diyoruz. Farklı

Detaylı

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve AraştırmaMerkezi 2 İçindekiler 2. ASP'nin Dili... 3 2.1 YAZILIM

Detaylı

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

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

MAT213 Bilgisayar Programlama I

MAT213 Bilgisayar Programlama I 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

Detaylı

Temel Bilgisayar Programlama ve BASIC Diline Giriş

Temel Bilgisayar Programlama ve BASIC Diline Giriş Temel Bilgisayar Programlama ve BASIC Diline Giriş Ders Notları Selahattin ERGEÇ-Mustafa Y.ATA KAPSAM 1. Temel Bilgisayar Donanım-Yazılım Bilgileri 2. Simgeler, Değişmezler ve Değişkenler 3. Aritmetiksel

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

Module ve Mixin Module nedir? 17.2 Neden Module?

Module ve Mixin Module nedir? 17.2 Neden Module? 17 Module ve Mixin 17.1 Module nedir? En genel anlamıyla, modül (module), programın iyi düzenlenmesini sağlayan yapı taşlarıdır. modül, fiziksel olarak düzenlenmiş ve farklı dosyalara yazılmış Ruby kodlarının

Detaylı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu PROGRAM AKIŞ DENETİMİ Program akış denetimi konusu temel olarak 2 e ayrılır. Bunlar; 1)Koşul Deyimleri 2)Döngü Deyimleri KOŞUL DEYİMLERİ Koşul deyimleri temel olarak programı kontrol etmeye yararlar. Bunlara

Detaylı

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

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları MATLAB de Programlama Kontrol Yapıları Döngü Yapıları Doç. Dr. İrfan KAYMAZ if Şartlı deyimi: Bir mantıksal ifadeyi kontrol ederek bunun sonucuna göre mümkün seçeneklerden birini icra edebilen bir komuttur.

Detaylı

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir: Gereksiz Kodlar Kaan Aslan 9 Temuz 1997 Kapalı spor salonu, durak yeri, taşıt aracı, en optimum, geri iade etmek, davranış biçimi Bu ifadelerde bir gariplik var, değil mi? Açık spor salonu göreniniz var

Detaylı

PHP 1. Hafta 2.Sunum

PHP 1. Hafta 2.Sunum PHP 1. Hafta 2.Sunum Hello World Bu derste görülecekler WAMP ve PHP Hosting kavramı ve bizi neden ilgilendirmediği Domain ve localhost kavramları www klasörü İlk PHP kodunun

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı