Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Programlamaya Giriş. Programlama  Bilgisayar programlaması, programlama dilleri kullanılarak, bilgisayar yazılımlarının oluşturulması sürecidir.

Benzer bir sunumlar


... konulu sunumlar: "Programlamaya Giriş. Programlama  Bilgisayar programlaması, programlama dilleri kullanılarak, bilgisayar yazılımlarının oluşturulması sürecidir."— Sunum transkripti:

1 Programlamaya Giriş

2 Programlama  Bilgisayar programlaması, programlama dilleri kullanılarak, bilgisayar yazılımlarının oluşturulması sürecidir.

3 Programlama  Tıpkı bizim Türkçe’yi veya İ ngilizce’yi konuşup anlamamız gibi, bilgisayarlar da belirli dillerde yazılmış programları anlayabilirler. Bunlar programlama dilleri olarak adlandırılır.

4 Small Basic ve Programlama  Small Basic, programlamayı yeni başlayanlar için son derece kolay, anlaşılır ve e ğ lenceli hale getirmek üzere tasarlanmış olan bir programlama dilidir.

5 SMALL BASIC Programlamayı yeni başlayanlar için kolay, anlaşılır ve e ğ lenceli hale getirmek üzere tasarlanmış olan bir programlama dilidir.

6

7

8

9

10 Small Basic İndirme Programı indirmek için aşa ğ ıdaki linki tıklayınız…

11 Small Basic Ortamı Small Basic’i çalıştırdı ğ ınızda, programları yazıp çalıştıraca ğ ınız Small Basic ortamını göreceksiniz.

12 1. Düzenleyici, programlarımızı yazaca ğ ımız yerdir.

13 Araç Çubu ğ u, aktif düzenleyiciye veya ortama komut vermek için kullanılır.

14 Yüzey, tüm düzenleyici pencerelerinin gitti ğ i yerdir.

15 İlk Programımız  Artık Small Basic ortamı ile tanıştı ğ ınıza göre, şimdi programlama yapmaya başlayabilirsiniz. Bunun için, önce aşa ğ ıdaki satırı düzenleyiciye yazın. TextWindow.WriteLine("Merhaba Dünya")

16 İ lk Programımız: TextWindow.WriteLine("Merhaba Dünya")

17 Bu bizim ilk programımız. E ğ er do ğ ru yazdıysanız, aşa ğ ıdaki şekle benzer görünmelidir.

18 İlk Programımız  Programımızı araç çubu ğ u üzerindeki Run (Çalıştır) dü ğ mesi ile veya klavyedeki F5 tuşu ile çalıştırabiliriz. Her şey yolundaysa, programımız aşa ğ ıdaki sonucu verecektir.

19 İlk Programımız  Tebrikler! İ lk Small Basic programınızı yazdınız ve çalıştırdınız. Şimdi, bunu anlayabilmek için, yazdı ğ ımız programı analiz edece ğ iz.

20 İlk Programımız  Program yazarken, içinde ö ğ eler listesi bulunan bir pencere açıldı. Bu, akıllı algılamadır ve programı daha hızlı yazmanıza yardımcı olur. Yukarı/Aşa ğ ı ok tuşlarıyla listeyi kaydırabilir ve istedi ğ inizi buldu ğ unuzda, Enter tuşuna basarak ö ğ eyi programa ekleyebilirsiniz.

21 Programımızı Kaydetmek  Small Basic’i kapattıktan sonra aynı program üzerinde tekrar çalışmanız veya elektrik kesintisi durumunda bilgilerinizi kaybetmemeniz için, programı kaydetmelisiniz. Bunun için araç çubu ğ undaki “Kaydet” ikonuna basabilir veya “Ctrl+S” tuşlarını kullanabilirsiniz.

22 İlk Programımızı Anlamak

23 Bir bilgisayar programı aslında nedir?  Bir program, bilgisayar için bir talimatlar dizisidir. Bu talimatlar bilgisayara tam olarak ne yapaca ğ ını söyler ve bilgisayar da bu talimatları izler. Bilgisayarın anlayabilece ğ i pek çok dil vardır ve Small Basic de bunlardan birisidir.

24 Bir bilgisayar programı aslında nedir?  Java, C++, Python, Visual Basic vs. dillerinin tümü, basitten karmaşık yazılım programlarına kadar çeşitli programlar geliştirmek için kullanılabilecek, güçlü modern bilgisayar dilleridir.

25 Small Basic Programları  Bir programın her bir satırı bilgisayar için birer talimattır. Bilgisayardan bir programı uygulamasını istedi ğ imizde, bilgisayar önce ilk ifadeyi okur ve uygular. Sonra ikinci, üçüncü satır derken programın sonuna ulaşıncaya kadar bunu yapmaya devam eder ve program tamamlanır.

26 İlk Programımıza Geri Dönelim  İ şte yazdı ğ ımız ilk program: TextWindow.WriteLine("Merhaba Dünya")  Bu tek bir ifadeden oluşan program, bilgisayara Merhaba Dünya metnini Metin Penceresine yazmasını söylüyor.

27 İlk Programımıza Geri Dönelim TextWindow.WriteLine("Merhaba Dünya")  Bu ifadede, 3 ayrı bölüm bulunuyor: a) TextWindow b) WriteLine c) “Merhaba Dünya”

28 İlk Programımıza Geri Dönelim TextWindow.WriteLine("Merhaba Dünya")  Nokta, parantezler ve tırnak işaretlerinin tümü, bilgisayarın niyetimizi anlaması için, do ğ ru yerlere yerleştirilmesi gereken noktalama işaretleri.

29 TextWindow İ lk programımızı çalıştırdı ğ ımızda çıkan siyah pencere, TextWindow veya bazen Konsol olarak adlandırılır. Bu, programın sonucunun gidece ğ i yerdir.

30 TextWindow: Metin ya da sayıları metin penceresine yazmak ya da okumak için kullanılır.

31 WriteLine Programımızda WriteLine işlemini kullandık. Bu işlemi, tırnak işareti içerisinde Merhaba Dünya metni takip etti. Bu metin, WriteLine işlemine bir girdi olarak geçilmiştir, bu da daha sonra kullanıcı için yazdırılır.

32 WriteLine: Metin penceresine metin ya da sayı yazar ve yeni satır eklenir.

33 Noktalama İşaretleri  Tırnak işaretleri, boşluklar ve parantezler gibi noktalama işaretleri, bir bilgisayar programında son derece önemlidirler.  Yerlerine ve adetlerine ba ğ lı olarak, ifade edilen anlamı de ğ iştirebilirler.

34 İkinci Programımız  Artık ilk programımızı anladı ğ ınıza göre, buna bazı renkler ekleyerek daha süslü hale getirelim.

35 İkinci Programımız  Bu programı çalıştırdı ğ ınızda, TextWindow’un yine “Merhaba Dünya” sözcük grubunu yazdı ğ ını göreceksiniz, ancak bu kez sarı renkte yazar.

36 Örnek: Ekrana sarı renkte “Merhaba Dünya” yazdırmak için aşa ğ ıdaki programı yazarız. TextWindow.ForegroundColor = "Yellow" TextWindow.WriteLine("Merhaba Dünya")

37 ForegroundColor  Metnin çıktı olarak metin penceresinde görünecek rengini belirtir.  ForegroundColor, herhangi bir paranteze ihtiyaç duymaz. Onun yerine, bunu bir eşittir sembolü ve bir kelime takip eder.

38 ForegroundColor: Metin penceresinde görünecek yazının rengini belirtir.

39 ForegroundColor  İ şte, ForegroundColor özelli ğ i için geçerli olan de ğ erlerin bir listesi. “Yellow”u bunlardan birisiyle de ğ iştirmeyi deneyin ve sonuçları görün. Tırnak işaretlerini unutmayın. BlackBlueCyan GrayGreenMagenta RedWhiteYellow DarkBlueDarkCyanDarkGray DarkGreenDarkMagentaDarkRed DarkYellow

