{"id":982,"date":"2010-04-01T18:08:32","date_gmt":"2010-04-01T15:08:32","guid":{"rendered":"http:\/\/hilmibilici.com\/blog\/?p=982"},"modified":"2010-04-01T18:08:32","modified_gmt":"2010-04-01T15:08:32","slug":"programlamaya-giris-2","status":"publish","type":"post","link":"http:\/\/hilmibilici.com\/?p=982","title":{"rendered":"Programlamaya Giri\u015f-2"},"content":{"rendered":"<p><strong>Nesneye Dayal\u0131 Programlama Kavram\u0131<\/strong><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-986\" src=\"http:\/\/hilmibilici.com\/blog\/wp-content\/uploads\/2020\/04\/oops.jpg\" alt=\"\" width=\"557\" height=\"429\" \/><\/p>\n<p><strong>Bu arada ilk yaz\u0131mda programlama dilleri anlat\u0131rken Nesneye dayal\u0131 programlama (<\/strong>object oriented programming<strong>) dili kavram\u0131n\u0131 vermeyi unutmu\u015fum k\u0131saca ona de\u011finelim ve algoritmalara ge\u00e7elim\u2026<\/strong><\/p>\n<p>Programlama ger\u00e7ek hayattaki durumlar\u0131n modellenmesinden ba\u015fka bir \u015fey de\u011fildir. Bilgisayar programlar\u0131 bu modellerin temel al\u0131narak durumlar\u0131n bilgisayar ortam\u0131na aktar\u0131lmas\u0131ndan ibarettir.<\/p>\n<p><!--more--><\/p>\n<p>T\u00fcrk\u00e7enin nas\u0131l kurallar\u0131 varsa programlama dillerinin de kurallar\u0131 vard\u0131r. Bunlar\u0131 gramer ve imla kurallar\u0131 olarak ikiye ay\u0131rabiliriz. \u0130\u015fte bilgisayar program\u0131 yazarken yapt\u0131\u011f\u0131m\u0131z bu kurallar\u0131 kullanarak \u00e7e\u015fitli durumlar\u0131 bilgisayar diline \u00e7evirmektir. Tabii her dilinde kendine g\u00f6re zorlu\u011fu veya de\u011fi\u015fik bir \u00f6zelli\u011fi vard\u0131r. Mesela Rus\u00e7a dilinden bir \u00f6rnek verecek olursak \u201cokno\u201d (ayna) diye yaz\u0131lan kelime okunurken \u201cakno\u201d diye okunur. Programlama dillerinde ise mesela C de programlar main ana fonksiyonundan sonra \u201c{\u201c i\u015fareti ile ba\u015flamal\u0131 \u201c}\u201d i\u015fareti aras\u0131nda yaz\u0131lmal\u0131d\u0131r.<\/p>\n<p>Klasik programlamayla nesneye dayal\u0131 programlaman\u0131n tek fark\u0131 da bu noktadad\u0131r. Nesneye dayal\u0131 programlama tekni\u011fi programc\u0131ya y\u00fcksek kalitede program yazma imk\u00e2n\u0131 sa\u011flar fakat bunu yapabilmek i\u00e7in tasar\u0131m ve kodlama a\u015famalar\u0131nda bu \u00f6l\u00e7\u00fctleri g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131y\u0131z. Nesneye dayal\u0131 programlama ile daha kolay (ucuza: zaman, adam, para) olu\u015fturabilir. Hata bulma, g\u00fcncelleme yeniden kullan\u0131m da daha kolay olur. Klasik programlamadan farklar\u0131n\u0131 \u015f\u00f6yle izah edelim:<\/p>\n<p>S\u0131n\u0131f haz\u0131rlayabilme ve nesne y\u00f6nelimli programlaman\u0131n b\u00fct\u00fcn \u00f6zellikleri, fonksiyon ve operat\u00f6rleri a\u015f\u0131r\u0131 y\u00fckleyebilme, \u015fablon fonksiyon ve s\u0131n\u0131flar yazabilme, g\u00fc\u00e7lendirilmi\u015f ve daha g\u00fcvenli bellek kontrol\u00fc, de\u011fi\u015fkenleri program\u0131n herhangi bir yerinde tan\u0131mlayabilme (C&#8217;de sadece fonksiyon ba\u015f\u0131nda tan\u0131mlanabilir), referans arg\u00fcman\u0131 kullanabilme (fonksiyonlarda) ve referans de\u011fi\u015fkeni kullanabilme, Standart Template Library ile her t\u00fcrl\u00fc veri yap\u0131s\u0131 ve veri organizasyonunda iyi bir \u00e7\u00f6z\u00fcm ve nesne y\u00f6nelimli olarak yaz\u0131lm\u0131\u015f y\u00fczlerce haz\u0131r k\u00fct\u00fcphane&#8230;<\/p>\n<p>NYP\u2019de s\u0131n\u0131f kavram\u0131 vard\u0131r. Ve bu dilin daha esnek olmas\u0131n\u0131 sa\u011flar. Ayn\u0131 \u015fekilde nesneye dayal\u0131 programlama y\u00f6ntemleriyle kullan\u0131lmas\u0131 verimlili\u011fi ve kodun m\u00fcdahale edilebilirli\u011fini daha da art\u0131racakt\u0131r.<\/p>\n<p>&#8220;Olay y\u00f6nlendirmeli Nesne y\u00f6nelimli&#8221; programlama \u015fu anda C# ve VB.NET dillerinin program geli\u015ftirme yakla\u015f\u0131m\u0131d\u0131r.<strong>\u00a0<\/strong><\/p>\n<p><strong>Algoritma Nedir?<\/strong><\/p>\n<p>Sorunun \u00e7\u00f6z\u00fcm\u00fc i\u00e7in saptanm\u0131\u015f sonlu say\u0131da basamaktan olu\u015fan ad\u0131mlar veya komutlar tak\u0131m\u0131d\u0131r. Programlama mant\u0131\u011f\u0131d\u0131r. Yukar\u0131da s\u00f6yledi\u011fim gibi \u00fcnl\u00fc M\u00fcsl\u00fcman-T\u00fcrk \u00e2lim El-Harezm\u00ee\u2019den gelmektedir. K\u0131saca Algoritma, bir programda neyin, nerde ve nas\u0131l olmas\u0131 gerekti\u011fini bilgisayara anlatmam\u0131za yarayan sonlu say\u0131da basamaktan olu\u015fan yola haz\u0131rlamaya diyoruz. \u00d6rne\u011fin hani bir \u00e7ay demleme (programc\u0131l\u0131k okuyanlar belki bilir) algoritmas\u0131 vard\u0131r : ) :<\/p>\n<ul>\n<li>Mutfakta de\u011filsen mutfa\u011fa git.<\/li>\n<li>\u00c7aydanl\u0131\u011fa bak dolu de\u011filse su doldur<\/li>\n<li>Oca\u011f\u0131 yak<\/li>\n<li>Ve \u00e7aydanl\u0131\u011f\u0131 ate\u015fin \u00fcst\u00fcne koyarak Suyun kaynamas\u0131n\u0131 bekle<\/li>\n<li>Su kaynad\u0131ktan sonra \u00e7ay\u0131 b\u0131rak ve \u00fcst\u00fcne suyu d\u00f6k\u2026<\/li>\n<li>Yine demli\u011fe biraz daha su b\u0131rakarak bekle<\/li>\n<li>Su kaynad\u0131\u011f\u0131nda biraz dinlendirerek ate\u015fi kapat mutfaktan \u00e7\u0131k<\/li>\n<li>Ve keyifle \u00e7ay\u0131n\u0131 i\u00e7 : )<\/li>\n<li>Yemek tarifi gibi oldu ama i\u015fin \u00f6z\u00fc budur. Bilgisayara hangi durumlarda ne yapaca\u011f\u0131n\u0131 \u00f6nceden s\u00f6ylemez isek tabi\u00ee ki bilgisayar d\u00fc\u015f\u00fcnemedi\u011fi i\u00e7in s\u00f6ylemedi\u011finiz yerde tak\u0131l\u0131r kal\u0131r. Ayn\u0131 \u015fu eski Windows\u2019larda mavi ekran\u0131n \u00e7\u0131kmas\u0131 gibi\u2026<\/li>\n<\/ul>\n<p><strong>Sorun Analizi<\/strong><\/p>\n<p>Programda neyin ger\u00e7ekle\u015ftirilmek istendi\u011fi, belirlenen m\u00fcmk\u00fcn olan en az say\u0131da parametre cinsinden ifade edilir. Bu parametreler maliyet, zaman ve performansla ilgili olup, her parametrenin bir hedef ve bir de e\u015fik de\u011feri saptan\u0131r. Parametre de\u011ferleri her a\u015fama karar noktas\u0131nda g\u00f6zden ge\u00e7irilir ve gerekiyorsa de\u011fi\u015ftirilir. Bu parametreler bir araya getirildi\u011finde program\u0131n temel esaslar\u0131 ortaya \u00e7\u0131kar. Sorunun \u00e7\u00f6z\u00fcm yolu da bu a\u015famada belirlenir ve \u00e7\u00f6z\u00fcm i\u00e7in gerekli matematiksel modeller kurulur. Algoritmalar haz\u0131rlan\u0131r. Giri\u015f-\u00e7\u0131k\u0131\u015f birimleri ve bilgileri (bi\u00e7im, \u015fekil, d\u00fczen) belirlenir. Programda kullan\u0131lacak de\u011fi\u015fkenler tan\u0131mlan\u0131r (sembol) ve t\u00fcrleri belirlenir. Program tasar\u0131m\u0131 yap\u0131l\u0131r.<\/p>\n<p><strong>\u00d6RNEK:<\/strong> Klavyeden girilen iki say\u0131n\u0131n toplanmas\u0131n\u0131 ve ekrana yaz\u0131lmas\u0131 sorunun analizi a\u015fa\u011f\u0131daki gibi yap\u0131l\u0131r.<\/p>\n<p><strong>\u0130stenenler: <\/strong><\/p>\n<p>a)say\u0131lar\u0131n klavyeden girilmesi<\/p>\n<p>b)toplama i\u015fleminin bulunmas\u0131<\/p>\n<p>c)toplama i\u015fleminin ekranda g\u00f6r\u00fcnt\u00fclenmesi<\/p>\n<p><strong>De\u011fi\u015fken tan\u0131m\u0131:<\/strong><\/p>\n<p>A:Birinci say\u0131y\u0131<\/p>\n<p>B:\u0130kinci say\u0131y\u0131<\/p>\n<p>C:iki say\u0131n\u0131n toplam\u0131n\u0131 g\u00f6stersin<\/p>\n<p>\u00c7\u00f6z\u00fcm\u00fcn matematiksel g\u00f6sterimi: A+B=C<\/p>\n<p><strong>\u00d6zel S\u00f6zc\u00fckler ve S\u00f6z Dizimi<\/strong><\/p>\n<p><strong>\u00d6zel S\u00f6zc\u00fckler<\/strong><\/p>\n<p>Dilin kulland\u0131\u011f\u0131 anahtar s\u00f6zc\u00fcklerdir. Bu s\u00f6zc\u00fckler de\u011fi\u015fken veya fonksiyon tan\u0131mlar\u0131nda kullan\u0131lamaz.<\/p>\n<p>\u00d6rne\u011fin if, else, print, end, int, long\u2026\u00a0 vb<\/p>\n<p><strong>S\u00f6z Dizimi<\/strong><\/p>\n<p>Her dilin kendine \u00f6zg\u00fc bir s\u00f6z dizim yap\u0131s\u0131 vard\u0131r. De\u011fi\u015fkenler, sabitler ve fonksiyonlar olu\u015fturulurken bu kurallara uyulmas\u0131 gerekir.<\/p>\n<p>Private Sub Form_Load()<\/p>\n<p>Print &#8220;Merhaba turkkodlular&#8221;<\/p>\n<p>End Sub<\/p>\n<p><strong>De\u011fi\u015fken Kavram\u0131<\/strong><\/p>\n<p>De\u011fi\u015fken, bilgileri saklamak \u00fczere kulland\u0131\u011f\u0131m\u0131z, ismini ve tipini belirledi\u011fimiz bellek alanlar\u0131na verilen genel isimdir. Bir de\u011fi\u015fkeni tan\u0131mlad\u0131\u011f\u0131m\u0131zda ya da ilk kulland\u0131\u011f\u0131m\u0131zda, bilgisayar\u0131n haf\u0131zas\u0131nda o de\u011fi\u015fken i\u00e7in bir b\u00f6l\u00fcm ayr\u0131l\u0131r.<\/p>\n<p>De\u011fi\u015fkenleri genel olarak iki gruba ay\u0131rabiliriz. Birinci grup, i\u00e7inde say\u0131lar\u0131 saklad\u0131\u011f\u0131m\u0131z de\u011fi\u015fkenlerdir. Bu de\u011fi\u015fkenlerin haf\u0131zada tutacaklar\u0131 yer bellidir. \u0130kinci grup ise, i\u00e7inde say\u0131 haricindeki bilgileri, \u00f6rne\u011fin isim veya adresi tutaca\u011f\u0131m\u0131z de\u011fi\u015fkenlerdir.<\/p>\n<p>\u0130\u00e7inde say\u0131 tutaca\u011f\u0131m\u0131z de\u011fi\u015fkenlere n\u00fcmerik ya da say\u0131sal de\u011fi\u015fken denir. Say\u0131 haricindeki bilgileri tutaca\u011f\u0131m\u0131z de\u011fi\u015fkenlere ise alfa n\u00fcmerik, alfa say\u0131sal veya string de\u011fi\u015fkenler diyoruz.<\/p>\n<p><strong>Veri T\u00fcrleri\u00a0<\/strong><\/p>\n<p>Her dilin kendine \u00f6zg\u00fc veri t\u00fcrleri vard\u0131r mesela C programlama dili i\u00e7in:<\/p>\n<p>int<\/p>\n<p>Char<\/p>\n<p>Float<\/p>\n<p>String<\/p>\n<p>Double \u2026. Vb<\/p>\n<p><strong>De\u011fi\u015fken \u0130simleri<\/strong><\/p>\n<p>De\u011fi\u015fken isimlerinin programc\u0131 taraf\u0131ndan belirlendi\u011fini biliyoruz. Programc\u0131 de\u011fi\u015fken ismini belirlerken, ayn\u0131 zamanda de\u011fi\u015fkenin niteli\u011fini de belirler. De\u011fi\u015fken isimleri a\u015fa\u011f\u0131daki kurallara g\u00f6re belirlenmelidir.<\/p>\n<ol>\n<li>De\u011fi\u015fken isimleri en fazla 40 karakterden olu\u015fabilir.<\/li>\n<li>Bir de\u011fi\u015fken isminin ilk karakteri mutlaka bir harf olmal\u0131d\u0131r.<\/li>\n<li>De\u011fi\u015fken isimlerinin i\u00e7inde bo\u015fluk veya \u00f6zel karakterler bulunamaz<\/li>\n<li>Bir de\u011fi\u015fken ismi FN harfleriyle ba\u015flayamaz.<\/li>\n<\/ol>\n<p><strong>De\u011fi\u015fkenlere De\u011fer Atama<\/strong><\/p>\n<p>Bir de\u011fi\u015fkene de\u011fer ataman\u0131n \u00e7e\u015fitli yollar\u0131 vard\u0131r. En basit de\u011fer atama y\u00f6ntemi e\u015fitlik kullan\u0131m\u0131d\u0131r.<\/p>\n<p>A% = -373<\/p>\n<p>PI# = 3,1415<\/p>\n<p>TUTAR&amp; = 3676800<\/p>\n<p>sayi = 1673.772<\/p>\n<p>Isim$ = \u201cQuickBASIC\u201d<\/p>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi de\u011fi\u015fkenlerin baz\u0131lar\u0131 b\u00fcy\u00fck, baz\u0131lar\u0131 k\u00fc\u00e7\u00fck, baz\u0131lar\u0131 da hem b\u00fcy\u00fck hem de k\u00fc\u00e7\u00fck harflerden olu\u015fmaktad\u0131r. \u201cQuickBASIC\u201d dilinde de\u011fi\u015fken isimlerinin b\u00fcy\u00fck veya k\u00fc\u00e7\u00fck harflerle tan\u0131mlanmas\u0131, o de\u011fi\u015fkeni etkilemez. Yani, \u201cSAYI\u201d ve \u201csayi\u201d de\u011fi\u015fkenleri ayn\u0131 olarak kabul edilir.<\/p>\n<p><strong>Operat\u00f6rler<\/strong><\/p>\n<p><strong>Matematiksel Operat\u00f6rler<\/strong><\/p>\n<p>Matematiksel i\u015flemlerimizi yapt\u0131rabilmemiz i\u00e7in a\u015fa\u011f\u0131daki operat\u00f6rleri kullanabiliriz.<\/p>\n<p>+\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018Toplama<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018\u00c7\u0131karma<\/p>\n<p>*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018\u00c7arpma<\/p>\n<p>\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018B\u00f6lme<\/p>\n<p>\\\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018Tamsay\u0131 B\u00f6lem<\/p>\n<p>^\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018\u00dcs yani Kuvvet alma<\/p>\n<p>Mod\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018Kalanl\u0131 B\u00f6lme<\/p>\n<p>&amp;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018Dizilim Birle\u015ftirme<\/p>\n<p><strong>Kar\u015f\u0131la\u015ft\u0131rma\u00a0<\/strong><b>Operat\u00f6rleri<\/b><\/p>\n<p>&lt;\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018K\u00fc\u00e7\u00fckt\u00fcr<\/p>\n<p>&lt;=\u00a0\u00a0\u00a0 \u2018K\u00fc\u00e7\u00fck E\u015fittir<\/p>\n<p>&gt;\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018B\u00fcy\u00fckt\u00fcr<\/p>\n<p>&gt;=\u00a0\u00a0\u00a0 \u2018B\u00fcy\u00fck E\u015fittir<\/p>\n<p>=\u00a0\u00a0\u00a0\u00a0\u00a0 \u2018E\u015fittir<\/p>\n<p>&lt;&gt;\u00a0\u00a0\u00a0 \u2018E\u015fit De\u011fildir<\/p>\n<p><strong>Mant\u0131ksal Operat\u00f6rler <\/strong><\/p>\n<p>AND Operat\u00f6r\u00fc<\/p>\n<p>OR Operat\u00f6r\u00fc<\/p>\n<p>XOR Operat\u00f6r\u00fc<\/p>\n<p>NOT Operat\u00f6r\u00fc<\/p>\n<p><strong>\u00a0<\/strong><strong>Aritmetik \u0130fadeler<\/strong><\/p>\n<p>Programlama s\u0131ras\u0131nda baz\u0131 matematiksel i\u015flemler gerekecektir. A\u015fa\u011f\u0131da aritmetik operat\u00f6rler ve hangi i\u015fleme kar\u015f\u0131l\u0131k geldikleri listelenmi\u015ftir.<\/p>\n<p>+ &#8221; Toplama<\/p>\n<p>&#8211; &#8221; \u00a0 \u00c7\u0131karma<\/p>\n<p>* &#8221; \u00a0 \u00c7arpma<\/p>\n<p>\/ &#8221; \u00a0 B\u00f6lme<\/p>\n<p>^ &#8221; \u00dcs (kuvvet) alma<\/p>\n<p>Aksi belirtilmedik\u00e7e, matematiksel i\u015flemlerde \u00f6nce kuvvet alma i\u015flemi yap\u0131l\u0131r. Daha sonraki \u00f6ncelik \u00e7arpma ve b\u00f6lmeye aittir. En son i\u015flem yap\u0131lan aritmetik operat\u00f6rler ise toplama ve \u00e7\u0131karmad\u0131r. Ayn\u0131 \u00f6nceli\u011fe sahip matematiksel i\u015flemler s\u00f6z konusu oldu\u011funda \u00f6nce soldaki i\u015flem ger\u00e7ekle\u015ftirilir. E\u011fer matematiksel i\u015flem parantez i\u00e7eriyorsa, \u00f6nce parantezlerin i\u00e7indeki k\u0131s\u0131mlar \u00e7\u00f6z\u00fcmlenir.<\/p>\n<p>E\u011fer i\u015flemlerimizin kar\u0131\u015fmas\u0131n\u0131 istemiyorsak, yazd\u0131\u011f\u0131m\u0131z matematiksel form\u00fcllerimizde parantez kullan\u0131r\u0131z.<\/p>\n<p>((19 \u2013 3) \/ (3 \u2013 1) ^ 2) * 6 = 24<\/p>\n<p>(48 + 1) \/ (14 \/ 2) * 3 = 21<\/p>\n<p>64 &#8211; (4 + 4) ^ 2 \u2013 1 = -1<\/p>\n<p>\u015eunu bir kez daha belirtmek gerekir ki, parantez i\u00e7indeki ifadelerde, \u00f6nce en i\u00e7teki paranteze ait i\u015flem ger\u00e7ekle\u015ftirilir.<\/p>\n<p>Buraya kadar s\u00f6z\u00fcne etti\u011fimiz 5 aritmetik operat\u00f6rden ba\u015fka QuickBASIC diline \u00f6zg\u00fc bir operat\u00f6r daha vard\u0131r. \u201c \\ \u201d i\u015fareti kalans\u0131z b\u00f6lmeyi (tamsay\u0131 b\u00f6lmesini) sa\u011flar. \u00d6rne\u011fin, \u201c7 \\ 2\u201d i\u015fleminin sonucu 3,5 de\u011fil 3 olacakt\u0131r.<\/p>\n<p>Programlama dillerinde bilgileri i\u015flemek i\u00e7in kullan\u0131lan en yararl\u0131 ara\u00e7lardan biride ko\u015fullu bir ifadedir. Ko\u015fullu ifade bir \u00f6zellik, de\u011fi\u015fken veya veride bulunan de\u011fere g\u00f6re i\u015flem yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>If&#8230;Then Karar Yap\u0131s\u0131<\/strong><\/p>\n<p>Bir If&#8230;Then karar yap\u0131s\u0131 programdaki bir ko\u015fulu denetlememizi ve \u00e7\u0131kan sonuca g\u00f6re hareket etmemizi sa\u011flar. En basit bi\u00e7imiyle \u201cIf Ko\u015ful Then Bildiri\u201d\u00a0 gibi kullan\u0131labilir.<\/p>\n<p><strong>Select Case Karar Yap\u0131s\u0131<\/strong><\/p>\n<p>D\u00f6ng\u00fcler belirli i\u015flemleri belirli say\u0131da veya herhangi bir \u015fart sa\u011flanana kadar tekrarlamak amac\u0131 ile kullan\u0131l\u0131rlar. Visual Basic\u2019de kullan\u0131lan d\u00f6ng\u00fcler a\u015fa\u011f\u0131da verilmi\u015ftir.<\/p>\n<p>\u00d6rne\u011fin C\u2019deki for d\u00f6ng\u00fcs\u00fc do-while d\u00f6ng\u00fcs\u00fc\u2026<\/p>\n<p><strong>\u0130\u015fte K\u00fc\u00e7\u00fck bir Kod Mimarisi:<\/strong><\/p>\n<p>main()\u00a0\u00a0\u00a0\u00a0\u00a0 \/* ana fonksiyon*\/<\/p>\n<p>{<br \/>\nprintf(&#8220;Merhaba C.&#8221;); \/* cikartma durumu *\/<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Ve daha karma\u015f\u0131k bir program yap\u0131s\u0131<\/strong><\/p>\n<p>main()<br \/>\n{<br \/>\nint xx;<\/p>\n<p>for (xx=5;xx&lt;15; xx=xx+1)<\/p>\n<p>{<\/p>\n<p>if (xx==8)<\/p>\n<p>break;<\/p>\n<p>printf(&#8220;Break d\u00f6ng\u00fcs\u00fcn\u00fcn i\u00e7inde, xx in de\u011feri simdi \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 %d\\n&#8221;,xx);<\/p>\n<p>}<br \/>\nfor (xx=5;xx&lt;15;xx=xx+1)<\/p>\n<p>{<br \/>\nif (xx==8)<\/p>\n<p>continue;<br \/>\nprintf(&#8220;Continue d\u00f6ng\u00fcs\u00fcn\u00fcn i\u00e7inde, xx in de\u011feri simdi %d\\n&#8221;,xx);<br \/>\n}<br \/>\n}<\/p>\n<p><strong>PROGRAMIN KAL\u0130TES\u0130N\u0130 BEL\u0130RLEYEN \u00d6L\u00c7\u00dcTLER<\/strong><strong>\u00a0<\/strong><\/p>\n<ul>\n<li>Program i\u015fini do\u011fru yapmal\u0131<\/li>\n<li>M\u00fcmk\u00fcn oldu\u011funca h\u0131zl\u0131 \u00e7al\u0131\u015fmal\u0131<\/li>\n<li>Sistem kaynaklar\u0131n\u0131 gereksiz yere harcamamal\u0131<\/li>\n<li>Program kodu okunabilir ve anla\u015f\u0131labilir olmal\u0131.<\/li>\n<li>Birbirinden ba\u011f\u0131ms\u0131z mod\u00fcllerin minimum inter aktivitesinden olu\u015fmal\u0131<\/li>\n<li>Bak\u0131m ve g\u00fcncellenmesi kolay olmal\u0131<\/li>\n<li>Hatalar lokal olmal\u0131. ( Bir b\u00f6l\u00fcmde olu\u015facak bir hata t\u00fcm program\u0131 etkilememeli.)<\/li>\n<li>Verilen s\u00fcre i\u00e7inde tamamlanmal\u0131<\/li>\n<li>Gerekli yazl\u0131 dok\u00fcmanlar haz\u0131rlanm\u0131\u015f olmal\u0131. (Kullanma k\u0131lavuzu, yard\u0131m dosyalar\u0131 vs.)<\/li>\n<\/ul>\n<p>Bu arada Programc\u0131l\u0131k \u00f6\u011frenmek sadece s\u00f6z dizimsel (syntax) kurallar\u0131n\u0131 \u00f6\u011frenmek demek de\u011fildir. \u0130yi d\u00fc\u015f\u00fcnmek ve matematiksel bir zek\u00e2ya sahip olmak gerekir diye d\u00fc\u015f\u00fcn\u00fcyorum.<\/p>\n<p>\u015eimdi arkada\u015flar bu konular\u0131 derinlemesine ele alaca\u011f\u0131z ama ben bu anlat\u0131mlarda dil olarak C ve C++\u2019den faydalanmay\u0131 d\u00fc\u015f\u00fcn\u00fcyorum. Onun i\u00e7in benim ve bir\u00e7ok &#8220;ciddi&#8221; kitab\u0131n g\u00f6r\u00fc\u015f\u00fc &#8220;C++&#8217;ya ba\u015flamadan \u00f6nce C \u00f6\u011frenmenin gerekmedi\u011fi&#8221;dir. Do\u011frudan C++&#8217;den ba\u015flamak gerekir. Tabii ki C biliyorsan\u0131z C++ \u00f6\u011frenmeniz kolay olur. Yine Benim ki\u015fisel g\u00f6r\u00fc\u015f\u00fcm her bilgisayar m\u00fchendisinin, \u00f6zellikle yaz\u0131l\u0131m geli\u015ftirme ile u\u011fra\u015facak olanlar\u0131n, C++&#8217;y\u0131 iyi bilmesi ve anlamas\u0131 gerekti\u011fidir, belki kullanmayacak bile olsak&#8230; Kafan\u0131za g\u00f6re tak\u0131l\u0131n\u2026 Tabii b\u00fct\u00fcn bu anlatt\u0131klar\u0131m sadece C ve C++ i\u00e7in ge\u00e7erli de\u011fil t\u00fcm programlama dilleri i\u00e7in evrensel olan konulard\u0131r. Di\u011fer programlama dillerinden de yeri geldik\u00e7e (avantajlar\u0131nda-dezavantajlar\u0131ndan) de\u011finmeye \u00e7al\u0131\u015faca\u011f\u0131m.<\/p>\n<p>Bundan sonraki dersimiz de in\u015fallah Operat\u00f6rler, karar deyimleri, matematiksel ve mant\u0131ksal ifadeler olacakt\u0131r\u2026<\/p>\n<p><strong>NOT: <\/strong>Yaz\u0131lar <strong>Al\u0131n teridir, <\/strong>l\u00fctfen kaynak belirtmeden kullanmay\u0131n\u0131z\u2026<\/p>\n<p>Sayg\u0131lar\u0131mla \u2026<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nesneye Dayal\u0131 Programlama Kavram\u0131 Bu arada ilk yaz\u0131mda programlama dilleri anlat\u0131rken Nesneye dayal\u0131 programlama (object oriented programming) dili kavram\u0131n\u0131 vermeyi&#8230;<\/p>\n","protected":false},"author":1,"featured_media":83446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,43],"tags":[66,323,324,330,336,359,361,430],"class_list":["post-982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arsiv","category-programlama","tag-algoritma-nedir","tag-nesneye-dayali-programlama","tag-nesneye-dayali-programlama-kavrami","tag-nyp","tag-oop","tag-programlama-dersleri","tag-programlamaya-giris","tag-sorun-analizi"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/wp\/v2\/posts\/982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=982"}],"version-history":[{"count":0,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/wp\/v2\/posts\/982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"http:\/\/hilmibilici.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=982"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hilmibilici.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}