40 ForegroundColor için kullanılan renkler: BlackBlue CyanGray GreenMagenta RedWhite YellowDarkBlue DarkCyanDarkGray DarkGreenDarkMagenta DarkRedDarkYellow

41 Değişkenlerin Eklenmesi

42 Değişkenlerin Kullanılması  Yeni programımız, “Merhaba Dünya” yerine kullanıcının ismiyle birlikte “Merhaba” desin.  Bunun için önce kullanıcıya isminin sorulması ve sonra da bunu bir yerde saklayarak, kullanıcının ismiyle birlikte “Merhaba” metninin yazılması gerekir.

43 Değişkenlerin Kullanılması  Bu programı yazıp çalıştırdı ğ ınızda, aşa ğ ıdaki çıktıyı göreceksiniz:  Ve, isminizi girip ENTER tuşuna bastı ğ ınızda, aşa ğ ıdaki çıktıyı göreceksiniz:

44 Değişkenlerin Kullanılması  Şimdi, programı tekrar çalıştırırsanız, size aynı soru tekrar sorulacaktır. Farklı bir isim girebilirsiniz ve bilgisayar size o isimle “Merhaba” diyecektir. Merhaba

45 DE Ğİ ŞKENLER İ N KULLANILMASI Örnek: Kullanıcının girdi ğ i isimle birlikte “Merhaba” diyen bir program yazalım. TextWindow.Write("İsminizi girin: ") ad = TextWindow.Read() TextWindow.WriteLine("Merhaba " + ad)

46 Programın Analizi  Biraz önce çalıştırdı ğ ınız programda, dikkatinizi çekmiş olabilecek satır şudur: ad= TextWindow.Read()

47 Read  Read() işlemi, bilgisayara kullanıcının bir metin girmesini ve Enter tuşuna basmayı beklemesini söyler. Kullanıcı Enter’a bastı ğ ında, girilen metni alır ve programa geri döner. Kullanıcının girdi ğ i metin, isimli bir de ğ işkende saklanır. Bir de ğ işken, de ğ erleri geçici olarak saklayabildi ğ iniz ve sonra kullanabildi ğ iniz bir yer olarak tanımlanır. Az önceki satırda, kullanıcının ismini saklamak için, ad kullanılmıştır.

48 De ğ işken: De ğ erleri geçici olarak saklayabildi ğ iniz ve sonra kullanabildi ğ iniz bir yerdir.

49 Değişkenlerin İsimlendirilmesi ile İlgili Kurallar De ğ işkenlerin onlarla ba ğ lantılı isimleri vardır ve onları bu şekilde tanırsınız. Bu de ğ işkenlerin isimlendirilmeleriyle ilgili belirli basit kurallar vardır. Bunlar: 1. İ sim bir harfle başlamalıdır. 2. if, for, then, vs. gibi kelimelerle çakışmamalıdır. 3.Bir isim, harflerin, sayıların ve altçizgilerin herhangi bir kombinasyonundan oluşabilir. 4.De ğ işkenleri anlamlı bir şekilde isimlendirmek faydalıdır. De ğ işkenler istendi ğ i kadar uzun olabilece ğ i için, amaçlarını açıklayan de ğ işken isimleri kullanın.

50 De ğ işkenlerin İ simlendirilmeleri ile İ lgili Kurallar: 1. İ sim bir harfle başlamalıdır. 2.if, for, then, vs. gibi kelimelerle çakışmamalıdır. 3.Bir isim; harfler, sayılar ve altçizgilerden oluşabilir. 4.De ğ işkenler istendi ğ i kadar uzun olabilece ğ i için, anlamlı bir şekilde isimlendirilmelidir.

51 Read: Metin penceresinden kullanıcının girdi ğ i metni okur ve Enter tuşuna basılana kadar bekler.

52 Programın Analizi TextWindow.WriteLine("Merhaba " + ad)  Bu, ad de ğ işkenimizde sakladı ğ ımız de ğ eri kullandı ğ ımız yerdir. ad bölümünde yazan de ğ eri alıyoruz, bunu “Merhaba”ya ekliyoruz ve TextWindow’a yazıyoruz.

53 Programı Geliştirme  Bir de ğ işken girildi ğ inde, bunu istedi ğ iniz zaman tekrar kullanabilirsiniz. Örne ğ in; şunları yapabilirsiniz:  Şu çıktıyı göreceksiniz:

54 Write  Tıpkı WriteLine gibi, Write da TextWindow’da (Konsol) bir di ğ er işlemdir. Write, Konsola bir şey yazmanıza izin verir, ancak bundan sonra gelen metnin mevcut metinle aynı satırda olmasını sa ğ lar.

55 Write: Metin penceresine metin ya da sayı yazar ve yeni satır eklenmez.

56 Sayılarla Oynamak  Biraz önce kullanıcının ismini saklamak için de ğ işkenleri nasıl kullanabilece ğ imizi gördük. Bundan sonraki birkaç programda, de ğ işkenlerde sayıları nasıl saklayabilece ğ imizi ve işleyebilece ğ imizi görece ğ iz.

57 Sayılarla Oynamak  Basit bir programla başlayalım:  Bu programı çalıştırdı ğ ınızda, aşa ğ ıdaki çıktıyı göreceksiniz:

58 Sayılarla Oynamak  Toplama işlemi için aşa ğ ıdaki programı yazalım.

59 Dört İ şlem Sembolleri: +  Toplama -  Çıkarma *  Çarpma /  Bölme

60 Programın Analizi  Programın birinci satırında, a de ğ işkenine 10 sayısını atıyoruz. İ kinci satırda, b de ğ işkenine 20 sayısını atıyoruz. Üçüncü satırda, a ve b’yi topluyor ve sonra çıkan sonucu c’ye atıyoruz. Böylece bu örnekte, c’nin de ğ eri 30 olacaktır. TextWindow’da görüntüledi ğ imiz de ğ er de budur.

61 Sayıların başında ve sonunda tırnak işareti olmadı ğ ına dikkat edin. Sayılar için, tırnak işaretine gerek yoktur. Tırnak işaretlerine yalnızca metin kullanırken ihtiyacınız vardır.

62 Sayılarla Oynamak  Şimdi, programı biraz de ğ iştirelim ve sonuçları görelim:  Yukarıdaki program, a ile b’yi çarpacak ve çıkan sonucu c’de saklayacaktır. Bu programın sonucunda şunu görebilirsiniz:

63 Sayılarla Oynamak  Benzer şekilde, sayıları çıkarabilir ya da bölebilirsiniz. İ şte bir çıkarma işlemi: c = a - b  Ve bölme işlemi: c = a / b

64 Örnek  Klavyeden girilen iki sayının toplamını ekrana yazdıran programı yazalım.

65 Basit Bir Sıcaklık Dönüştürücüsü Bir sonraki programda, Fahrenhayt cinsinden sıcaklıkları Santigrat’a çevirmek için, formülünü kullanaca ğ ız.

66 Basit Bir Sıcaklık Dönüştürücüsü  İ lk olarak, kullanıcıdan sıcaklı ğ ı Fahrenhayt cinsinden alacak ve bunu bir de ğ işkende saklayaca ğ ız. Kullanıcıdan gelen sayıları okumamızı sa ğ layan özel bir işlem vardır ve bu da; TextWindow.ReadNumber.  Fahrenhayt cinsinden sıcaklı ğ ı bir de ğ işkende sakladıktan sonra, bunu şu şekilde Santigrat’a çevirebiliriz:  Şimdi yapmamız gereken, sonucu kullanıcıya göstermektir.

67 Basit Bir Sıcaklık Dönüştürücüsü  Ve bu programın sonucu şu olacaktır:

68 ReadNumber: Metin penceresinden bir sayı okur ve Enter tuşuna basılana kadar bekler.

69 Not Ortalaması Hesaplayan Program

70

71 Koşullar ve Dallanma

72 Koşullar  Programımızı geliştirmeye devam ediyoruz. Önce isim sorulacak ve kullanıcının yazaca ğ ı isim, ad de ğ işkenine atanacak. Ardından, saat 12:00’den önceyse “Günaydın”, de ğ ilse “ İ yi Akşamlar” ile birlikte girilen isim ekrana yazılacak.

73 Koşullar  Örnek: Saat 12:00’den önceyse “Günaydın”, de ğ ilse “ İ yi Akşamlar” ile birlikte klavyeden girilen ismi ekrana yazdıran program:

74 Koşullar  Programı ne zaman çalıştırdı ğ ınıza ba ğ lı olarak, aşa ğ ıdaki çıktılardan birisini göreceksiniz:  12.00’dan önce ise:  12.00’dan sonra ise:

75 Programın Analizi  Clock.Hour de ğ erinin 12’den az olması durumunda, “Günaydın” yazısı ile birlikte klavye ile girilen isim yazdırılacaktır. If, Then, Else ve EndIf kelimeleri, program çalışırken bilgisayar tarafından anlaşılan özel kelimelerdir.

76 Programın Analizi  If kelimesinin ardından daima bir koşul gelir, bu durumda bu koşul (Clock.Hour<12)’dir. Parantezler, bilgisayarın sizin niyetinizi anlaması için gereklidir. Koşulu then ve yürütülecek işlem izler. Koşulun sa ğ lanmadı ğ ı durumda Else devreye girer ve sonrasındaki işlem yürütülür. EndIf ile koşulun uygulanması biter.

77 İ kiden fazla koşulun gerekti ğ i durumlarda Else kullanmak yerine her koşul için ayrı If-Then-EndIf kullanılabilir.

78 Aşa ğ ıdaki örnekte, belli saat aralıklarında programın farklı şekillerde sonuç verdi ğ ini göreceksiniz.

79 Koşullar: If: Farklı şeyleri yapabilmek için kararlarda bulunmanıza olanak verir. Then: Koşulun sa ğ lanması durumunda yürütülecek işlem yazılır. Else: Koşulun sa ğ lanmaması durumunda yürütülecek işlem yazılır. EndIf: Koşulun uygulanmasının bitti ğ ini ifade eder.

80 Clock.Hour  Small Basic’de, o andaki tarihe ve saate erişmek için, Clock nesnesini kullanabilirsiniz. Bu ayrıca size, o andaki günü, ayı, yılı, dakikayı, saniyeyi ayrı ayrı alabilmenizi sa ğ layan bir grup özellik sa ğ lar.  Az önceki programda saatin 12’den küçük olup olmadı ğ ını sorgulamak için Hour ifadesini kullandık.

81 Clock: O andaki saate erişmek için kullanılır. Beraberinde iste ğ e göre Date, Day, Hour, Minute, Year gibi ifadeler kullanılır.

82 Örnek:  Klavyeden girilen bir sayının tek mi, çift mi oldu ğ unu söyleyecek program:

83 Math  Bu programda, Math nesnesini kullandık. Math, matematik ile ilgili birçok yöntemin bulundu ğ u sınıf için kullanılır.

84 Math: Matematik ile ilgili birçok yöntemin bulundu ğ u sınıf için kullanılır.

85 Remainder: İ lk sayıyı ikinci sayıya böler ve kalanını verir.

86 Dallanma  Hatırlarsanız, bilgisayarın bir programı yukarıdan aşa ğ ıya do ğ ru her defasında bir ifadeyi işlemden geçirecek şekilde çalıştırdı ğ ını ö ğ renmiştiniz. Bununla birlikte, bilgisayarın sıranın dışına çıkarak bir başka ifadeye atlamasını sa ğ layan özel bir ifade vardır. Aşa ğ ıdaki programa bir göz atalım.

87 Örnek:  1’den 24’e kadar sayıları alt alta yazdıran program

88 Etiketler  Bu programda, i de ğ işkenine 1 de ğ erini atadık. Ve sonra, iki nokta üst üste (:) ile biten yeni bir ifade ekledik.  listele:  Bu, bir etiket olarak adlandırılır.

89 Etiketler: Bilgisayarın anlayabildi ğ i yer imleridir. Örne ğ imizde “listele” bir etikettir. Etiketleri istedi ğ imiz gibi adlandırabiliriz ve her biri farklı adla olmak koşuluyla, istedi ğ imiz kadar etiket ekleyebiliriz.

90 Değişkene Değer Atama  Buradaki bir di ğ er ilginç ifade de şudur:  i = i + 1  Bu yalnızca bilgisayara i de ğ işkenine 1 eklemesini ve onu tekrar i de ğ işkenine atamasını söyler. Yani, i’nin de ğ eri bu ifadeden önce 1 ise, ifade çalıştırıldıktan sonra 2 olacaktır.

91 De ğ işkene De ğ er Atama: i = i + 1 Bu ifade, i de ğ işkenine 1 eklenmesini ve tekrar i de ğ işkenine atanmasını söyler. Eşittir işareti (=), de ğ er atamak için kullanılır.

92 Koşullar ve Döngü  Aşa ğ ıda belirtilmiş kısım, i’nin de ğ eri 25’den küçükse, ifadeleri listele yer iminden başlayarak uygulanmasını söyleyen bölümdür.

93 Goto: Program içerisinde yeni bir konuma gidebilmenize olanak verir.

94 Sonsuz Uygulama  Goto ifadesini kullanarak, bilgisayarın bir şeyi istedi ğ iniz defa tekrarlamasını sa ğ layabilirsiniz. Örne ğ in; “Çift ya da Tek” programını alıp, aşa ğ ıdaki gibi de ğ iştirdi ğ inizde, program sonsuza kadar çalışacaktır. Pencerenin üst sa ğ köşesindeki Kapatma (X) dü ğ mesine basarak programı durdurabilirsiniz.

95 Döngüler

96  Daha önceki bölümde yazdı ğ ımız bir programı ele alalım.  Bu program, 1’den 24’e kadar sayıları sırayla yazdırıyor. Bu bir de ğ işkeni artırma süreci programlamada oldukça yaygın oldu ğ undan, programlama dilleri genellikle bunu yapmak için daha kolay bir yöntem sunarlar.

97 Döngüler Yukarıdaki program, aşa ğ ıdaki programa eşde ğ erdir:

98 Döngüler Gördü ğ ünüz gibi, 7 satırlık bir programı 3 satırlık bir programa düşürdük ve yine de 7 satırlık programla aynı işi yapıyor! Daha önce, genellikle aynı şeyi yapmanın çeşitli yolları oldu ğ unu söyledi ğ imizi hatırlayın. İ şte bu, harika bir örnek.

99 DÖNGÜLER Kodlarımızı sürekli döndürmemizi sa ğ lamada bize yardımcı olacak parçacıklara döngü denir.

100 For Döngüsü  For..EndFor, programlama dilinde bir döngü olarak adlandırılır. Bu size, bir de ğ işkeni alıp, ona bir başlangıç ve bitiş noktası vermenizi ve bilgisayarın de ğ işkeni sizin için artırmasını sa ğ lar. Bilgisayar de ğ işkenin de ğ erini her artırdı ğ ında, For ve EndFor arasındaki ifadeleri çalıştırır.

101 For Döngüsü: For döngüsü, bir de ğ işkeni alıp, ona bir başlangıç ve bitiş noktası vermenizi ve bilgisayarın de ğ işkeni sizin için artırmasını sa ğ lar. Bilgisayar de ğ işkenin de ğ erini her artırdı ğ ında, For ve EndFor arasındaki ifadeler çalıştırılır.

102  Örnek: 1’den 24’e kadar sayıları alt alta yazdıran program:

103 Step  E ğ er de ğ işkenin birer birer yerine ikişer ikişer artmasını isteseydiniz, 1 ile 24 arasındaki tüm tek sayıları yazdırmak isteyecektiniz, döngüyü bunu yapmak için de kullanabilirsiniz.  İ fadenin Step 2 bölümü, bilgisayara i’nin de ğ erini 1 yerine 2 artırmasını söyler.

104 Step Step’ı kullanarak, istedi ğ iniz aralıklarla artırma yapabilirsiniz. Step için negatif bir de ğ er de belirleyebilirsiniz ve bu durumda bilgisayar, bu örnekte oldu ğ u gibi geriye do ğ ru sayar.

105 Step For döngüsü içinde adım sayısını belirlemek için kullanılır. Yukarıdaki örnekte 5’ten 30’a kadar 5’er artarak sayılar alt alta yazılır.

106 While Döngüsü  While döngüsü, döngü sayısı önceden bilinmedi ğ i zaman faydalıdır. Bir For döngüsü önceden tanımlandı ğ ı kadar çalışırken, While döngüsü verilen bir koşul do ğ ru hale gelinceye kadar çalışır. Aşa ğ ıdaki örnekte, sonuç 1’den büyük oldu ğ u sürece bir sayıyı ikiye bölüyoruz.

107 While Döngüsü  Aşa ğ ıdaki programda, a’ya 100 de ğ erini atıyoruz ve sayı 1’den büyük oldu ğ u sürece While döngüsünü çalıştırıyoruz. Döngünün içinde, sayıyı yazdırıyoruz ve sonra ikiye bölüp, yarısını buluyoruz. Böylece programın çıktısı, birbiri ardına yarıya inen sayılar oluyor.

108 While Döngüsü  Bu programı For döngüsünü kullanarak yazmak gerçekten zor olurdu, çünkü döngünün kaç kez çalışması gerekti ğ ini bilemezdik. Bir While döngüsü ile, bir koşulu kontrol etmek ve bilgisayara döngüyü sürdürmesini ya da bırakmasını söylemek kolaydır.

109 While Tüm While döngüleri, bir If..Then ifadesine dönüştürülebilir. Örne ğ in; yandaki iki program, aynı sonucu verir.

110 While Döngüsü: Verilen bir koşul do ğ ru hale gelinceye kadar çalışır. Yukarıdaki örnekte, sonuç 1 ’den büyük oldu ğ u sürece, önceden belirlenmiş sayı 2’ye bölünüyor.

111 Grafiklere Giriş

112  Şimdiye kadar verdi ğ imiz tüm örneklerde, Small Basic dilinin temellerini açıklamak için, TextWindow’u kullandık. Bununla birlikte, Small Basic’de bu bölümde araştırmaya başlayaca ğ ımız güçlü bir Grafik özelli ğ i seti de bulunur.

113 GraphicsWindow  Tıpkı, metinlerle ve sayılarla çalışmamıza izin veren TextWindow gibi, Small Basic aynı zamanda bir şeyler çizmemizi sa ğ layan bir GraphicsWindow da sunar.

114 GraphicsWindow  GraphicsWindow’u görüntüleyerek başlayalım.  Bu programı çalıştırdı ğ ınızda, bildi ğ imiz siyah metin penceresi yerine, beyaz bir pencerenin açıldı ğ ını göreceksiniz. Henüz bu pencerede yapacak fazla bir şey yoktur. Ancak, bu bölümde üzerinde çalışaca ğ ımız zemin pencere bu olacak. Pencerenin üst sa ğ köşesindeki “X” dü ğ mesine basarak bu pencereyi kapatabilirsiniz.

115 GraphicsWindow

116 GraphicsWindow: Grafiklerle çalışarak programı görsel olarak zenginleştirmek için GraphicsWindow’u kullanırız. GraphicsWindow.Show() komutu ile grafik penceresini görüntüleriz.

117 Grafik Penceresinin Kurulumu  Grafik penceresi, görünüşünü iste ğ iniz gibi ayarlamanıza izin verir. Bu pencerenin başlı ğ ını, arka planını ve boyutunu de ğ iştirebilirsiniz. Şimdi devam edelim ve pencereyi daha iyi tanımak için, onu birazcık de ğ iştirelim.

118 Grafik Penceresinin Kurulumu  Özelleştirilmiş bir pencere işte böyle görünür. Arka plan rengini, istedi ğ iniz renkten birisiyle de ğ iştirebilirsiniz. Pencerenin görünümü nasıl de ğ iştirebilece ğ inizi görmek için, bu özelliklerle oynayın.renk

119 Grafik Penceresinin Kurulumu  Renkler için isimler kullanmak yerine, internet renk gösterimini de kullanabilirsiniz. Örne ğ in; #FF0000 Kırmızı renge karşılık gelir, #FFFF00 Sarı renge, vs.

120 Grafik Penceresini Değiştirme  Grafik penceresinin başlı ğ ını, arka planını ve boyutunu de ğ iştirmek için aşa ğ ıdaki programı yazalım:

121 BackgroundColor: Arka plan rengini de ğ iştirmek için kullanılır.

122 Title: Grafik penceresinin başlı ğ ını belirtir.

123 Width/Height : Grafik penceresinin genişli ğ i için Width, yüksekli ğ i için Height kullanılır.

124 Çizgiler Çizmek  GraphicsWindow’u açtıktan sonra, üzerine şekil, metin ve hatta resim çizebiliriz. Bazı basit şekiller çizmekle başlayalım. İ şte, Grafik Penceresine bir çift çizgi çizen bir program.

125 Çizgiler Çizmek  Programın ilk iki satırı, pencereyi ayarlar ve ondan sonraki iki satır da çapraz işaretinin çizgilerini çizer. DrawLine’dan sonra gelen ilk iki sayı, başlangıç x ve y koordinatlarını ve di ğ er ikisi de, bitiş x ve y koordinatlarını belirtir. Bilgisayar grafikleri ile ilgili ilginç olan şey, koordinatların (0, 0) pencerenin üst sol köşesinden başlamasıdır.

126 Çizgiler Çizmek  Grafik penceresine bir çift çizgi çizmek için aşa ğ ıdaki programı yazalım:

127 DrawLine : Bir noktadan di ğ erine bir çizgi çizer. GraphicWindow.DrawLine(x1,y1,x2,y2) şeklinde kullanılır. x1 : İ lk noktanın x koordinatı y1 : İ lk noktanın y koordinatı x2 : İ kinci noktanın x koordinatı y2 : İ kinci noktanın y koordinatı

128 Çizgi Özelliklerini Değiştirmek  Çizginin renk ve kalınlık gibi özelliklerini de ğ iştirebiliriz. İ lk önce, aşa ğ ıdaki programda gösterildi ğ i şekilde, çizgilerin rengini de ğ iştirelim.

129 PenColor : Grafik penceresinde şekil çizmek için kullanılan kalemin rengini belirtir. Yukarıdaki örnekte, yeşil renkte çapraz yönde bir çizgi çizilir.

130 Çizgi Özelliklerini Değiştirmek  Şimdi, boyutunu da de ğ iştirelim. Aşa ğ ıdaki programda, çizgi kalınlı ğ ını varsayılan de ğ er olan 1 yerine, 10 olarak de ğ iştiriyoruz.

131 PenWidth : Grafik penceresinde şekil çizmek için kullanılan kalemin kalınlı ğ ını belirtir. Yazdı ğ ımız programa yukarıdaki satırı ekleyerek, çizgiyi 10 kat kalınlaştırırız.

132 Çizgi Özelliklerini Değiştirmek  PenWidth ve PenColor, bu çizgilerin çizildi ğ i kalemi de ğ iştirir. Bunlar yalnızca çizgileri de ğ il, özellikler güncellendikten sonra çizilen tüm şekilleri etkilerler.

133 Çizgi Özelliklerini Değiştirmek  Daha önceki bölümlerde ö ğ rendi ğ imiz döngü yapan ifadeleri kullanarak, kalem kalınlı ğ ı gittikçe artan birden fazla çizgi çizebiliriz.

134 Çizgi Özelliklerini Değiştirmek  Bu programın ilginç bölümü; döngü her çalıştı ğ ında PenWidth’in artması ve sonra eskisinin altına yeni bir çizgi çizmesidir.

135  Kalem kalınlı ğ ı gittikçe artan birden fazla çizgi çizelim. Örnek:

136 Şekiller Çizmek ve İçlerini Doldurmak  İ ş şekiller çizmeye geldi ğ inde, her şekil için genellikle iki tip işlem vardır. Bunlar, Çizme ve İ çini Doldurma işlemleridir. Çizme işlemleri, bir kalem kullanarak şeklin dış çerçevesini çizer ve İ çini Doldurma işlemleri de, bir fırça kullanarak şekli boyar. Örne ğ in; yandaki programda, iki adet dikdörtgen var, bunlardan birisi kırmızı bir kalem kullanılarak çizilmiş ve di ğ eri de Yeşil Fırça kullanılarak içi doldurulmuş.

137 Şekiller Çizmek ve İçlerini Doldurmak  Bir dikdörtgen çizmek veya içini doldurmak için, dört sayıya ihtiyacınız vardır. İ lk iki sayı, dikdörtgenin üst sol köşesinin X ve Y koordinatlarını temsil eder. Üçüncü sayı, dikdörtgenin genişli ğ ini, dördüncü ise yüksekli ğ ini belirtir.

138 Dikdörtgen Çizmek ve İçini Doldurmak

139 BrushColor: Şekilleri doldurmak için kullanılan fırça rengini belirtir.

140 DrawRectangle: Seçilen kalem ile ekranda dikdörtgen çizer. DrawRectangle(x, y, width, height) şeklinde kullanılır. x ve y başlangıç noktalarını, width dikdörtgenin genişli ğ ini, height yüksekli ğ ini belirtir.

141 FillRectangle: Seçilen fırça ile ekrandaki dikdörtgeni doldurur. Kullanım şekli DrawRectangle ile benzerdir.

142 Elips Çizmek ve İçini Doldurmak  Programdaki elipslerin çizilmesi ve içlerinin doldurulması da dikdörtgen ile benzerdir.

143 Elips Çizmek ve İçini Doldurmak  Programdaki elipslerin çizilmesi ve içlerinin doldurulması da dikdörtgen ile benzerdir.

144 DrawEllipse: Seçilen kalem ile ekranda elips çizer. DrawEllipse(x, y, width, height) şeklinde kullanılır.

145 FillEllipse: Seçilen fırça ile ekrandaki elipsi doldurur.

146 Elips Çizmek ve İçini Doldurmak  Elipsler, yalnızca genel bir daire biçimidir. Daireler çizmek isterseniz, aynı genişli ğ i ve yüksekli ğ i belirtmeniz gerekir.

147 Elips Çizmek ve İçini Doldurmak

148 Şekillerle Eğlence

149  Bu bölümde, şu ana kadar ö ğ rendiklerimizle biraz e ğ lenece ğ iz. Bu bölüm, bazı hoş görünümlü programlar yaratmak için, şu anda kadar ö ğ rendiklerinizi birleştirmenin bazı ilginç yöntemlerini gösteren örnekler içerir.

150 İç İçe Kareler  Bir döngü içerisinde boyutları gittikçe artan kareler çizelim.

151 İç İçe Daireler  Bir önceki programa benzer olarak bu program, kareler yerine daireler çizer.

152 İç İçe Daireler  Az önce yazdı ğ ımız programda “DrawRectangle” yerine “DrawEllipse” yazarsak, kare yerine daire çizmiş oluruz.

153 Rastgele Daireler Bu program, fırçanın rengini rastgele seçmek için GraphicsWindow.GetRandomColor işlemini ve sonra da dairelerin x ve y koordinatlarını seçmek için Math.GetRandomNumber işlemini kullanır. Bu iki işlem, çalıştıkları her seferde farklı sonuçlar verir.

154 Rastgele Daireler

155 GetRandomColor: Rastgele bir renk seçer.

156 GetRandomNumber: 1 ile belirtilen sayı aralı ğ ında rastgele sayı üretir.

157 Turtle Graphics

158 Turtle  Small Basic’de, programların içerisindeki programlardan ça ğ rılabilen pek çok komuta sahip olan bir Turtle (Kaplumba ğ a) nesnesi bulunur.  Bu bölümde, kaplumba ğ ayı ekranda grafikler çizmek için kullanaca ğ ız.  Başlangıç olarak, kaplumba ğ anın ekranda görünür hale gelmesini sa ğ lamamız gerekiyor. Bu tek satırlık basit bir programla yapılabilir.

159 Turtle  Bu programı çalıştırdı ğ ınızda, merkezinde bir kaplumba ğ a bulunması dışında, tıpkı daha önceki bölümde gördü ğ ümüz gibi beyaz bir pencerenin açıldı ğ ını göreceksiniz. Talimatlarımızı izleyecek ve çizmesini istedi ğ imiz şeyi çizecek olan kaplumba ğ a budur.

160 TURTLE: Ekranda grafikler çizmek için kaplumba ğ a kullanaca ğ ız. Kaplumba ğ anın ekranda görünmesi için aşa ğ ıdaki kodu yazalım:

161 Hareket Ettirmek ve Şekiller Çizmek  Kaplumba ğ anın anladı ğ ı talimatlardan birisi Move’dur. Bu işlem bir sayıyı girdi olarak alır. Bu sayı, kaplumba ğ aya ne kadar uza ğ a gitmesi gerekti ğ ini söyler. Diyelim ki; aşa ğ ıdaki örnekte kaplumba ğ aya 100 piksel hareket etmesini söyleyece ğ iz.

162 Hareket Ettirmek ve Şekiller Çizmek  Bu programı çalıştırdı ğ ınızda, kaplumba ğ anın yukarıya do ğ ru yavaşça 100 piksel hareket etti ğ ini görebilirsiniz. Hareket ettikçe, arkasında bir çizgi çizdi ğ ini de fark edeceksiniz. Kaplumba ğ a hareket etmeyi bitirdi ğ inde, sonuç yandaki şekildeki gibi olacaktır.

163 Kaplumba ğ a üzerinde işlemler yaparken Show() komutunu kullanmaya gerek yoktur. Ne zaman bir kaplumba ğ a işlemi gerçekleştirilirse, kaplumba ğ a otomatik olarak görünür hale gelecektir.

164 Kaplumba ğ a, daha önceki bölümde gördü ğ ümüzle aynı GraphicsWindow’da çizim yapar. Bu da, önceki bölümde ö ğ rendi ğ imiz tüm işlemlerin burada da geçerli oldu ğ u anlamına gelir.

165 Bir Kare Çizmek  Bir kare çizmek için, kaplumba ğ anın bir çizgi çizmesini, sa ğ a dönmesini ve bir başka çizgi çizmesini ve dört kenar da tamamlanıncaya kadar bu işleme devam etmesini sa ğ lamamız gerekir.

166 Bir Kare Çizmek  Aynı talimatları tekrar tekrar yazmaktansa, tekrarlanan komutların döngü kullanılarak uygulanabilece ğ ini ö ğ renmiştik. Yani, aynı programı For..EndFor döngüsünü kullanacak şekilde de ğ iştirirsek, sonuçta ortaya çok daha basit bir program çıkacaktır.

167 Renkleri Değiştirmek  Aynı programa aşa ğ ıdaki 2. satırı ekleyerek, karenin her bir kenarını farklı renkte çizmesini sa ğ layabiliriz.

168 Renkli Bir Kare Çizmek  Kaplumba ğ aya, her kenarı farklı renkte bir kare çizdiren program:

169 Move: Kaplumba ğ ayı belirli bir uzaklı ğ a götürür ve kalem kapatılmadı ğ ı sürece her harekette çizim yapılır.

170 TurnRight: Kaplumba ğ a 90 derece sa ğ a döner. TurnLeft: 90 derece sola döner.

171 Altıgen Çizmek  TurnRight ve TurnLeft işlemlerine ek olarak, kaplumba ğ anın bir de Turn işlemi vardır. Bu işlem, dönme açısını belirten bir girdi alır. Altıgenin kenarlarının arasındaki açı 60 derece oldu ğ u için, Turn(60) komutunu kullandı ğ ımıza dikkat edin.

172 Altıgen Çizmek  Kaplumba ğ aya altıgen çizdiren program:

173 Turn: Kaplumba ğ ayı belirli bir açıda döndürür. Açı derece cinsindendir ve pozitif ya da negatif olabilir. E ğ er açı pozitifse kaplumba ğ a sa ğ ına, negatifse soluna döner.

174 Çokgen Çizmek  Tüm kenarları eşit olan çokgenler için, 360 sayısı kenar adedine bölünerek, kenarlar arasındaki açı kolayca elde edilebilir. Bu işlem kullanılarak, herhangi bir çokgeni çizmek mümkündür.

175 Çokgen Çizmek Aynı işlemi, sadece kenar uzunlu ğ unu de ğ iştirerek yapabilece ğ imiz programı şu şekilde yazarız:  Örne ğ in; kenar de ğ işkenini 4 ile de ğ iştirerek bir kare çizilece ğ i gibi, 50 gibi yeterince büyük bir de ğ er girmek, sonucun bir daireye çok benzemesine neden olacaktır.

176 Çokgen Çizmek Sadece kenar uzunlu ğ unu de ğ iştirerek alınabilecek sonuçlara örnekleri görüyoruz. kenar = 12 kenar = 8kenar = 5

177 Çokgen Çizmek Kenar sayısını de ğ iştirerek farklı çokgenler çizdirebilece ğ imiz program:

178 Karmaşık Şekiller Çizmek  Biraz önce ö ğ rendi ğ imiz tekni ğ i kullanarak, ilginç bir sonuç elde edecek şekilde kaplumba ğ anın her seferinde biraz kayarak birden fazla daire çizmesini sa ğ layabiliriz.

179 Karmaşık Şekiller Çizmek  Yandaki programda, birisi di ğ erinin içerisinde iki adet For..EndFor döngüsü vardır. İ çteki döngü (i = 1 to kenar), çokgen programına benzer ve bir daire çizer. Dıştaki döngü, (j = 1 to 20) çizilen her bir daire için, kaplumba ğ ayı biraz döndürür. Bu, kaplumba ğ aya 20 adet daire çizmesini söyler.

180 Karmaşık Şekiller Çizmek  Kaplumba ğ anın her seferinde biraz kayarak birden fazla daire çizdiren program:

181 Speed: Kaplumba ğ anın hareket hızını belirler. Hız de ğ eri 1 ile 10 arasındadır. De ğ er 10 oldu ğ unda, kaplumba ğ a anında hareket eder ve döner.

182 Çevrede Dolaşmak PenUp işlemi, kaplumba ğ ayı çizim yapmadan ekranda herhangi bir yere hareket ettirebilmenizi sa ğ lar. PenDown işlemi ile kaplumba ğ a tekrar çizmeye başlar. Bu, noktalı çizgiler gibi bazı ilginç efektler elde etmek için kullanılabilir. Aşa ğ ıdaki programı inceleyelim:

183 Kesik Çizgiler Çizmek

184 PenUp: Kaplumba ğ a hareket ederken çizim yapmasını durdurur. PenDown: Kaplumba ğ a hareket ederken çizim yapması için kalemi aşa ğ ı indirir.

185 Kesik Çizgili Çokgen  Bu programda da iki döngü var. İ çteki döngü, tek bir noktalı çizgi çizer, dıştaki döngü kaç çizgi çizilece ğ ini belirtir. Örne ğ imizde, kenar de ğ işkeni için 6 sayısını kullanıyoruz ve kesik çizgili bir altıgen elde ediyoruz.

186 Altyordamlar

187  Program yazarken, sık sık aynı adım setini defalarca tekrar uygulamamız gerekecek durumlarda, aynı ifadeleri birden fazla kez yazmak yerine Altyordamlar faydalı olurlar.  Bir altyordam, daha büyük bir program içerisindeki kodun, programdaki herhangi bir yerden ça ğ ırılabilen bir bölümüdür.

188 Altyordamlar  Altyordamlar, Sub anahtar kelimesinin ardından gelen bir isimle tanımlanırlar ve EndSub anahtar kelimesiyle sonlandırılırlar.  Örne ğ in; aşa ğ ıdaki küçük parça ismi saat olan bir altyordamı temsil eder ve bu altyordam, o andaki zamanı TextWindow’a yazdırma işini yapar.

189 ALTYORDAMLAR Altyordam, daha büyük bir program içerisindeki kodun, programdaki herhangi bir yerden ça ğ ırılabilen bir bölümüdür. Sub kelimesinin ardından gelen bir isimle tanımlanırlar ve EndSub ile sonlandırılırlar.

190 Altyordamlar  Aşa ğ ıda, altyordam içeren ve onu çeşitli yerlerden ça ğ ıran bir program yer almaktadır.

191 Örnek:

192 Altyordamları Kullanmanın Avantajları  Altyordamlar, yazmanız gereken kod miktarını azaltırlar.  Karmaşık problemlerin daha basit parçalara ayrılmasına da yardımcı olabilirler.  Bir programın okunabilirli ğ inin iyileştirilmesine de yardımcı olabilirler. Programınızın ortak olarak çalışan bölümleri için iyi isimlendirilmiş altyordamlarınız varsa, programınızın okunması ve kavranması daha kolay hale gelir.

193 Değişkenlerin Kullanılması  Bir programdaki herhangi bir de ğ işkene, bir altyordam içerisinden erişebilir ve onu kullanabilirsiniz. Aşa ğ ıdaki programda, max de ğ işkeninin altyordamın hem içinde, hem de dışında kullanıldı ğ ına dikkat edin.

194 Altyordamlar  Şimdi, x ve y de ğ işkenlerinde saklayacak çeşitli noktaları hesaplayan bir grafik programı kullanaca ğ ız. Program, merkez olarak x ve y’yi kullanarak bir daire çizmekten sorumlu olan DaireCiz isimli bir altyordam kullanacak.

195 Döngüler İçerisinde Altyordamların Çağırılması  Bazen, altyordamlar bir döngünün içinden ça ğ rılırlar, bu sırada aynı ifade setini uygularlar, ancak bunu bir ya da daha fazla de ğ işkende farklı de ğ erlerle yaparlar. Örne ğ in; diyelim ki, AsalKontrol isimli bir altyordamınız var ve bu, bir sayının asal olup olmadı ğ ını belirliyor. Kullanıcıya bir de ğ er girmesini söyleyen bir program yazabilir ve sonra bu altyordamı kullanarak, onun asal olup olmadı ğ ını söyleyebilirsiniz.

196 Döngüler İçerisinde Altyordamların Çağırılması  Girilen sayının asal sayı olup olmadı ğ ını söyleyen program:

197 Döngüler İçerisinde Altyordamların Çağırılması  AsalKontrol altyordamı, i de ğ erini alır ve bunu daha küçük sayılara bölmeye çalışır. E ğ er bir sayı i’ye bölünür ve kalanı olmazsa, bu durumda i bir asal sayı de ğ ildir. Bu noktada, altyordam Asal’ın de ğ erini “False” olarak belirler ve çıkar. Sayı daha küçük sayılara bölünemezse, bu durumda Asal’ın de ğ eri “True” olarak kalır.

198 Döngüler İçerisinde Altyordamların Çağırılması  Artık bizim için Asal kontrolünü yapacak bir altyordamınız oldu ğ una göre, bunu diyelim ki, 100’ün altındaki tüm asal sayıları listelemek için kullanabilirsiniz. Önceki programı de ğ iştirmek ve bir döngü içinden AsalKontrol’ü ça ğ ırmasını sa ğ lamak gerçekten kolaydır. Bu, altyordama döngü her çalıştı ğ ında hesaplaması için farklı bir de ğ er verir. Bir sonraki örnekle bunun nasıl yapıldı ğ ını görelim.

199 1’den 100’e kadar asal sayıları listeleyen program:

200 Döngüler İçerisinde Altyordamların Çağırılması  Önceki programda, i de ğ eri döngü her çalıştı ğ ında güncellenir. Döngünün içinde, AsalKontrol altyordamı için bir ça ğ rı yapılır. Daha sonra, AsalKontrol altyordamı i de ğ erini alır ve i’nin bir asal sayı olup olmadı ğ ını hesaplar. Sonuç, daha sonra altyordamın dışındaki döngü tarafından erişilen Asal de ğ işkeninde saklanır. Daha sonra, asal sayı oldu ğ unun anlaşılması durumunda, i’nin de ğ eri yazdırılır. Ve döngü 2’den başlayıp 100’e kadar çıktı ğ ı için, 2 ile 100 arasındaki tüm asal sayıların bir listesini elde ederiz. Yanda programın sonucu yer almaktadır.

201 SquareRoot: Verilen sayının karekökünü hesaplar.

202 Diziler

203  Şu ana kadar, size de ğ işkenlerin kullanımı konusunda detaylı bilgiler verdik – ne de olsa bu noktaya kadar geldiniz ve hala e ğ leniyorsunuz, öyle de ğ il mi?  Bir an için, de ğ işkenlerle yazdı ğ ımız ilk programa geri dönelim:  Bu programda, kullanıcının ismini name isimli bir de ğ işkene aldık ve orada sakladık. Daha sonra kullanıcıya “Merhaba” dedik.

204 Diziler  Şimdi, diyelim ki; birden fazla kullanıcı var (mesela 5 kullanıcı). Hepsinin ismini nasıl saklayabiliriz? Bunu yapmanın bir yolu şudur:

205 Diziler  Bu programı çalıştırdı ğ ınızda, aşa ğ ıdaki sonucu göreceksiniz:

206 Diziler  Bu kadar basit bir programı yazmanın daha iyi bir yolu olmalı, de ğ il mi? Özellikle bilgisayarlar tekrarlanan görevleri yapmakta oldukça başarılı olduklarından, her bir yeni kullanıcı için aynı kodu tekrar tekrar yazmak yerine, aynı de ğ işkeni kullanarak, birden fazla kullanıcının ismini saklayıp geri ça ğ ırabiliriz. Burada diziler imdadımıza yetişir.

207 Diziler  Dizi, bir defada birden fazla de ğ eri tutabilen özel bir de ğ işkendir.  Beş kullanıcı adını saklamak için ad1, ad2, ad3, ad4 ve ad5 oluşturmak yerine, “indeks” kullanabiliriz.  Örne ğ in; ad[1], ad[2], ad[3], ad[4] ve ad[5]’in her biri bir de ğ er saklayabilir. 1, 2, 3, 4 ve 5 sayıları, dizi için indeks olarak adlandırılır.

208 D İ Z İ LER Dizi, bir defada birden fazla de ğ eri tutabilen özel bir de ğ işkendir.

209 Diziler  ad[1], ad[2], ad[3], ad[4] ve ad[5] farklı de ğ işkenler gibi görünse de, gerçekte bunların hepsi yalnızca tek bir de ğ işkendir.  De ğ erleri bir dizide saklamanın en iyi yanı, bir başka de ğ işkeni kullanarak indeksi belirtebilmenizdir. Bu da, döngülerin içerisindeki dizilere kolayca erişebilmemizi sa ğ lar.

210 Diziler  Şimdi, bir önceki programımızı dizilerle yazarak, yeni ö ğ rendi ğ imiz bilgiyi nasıl kullanabilece ğ imize bir bakalım.  İ şaretli satırlardan birincisi; bir de ğ eri dizide saklar ve ikicisi de onu diziden okur.

211 Örnek:  Dizi kullanarak de ğ işken tanımlama:

212 Bir Dizinin İndekslenmesi  Bir önceki programımızda, diziye de ğ erleri saklayıp, sonra da geri ça ğ ırmak için indeks olarak sayıları kullandık. İ ndeksler yalnızca sayılarla sınırlı de ğ ildir ve uygulamada, metinsel indeksler kullanmak da oldukça avantajlıdır.  Bir sonraki programda, bir kullanıcı hakkındaki çeşitli bilgi parçalarını sorup saklayaca ğ ız ve sonra da kullanıcının istedi ğ i bilgileri yazdıraca ğ ız.

213 Bir Dizinin İndekslenmesi

214 Birden Fazla Boyut  Diyelim ki; tüm arkadaşlarınızın isimlerini ve telefon numaralarını saklamak ve daha sonra da ihtiyaç duydu ğ unuzda telefon numaralarına ulaşmak istiyorsunuz. Bu tip bir programı nasıl yazabiliriz?  Bu durumda, ilgili iki indeks seti vardır. Her bir arkadaşınızı takma ismiyle tanımladı ğ ımızda, bu bizim dizideki ilk indeksimiz olur. İ kincisi, isim ve telefon numarası o arkadaşın gerçek ismine ve telefon numarasına ulaşmamızı sa ğ layacaktır.

215 Birden Fazla Boyut  Bu programı bir kez düzenledikten sonra, girdi olarak bir arkadaşımızın kod adını alabilir ve sonra o kişi hakkında sakladı ğ ımız bilgileri yazdırabiliriz. İ şte bunu yapan program:

216 Birden Fazla Boyut  Program şu şekilde çalışır:

217 Tabloları Temsil Etmesi İçin Dizileri Kullanmak  Çok boyutlu dizilerin oldukça yaygın bir kullanımı, tabloları temsil etmektir. Tabloların, iki boyutlu bir diziye çok iyi bir şekilde uyan sıraları ve kolonları vardır. Aşa ğ ıda, bir tabloya kutular yerleştiren bir program görüyoruz.

218 Tabloları Temsil Etmesi İçin Dizileri Kullanmak  Bu program kareler ekler ve onları 8x8 bir tablo oluşturacak şekilde konumlandırır. Bu kutuları yerleştirmenin yanında, ayrıca onları bir dizi halinde de saklar. Bunu yapması, kutuları izlememizi ve gerekti ğ inde tekrar kullanmamızı kolaylaştırır.

219 Tabloları Temsil Etmesi İçin Dizileri Kullanmak

220  Bir önceki programın sonuna aşa ğ ıdaki kodun eklenmesi, bu kutuların sol üst köşeye gitmesine neden olacaktır.

221 Tabloları Temsil Etmesi İçin Dizileri Kullanmak

222 Örnek:  Dizileri kullanarak kutular ekleyen ve kutuları sol üst köşede toplayan program:

223 Shapes  Grafik penceresinde şekil ekleme, şekli hareket ettirme, döndürme gibi işlemleri sa ğ lar.

224 Shapes: Grafik penceresinde şekil ekleme, şekli hareket ettirme ve döndürme işlemlerini sa ğ lar.

225 AddRectangle: Belirtilen genişlik ve yükseklikte dikdörtgen şekil ekler.

226 Move: Şekli başka konuma taşır. Move(ad, x, y) şeklinde kullanılır. ad: Çizdirilecek şeklin ismi x ve y: Yeni pozisyonun x ve y koordinatları

227 Animate: Şekli, belirtilen isimle yeni bir konuma çizdirir. Animate(ad, x, y, zaman) şeklinde kullanılır. zaman: Animasyonda kullanılacak milisaniye cinsinden süre

228 Program: Programın çalışmasını kontrol etmek için yardım sa ğ lar.

229 Delay: Programın çalışmasını belirtilen süre do ğ rultusunda geciktirir. Delay(milisaniye) şeklinde kullanılır.

230 Olaylar ve Etkileşim

231  Olaylar, örne ğ in; fareyi hareket ettirmek veya üzerine tıklamak gibi kullanıcı eylemlerine karşı verilen sinyaller gibidir.  Bir anlamda, olaylar işlemlerin tam tersidir. İ şlemler söz konusuysa, bir programcı olarak siz bilgisayara bir şeyler yaptırırsınız, olaylar söz konusuysa, bilgisayar ilginç bir şey oldu ğ unda size haber verir.

232 Olaylar ve Etkileşim  Bir kullanıcının programınızla etkileşime girmesini isterseniz, olayları kullanırsınız.  Diyelim ki; bir Üç Taş oyunu yazıyorsunuz. Kullanıcının hamlesine karar vermesine izin vermek isteyeceksiniz. İ şte burada olayları kullanarak programınız içerisinden girdi alırsınız.

233 OLAYLAR Fareyi hareket ettirmek veya üzerine tıklamak gibi kullanıcı eylemlerine karşı verilen sinyallerdir.

234 Olaylar ve Etkileşim  Aşa ğ ıda, yalnızca tek bir ifadeden ve bir altyordamdan oluşan oldukça basit bir program yer alıyor. Altyordam, kullanıcıya bir mesaj kutusu göstermek için, GraphicsWindow nesnesinde ShowMessage işlemini kullanır.

235 Olaylar ve Etkileşim  İ lk satırda, GraphicsWindow nesnesinin MouseDown olayına Tiklama altyordamını atıyoruz. Olay gerçekleşti ğ inde, altyordam otomatik olarak ça ğ ırılır. Bu durumda, kullanıcı fareyi kullanarak her tıkladı ğ ında, yandaki mesaj kutusunu göreceksiniz.

236 Örnek:  Fare ile tıklayınca mesaj kutusu açılan program:

237 MouseDown: Fare tuşuna basıldı ğ ında bir olayı aktifleştirir.

238 ShowMessage: Ekranda girilen mesajı gösterir. ShowMessage(mesaj, başlık) şeklinde kullanılır.

239 Olaylar ve Etkileşim  Tiklama altyordamını, bir mesaj kutusu açmak yerine başka şeyler yapmak üzere de ğ iştirebilirsiniz. Örne ğ in; aşa ğ ıdaki programda oldu ğ u gibi, kullanıcının fareyi tıkladı ğ ı yerlere büyük mavi noktalar çizebilirsiniz.

240 Olaylar ve Etkileşim  Bu programda, farenin koordinatlarını elde etmek için MouseX ve MouseY’yi kullandı ğ ımıza dikkat edin. Bunları, farenin koordinatları dairenin merkezi olacak şekilde, bir daire çizmek için kullanıyoruz.

241 Mavi Daireler!

242 Birden Fazla Olayın Kullanılması  Ne kadar olayı kullanmak istedi ğ inizle ilgili bir sınır yoktur. Ancak, bir olayı yalnızca bir kez kullanabilirsiniz. Aynı olaya iki altyordam atamaya çalışırsanız, ikincisi aktif olur.  Şimdi bir önceki örne ğ e, tuşlara basmayı kullanan bir altyordam ekleyelim. Ayrıca, bu altyordama fırçanın rengini de ğ iştirtelim, böylece fareye tıkladı ğ ımızda farklı bir renkte nokta elde edelim.

243 Renkli Noktalar

244  Bu programı çalıştırır ve pencereye tıklarsanız, mavi bir nokta çıkacaktır. Herhangi bir tuşa bir kez basar ve sonra yine tıklarsanız, farklı renkte bir nokta çıkacaktır. Bir tuşa bastı ğ ınızda, fırçanın rengini rastgele bir renge de ğ iştiren Birtusabasma altyordamı uygulanır.

245 MouseX: Grafik penceresine göre farenin x konumunu belirtir. MouseY: Farenin y konumunu belirtir. MouseDown: Fare tuşuna basıldı ğ ında bir olayı aktifleştirir.

246 Bir Çizim Programı  Olayları ve altyordamları ö ğ rendikten sonra, artık kullanıcıların pencerede çizim yapmasına izin veren bir program yazabiliriz.  İ lk adım olarak, kullanıcıların fareyi grafik penceresinde herhangi bir yere hareket ettirmesine izin verecek ve fare hareket ettirildi ğ inde bir iz bırakacak bir program yazalım.

247 Bir Çizim Programı  Ancak, bu programı çalıştırdı ğ ınızda, ilk satır daima pencerenin sol üst kenarından (0, 0) başlar.  MouseDown olayını kullanarak ve o olay geldi ğ inde pX ve pY de ğ erlerini alarak bu sorunu giderebiliriz.

248 Bir Çizim Programı  İ ze yalnızca kullanıcı fare dü ğ mesini basılı tuttu ğ unda ihtiyacımız vardır. Di ğ er zamanlarda, çizgi çizmememiz gerekir. Bu davranışı elde etmek için, Mouse nesnesinde IsLeftButtonDown özelli ğ ini kullanaca ğ ız. Bu özellik, Sol dü ğ mesine basılı tutulup tutulmadı ğ ını söyler. Bu de ğ er do ğ ruysa, çizgiyi çizeriz, de ğ ilse çizmeyiz.

249 Bir Çizim Programı

250  Programı çalıştırdı ğ ımızda artık serbestçe istedi ğ imizi çizebiliriz.

251 MouseMove: Fare hareket ettirildi ğ inde bir olayı gerçekleştirir.

252 Mouse: İ mleç konumu, işaretçi gibi, fare ile ilgili özellikleri almak veya ayarlamak için için kullanılır.

253 IsLeftButtonDown: Sol tuşa basılıp basılmadı ğ ını belirtir.

254 Eğlenceli Örnekler

255 Benzer Şekilleri Kullanarak Ağaç Çizen Kaplumbağa

256

257 Stack: De ğ erleri depolamanın yolunu sa ğ lar. Yı ğ ının en tepesine bir de ğ er gönderebilir ve oradan alabilirsiniz.

258 PushValue: Belirtilen yı ğ ına bir de ğ er atar. PushValue(yı ğ ın adı, atanan de ğ er) şeklinde kullanılır.

259 PopValue: Belirtilen yı ğ ından de ğ er alır.

260 Flickr’dan Fotoğraf Almak

261 Flickr: Flickr foto ğ raf servisine erişimi sa ğ lar.

262 GetRandomPicture: Belirtilen bir etiket do ğ rultusunda rastgele bir foto ğ rafın URL’sini belirtir.

263 DrawResizedImage: Hafızadaki belirtilen bir resmi belirtilen boyutta ekrana çizdirir. DrawResizedImage(ad, x, y, genişlik, yükseklik) şeklinde kullanılır.

264 Raket Oyunu

265 Renkler

266 Kırmızı

267 Pembe

268 Turuncu

269 Sarı

270 Mor

271 Yeşil

272 Mavi

273 Kahverengi

274

275 Gri

276 KAYNAKLAR  Microsoft resmi sitesinde yayınlanan Introducing Small Basic dosyasından,  Microsoft Small Basic programı içerisindeki tanıtımlardan yararlanılmıştır. Hazırlayan: Burcu Akay


"Programlamaya Giriş. Programlama  Bilgisayar programlaması, programlama dilleri kullanılarak, bilgisayar yazılımlarının oluşturulması sürecidir." indir ppt

Benzer bir sunumlar


Google Reklamları