SlideShare a Scribd company logo
1 of 54
Download to read offline
T.C.
          Mİ EĞİ M BAKANLIĞI
           LLÎ Tİ




         MEGEP
    (MESLEKİ İ M VE ÖĞ
            EĞ Tİ     RETİ Sİ
                          M STEMİ N
                                Nİ
          GÜÇLENDİ LMESİ
                  Rİ    PROJESİ
                              )




    Bİ ŞM TEKNOLOJİ
     Lİİ          LERİ



YAPISAL PROGRAMLAMA TEMELLERİ




              ANKARA 2007
Milli Eğ Bakanlıı
                           ğ tarafı geliş
                    itim          ndan  tirilen modüller;
 Talim ve Terbiye Kurulu Baş ğnı 02.06.2006 tarih ve 269 sayı Kararı
                                     ı
                               kanlı n                           lı     ile
  onaylanan, Mesleki ve Teknik Eğ Okul ve Kurumları kademeli olarak
                                    itim               nda
  yaygı tılan 42 alan ve 192 dala ait çerçeve öğ
       nlaşrı                                         retim programlarında
  amaçlanan mesleki yeterlikleri kazandı rmaya yönelik geliş
                                                           tirilmişöğretim
  materyalleridir (Ders Notları r).
                              dı

 Modüller, bireylere mesleki yeterlik kazandı
                                             rmak ve bireysel öğrenmeye
                                                          ş
  rehberlik etmek amacı öğ
                       yla renme materyali olarak hazı
                                                     rlanmı denenmek ve
                                                           ,
  geliş
      tirilmek üzere Mesleki ve Teknik Eğ    itim Okul ve Kurumları nda
                       ş
  uygulanmaya baş  lanmı r.
                        tı

 Modüller teknolojik geliş     melere paralel olarak, amaçlanan yeterliğ       i
  kazandı rmak koş ile eğ
                   ulu       itim öğ retim sı nda geliş
                                            rası          tirilebilir ve yapı
                                                                            lması
  önerilen değ iklikler Bakanlı ilgili birime bildirilir.
              iş                kta

 Örgün ve yaygı eğ kurumları letmeler ve kendi kendine mesleki yeterlik
                n itim             , iş
                                                            ı
  kazanmak isteyen bireyler modüllere internet üzerinden ulaşlabilirler.

 Bası ş                                                      ılı
     lmımodüller, eğ kurumları öğ
                    itim     nda rencilere ücretsiz olarak dağtır.

 Modüller hiçbir ş                          lamaz ve ücret karş ğ
                                                               ıı
                  ekilde ticari amaçla kullanı                  lı nda
  satı
     lamaz.
İ NDEKİ
                                             Çİ    LER

AÇIKLAMALAR ....................................................................................................................ii
Gİ Ş.......................................................................................................................................1
   Rİ
ÖĞ  RENME FAALİ          YETİ 1 ...................................................................................................3
                                   -
1. ALT PROGRAMLAR ......................................................................................................... 3
     1.1. Modüller Halinde Programlama ...............................................................................3
     1.2. Alt Program Tanı           mlama ...........................................................................................7
     1.3. Alt Programı        Kesmek ve Değ Göndermek ............................................................8
                                                        er
     1.4. Değ Aktarı ....................................................................................................... 10
               er            mı
     UYGULAMA FAALİ                   YETİ     .......................................................................................... 12
     ÖLÇME VE DEĞ              ERLENDİ          RME ................................................................................13
ÖĞ  RENME FAALİ          YETİ 2 ................................................................................................. 14
                                   -
2. KULLANICI ARABİ Mİ           Rİ ................................................................................................ 14
     2.1. Kullanı Arabiriminde Pencere Tasarı .............................................................. 15
                    cı                                                 mı
     2.2. Örnek Uygulama..................................................................................................... 15
     UYGULAMA FAALİ                   YETİ     .......................................................................................... 20
     ÖLÇME VE DEĞ              ERLENDİ          RME ................................................................................21
ÖĞ  RENME FAALİ          YETİ 3 ................................................................................................. 22
                                   -
3. HATA Gİ   DERME.............................................................................................................. 22
     3.1. Kod Böceğ Nedir? ................................................................................................. 22
                          i
     3.2. Yazı Hataları
                m                ........................................................................................................23
               ş
     3.3. Çalı Zamanı
                ma                  Hataları     ........................................................................................ 24
     3.4. MantıHataları
                  k               ....................................................................................................... 24
     3.5. Adı mlamak ............................................................................................................. 25
     UYGULAMA FAALİ                   YETİ     .......................................................................................... 29
     ÖLÇME VE DEĞ              ERLENDİ          RME ................................................................................30
ÖĞ  RENME FAALİ          YETİ 4 ................................................................................................. 31
                                   -
4. DOSYALAMA .................................................................................................................. 31
     4.1. Metin Dosyalar ....................................................................................................... 31
     4.2. Rasgele Eriş Dosyalar ...................................................................................... 33
                            imli
     4.3. İ Dosyalar ........................................................................................................35
           kilik
     UYGULAMA FAALİ                   YETİ     .......................................................................................... 37
     ÖLÇME VE DEĞ              ERLENDİ          RME ................................................................................38
MODÜL DEĞ       ERLENDİ          RME .............................................................................................. 39
CEVAP ANAHTARLARI ..................................................................................................... 40
SÖZLÜK ................................................................................................................................ 41
KOD ÖRNEKLERİ            ................................................................................................................42
ÖNERİ  LEN KAYNAKLAR.................................................................................................. 49
KAYNAKÇA .........................................................................................................................50




                                                                     i
AÇIKLAMALAR

                 AÇIKLAMALAR
KOD               481BB0026

ALAN              Biliş Teknolojileri
                      im

DAL/MESLEK        Alan Ortak

MODÜLÜN ADI       Yapı Programlama Temelleri
                     sal
                  Programlama dilinde alt program yazı , hata düzeltme ve
                                                        mı
MODÜLÜN TANIMI
                  dosyalama ile ilgili öğretim materyalidir.
SÜRE              40/16

ÖN KOŞUL            ş                        ş
                  AkıDiyagramlarımodülünü almıolmak.

                                                  ş
YETERLİ
      K           Alt programlar ve dosyalarla çalımaya hazı k yapmak
                                                           rlı


                  Genel Amaç
                                               ğı
                        Gerekli ortam sağlandında, alt program
                  yazabilecek, kullanı dostu arabirimleri yapabilecek ve
                                     cı
                  hata düzeltme yöntemleri ile hatalarıdüzeltebileceksiniz.
MODÜLÜN AMACI     Amaçlar
                  1. Alt program yazabileceksiniz.
                  2. Kullanı arabirimi yapabileceksiniz.
                             cı
                  3. Programı edip, hataları düzeltebileceksiniz.
                                test             nı
                  4. Dosyaya bilgi yazmayı okumayı
                                             ve          yapabileceksiniz.


EĞİ M ÖĞRETİ
  Tİ         M           Bilgisayar laboratuvarı bu ortamda bulunan
                                                  ve
ORTAMLARI VE                                                    ş
                  bilgisayar, lisanslı letim sistemi programı akı
                                      iş                     ve
DONANIMLARI       diyagramı  sembolleri ile ilgili panolar.

                         Her faaliyet sonrası o faaliyetle ilgili
                                               nda
                  değ erlendirme soruları kendi kendinizi
                                           ile
                  değ erlendireceksiniz. Modül içinde ve sonunda verilen
                  öğ retici sorularla edindiğ bilgileri pekiş
                                             iniz               tirecek,
ÖLÇME VE
                  uygulama örneklerini ve testleri gerekli süre içinde
DEĞERLENDİ
         RME
                  tamamlayarak etkili öğ   renmeyi gerçekleş tireceksiniz.
                                                         ş
                  Sı yla araşrma yaparak, grup çalı
                    rası         tı                       maları katı
                                                                  na     larak ve
                                                             ş ölçme ve
                  en son aş  amada alan öğ  retmenlerine danı  arak
                  değ erlendirme uygulamaları gerçekleş
                                                 nı         tiriniz.




                                ii
Gİ Ş
                                        Rİ

                                        Gİ Ş
                                         Rİ
      Sevgili Öğrenci,

      Her şeyden önce herkes bir programlama dilini öğ
                                                     renebilir. Bilgisayarıprogramlama
yüksek bir zekâ ve matematik bilgisi gerektirmez. Sadece asla vazgeçmeme sabrıve
öğrenme isteğyeterlidir.
             i

      Programlama bir hünerdir. Bazı   insanlar doğ olarak diğ
                                                    al             erlerinden daha iyidir, ama
herkes pratik yaparak iyi olabilir. Baş
                                      aramamaktan korkmak yerine, kendinizi bu maharete
            renmek için uğ ı Programlama eğ
vererek, öğ                raş n.                 lencelidir, fakat sinir bozucu olabilir ve
zamanı zı da boş geçmesine neden olabilir. Bu sebeple bu modülleri takip ederek, en az
       nın         a
sıntı en yüksek memnuniyet ile programlamayı reneceğ
  kı ve                                             öğ         iz.

                             ız
       Bu modül ile kazanacağnı konular alt program yazmak, kullanı
                                                                  cıdostu arabirim
yapmak, hata düzeltme yöntemleri ile hatalarıdüzeltme ve dosyalamadı Modülü
                                                                       r.
                      ğz
                       ı
bitirdiğinizde anlamadınıyerleri tekrar okuyup uygulayız.
                                                      nı

                                                              ş         ı
       Konular kapsamlı       olarak, derinlemesine anlatılmamı r. Buzdağ n sadece üstünü
                                                               tı        nı
görüyorsunuz. Ne kadar çok uygulama ve araşrma yaparsanı kendinizi o kadar
                                                         tı           z
geliş
    tirirsiniz, ilerletirsiniz.

       Her programlama dilinin kendine has kuralları    bulunmaktadı Bu kurallar kimi zaman
                                                                     r.
                                                                               ı
birbirine benzerken kimi zaman farklıklar göstermektedir. Kuralları anlaş r olması
                                        lı                              n       lı      her
zaman programcı tarafı
                  lar      ndan istenen bir özelliktir. Siz de bu modülde çeş programlama
                                                                            itli
dillerinden örnekler görerek iş özünü kavramanısağ
                              in                   z     lanacaktır.

     Belli yerlerde geçen araşrma konuları “Önerilen Kaynaklar” kı ndan yardı
                             tı           için                   smı        m
almayıunutmayı z.
                nı




                                              1
2
ÖĞRENME FAALİ
                              YETİ
                                 –1

                 ÖĞRENME FAALİ
                             YETİ 1
                                 -
 AMAÇ
 Mehmet
    Programıtekrarlanan belli yerlerini alt program hâline getirebileceksiniz.
           n

 ARAŞ
    TIRMA

                                          aş ı
       Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma
                                rlı                           tı
faaliyetlerini yapmalını
                     sı z.

           Tek programlama dili ile çoğ istediğ
                                          u      imizi yapabiliyoruz. Aynıprogramı er
                                                                                    diğ
            dillerde yazmanıamacı olabilir, araşrız.
                             n        ne           tını
           Seri üretim ile üretilen bir malı yapı aş
                                            n    m amaları araşrarak arkadaş nı
                                                             nı tı               ları za
            anlatız. Mesela, bir otomobilin üretim aş
                  nı                                 amalarıgibi…


                     1. ALT PROGRAMLAR




      Bilgisayarda yazı programlar genellikle bellek ve disk gibi kaynaklarıen az
                       lan
tüketecek ş                     ş                   larak yapı şprogramlardı Basit
           ekilde olan, hızlıçalı ve az kod yazı
                                 an                          lmı            r.
                                                                 ı
programları u kişrahat okur ve anlar. Program büyüdükçe karmaş hâle geleceğ için,
            çoğ i                                                 k            i
en baş planlı
       tan       hareket etmek gerekir. Daha sonra zaman kaybı olmamasıiçin önceden
önlem almamı fayda vardı
              zda           r.

                                                               lmamalı r. Basit ş
       Hikâye veya roman yazar gibi, plansı olarak program yazı
                                          z                          dı         ekilde
    ş                                                             ş
                                                                  ı         ı
çalıması lanan programa yeni eklentiler yaptı program karık ve anlaş
           sağ                                   kça                        lmaz hâle
gelebilir. Kodları z okunması olan çöp kodlara dönüş
                 nı          zor                       memelidir.

1.1. Modüller Hâlinde Programlama
      Programlamayıkolaylaşrmak için programcı bazı
                          tı                 lar  yöntemler geliş
                                                                tirmiş bunlar:
                                                                     tir,

           Sı komutlar,
             ralı
           Dallanma komutlarıve
           Döngü komutlarır.
                           dı

                                            3
“Sı komutları ş ana kadar yaptımı programlarda ifade ettik. Bu tip komutlar
                                          ğz
                                           ı
           ralı         ”u
alt alta yazır, en sonunda program sonlandılı
             lı                           rır.

                       Pozitif dilinde sıralı komut örneği
                     BAŞLA
                      Ad:metin;
                      yazstb(quot;İ Pozitif Programı zquot;);
                               lk                 mı
                      Ad=bilgigirişi(quot;İsminizi giriniz quot;);
                      yazstb(quot;Selam, quot;+Ad);
                     SON

    Tabii ki bir program, değ en durumlara göre baş iş
                            iş                    ka lemler de yapı
                                                                  labilmelidir. Bunu
  er”
“Eğ komutu ile yapabiliriz.
                      Pozitif dilinde dallanma komut örneği
                     BAŞLA
                      Ad:metin;
                      yazstb(quot;Eğ kullanı quot;);
                                 er        mı
                      Ad=bilgigiriş i(quot;İsminizi giriniz quot;);
                      Eğer(Ad=quot;Aliquot;);
                               {
                               yazstb(quot;Selam, quot;+Ad);
                               }
                      değilse(Ad<>quot;Aliquot;);
                               {
                               yazstb(Ad+quot; sen de kimsin?quot;);
                               }
                     SON

      Program içerisinde belli işlemlerin devamlıtekrar edilerek iş
                                                                  lenmesi gerekebilir.
       “Döngü, İken” komutları yapabiliriz.
Bunları                         ile

                        Pozitif dilinde döngü komut örneği
           BAŞLA
           i:sayı;
           yazstb(quot;Döngü komutu, çift sayılar geriye doğ sı
                                                        ru ralıquot;);
           döngü(i=10,i>=0,-2);
                     {
                     yazstb(i);
                     }
           SON

       Diğ programcı sizin programızı
          er            lar                 nı anlayabilir ise, kendileri de değ tirebilirler ve
                                                                               iş
geliş
    tirebilirler. Tabi bu kural sizin için daha çok geçerlidir. Tek küme hâlinde tüm programı
yazmak kumdan kale yapmak gibidir. Eninde sonunda bir yerden çökecektir.

       Büyük programlar genellikle küçük programları (alt program da denir) birleş
                                                      n                             mesi
ile yapır. Alt programları ka programcı yazabilir. En sonunda çalı ğndan emin
                                                                         şı
        lı                   baş           lar                            tı
                                        ş
olunan küçük programlar kopyala yapı r ile birleş
                                         tı           tirilir. Bunu bir evin tuğlalarına
benzetebiliriz. Birine bir ş olunca tüm ev çöküp gitmez. Bozuk kım tekrar yazı
                           ey                                       sı             larak
yerine konur. Bu yöntem ile programı za olan güvenirliğartırı
                                    mı                 i      rız.


                                              4
Alt programlara “modül” diyebiliriz. Alt programlar hâlinde yazı
                                                                     larak yapı
                                                                              lan
programlamaya “modüler programlama” denir.

      Şimdiye kadar yapı programlar tek parça halindeki “ana program”dan oluş
                        lan                                                 uyordu.
Sadece bir çeş işgörev yapabilir hâlde idi.
             it ,

       Sı kullanı komut kümelerini alt program hâline getirebiliriz. Bu alt programlar
        k         lan
kod yazı nda genellikle “ana program”ı üst kı na yazır. Değ ken adlandı
         mı                                 n       smı      lı       iş             rması ile
                                                                            ı
aynı kurallar çerçevesinde isimlendirilir ve alt programa neler yollanacağ, alt programdan
neler döneceğbelirlenir. Açı
              i              klama satı ile önemli noktaları
                                        rları                   belirtebilir, alt programların
ne iş yaradıı anlatabiliriz.
             ğnı
     e

                          Başla                               Hesapla


                          2 sayı
                                                        sonuc = a^4 – 2*a*b
                       giriniz: a, b



                        Hesapla
                                                              Geri Dön


                         Sonucu
                         göster



                           Bitir

                                   Ş 1.1: Alt program yazmak
                                    ekil


      1.   Baş (Ana Program)
               la
                                                  1. Hesapla
      2.   Oku; a, b
                                                  2. sonuc = a ^ 4 – 2 * a * b
      3.   Hesapla
                                                  3. Geri Dön
      4.   Yaz; sonuc
      5.   Bitir

      Örneklerdeki gibi alt programlar aslı ana programda olduğ gibi, belli bir
                                          nda                 u
baş ç ve geri dönüşbloğ içinde olan programlardı Alt programlar çağ lmadı
   langı                    u                    r.                rı      kları
          ş lamazlar.
sürece çalı rı
           tı



                                              5
Alt programı ismini gerektiğyerlere yazı çağ ğ zda program akı o program
                                                    ıı                      şı
                   n               i          p,      rdı mı
                                 lemler tamamlanı ana program kaldıı   ğ yerden devam
kı na yönelir. Alt programda iş
  smı                                            nca
eder.
       Alt programlarıayrıdosya olarak kaydetmeyiz. Hâlâ tek dosya hâlinde, ana program
ve alt programları zdan oluş bir programı z vardı
                 mı         an             mı      r.

      İ olarak bir alt program ekrana sıacak kadar uzun olmalır. Böylece anlaş r,
                                       ğ                                         ı
       deal                                                      dı               lı
okunaklı hata ayı
         ve       klaması kolay programlar yazabiliriz. Hatalıolan satı n tespiti bu
                                                                      rları
              ı
sayede kolaylaşr.

Not:Şekillerdeki siyah olmayan diğ mavi ve kı zırenklerdeki oklarış
                                  er          rmı                      ema çizerken sizin
yapmanı gerek yoktur. Alt programa gidiş dönüş belirtmek için yapı şr.
        za                              ve   ü                   lmıtı




             Ş 1.2: “ Crocodile Technology” programı alt program yapı
              ekil                                  ile             mı

           dillerde alt program kelime olarak fonksiyon ile aynı
      Bazı                                                        anlamdadı C dilinde
                                                                           r.
sadece fonksiyon yazabilirsiniz. Basic dilinde ise prosedür ve fonksiyon yapı benzer
                                                                              mı
mantı yazır. Terimler değ ik olsa da temel aynır.
     kla    lı               iş                   dı

           Prosedür: Bir iş bloğ çalı rır, ama değ döndürmez.
                                     ş lı
                           lem    u   tı           er
           Fonksiyon: İçine değ yollanı iş
                               er       r, lenir ve kendi adı bir sonuç değ
                                                            na            eri
            döndürür.




                                           6
1.2. Alt Program Tanı
                    mlama

       Her alt programı yaptıı i kı ifade eden uygun bir ismi olmalı r. İ
                             ğ iş saca
                      n                                            dı çinde en az
bir satı komut bulunan bu alt programlara “kendi tanı
                                                    mladıı z” komutlar diyebiliriz.
                                                        ğmı
        r
Önceki derslerde gördüğ  ümüz matematik ve metin komutlarıise programlama dilinde
tanı hazıalt programlardı
    mlı r                   r.

              ğz
               ı
       Yazdı mı mini programlarda bazı değ ön     erlerin girilmesi gerekebilir. Bunu bayrak
    ş ı
yarındaki atletlerin birbirlerine bayraklarıvermelerine benzetebiliriz. Genellikle gönderilen
bilgileri parantez içine alız.
                           rı

     Bir alt programa birden fazla parametre yollanabilir. Parametreler aslı bildiğ
                                                                           nda    imiz
değ kenlerdir. İ
  iş           simlendirme ve tür seçimini düzgün yapmamıgereklidir.
                                                           z
     Klasik programlama örneğ  i:

      …
      Oku;    quot;Öğrencinin adı giriniz quot;, öğ
                             nı            rAd
      Oku;    quot;Öğrencinin soyadı giriniz quot;, öğ
                                nı            rSoyad
      Oku;    quot;Öğrencinin diğ bilgilerini girinizquot;, öğ
                             er                       rDetay
      Yaz;    öğrAd & öğrSoyad & öğrDetay
      …
      Oku;    quot;Velinin   adı giriniz quot;, veliAd
                            nı
      Oku;    quot;Velinin   soyadı giriniz quot;, veliSoyad
                               nı
      Oku;    quot;Velinin   diğ bilgilerini girinizquot;, veliDetay
                            er
      Yaz;    veliAd &   veliSoyad & veliDetay
      …

      Tekrar eden kımları
                   sı    modüler (prosedür) hâle getirelim:

      Prosedür VeriGirişi

              Oku;   quot;Kişinin   adı giriniz quot;, kiş
                                   nı               iAd
              Oku;   quot;Kişinin   soyadı giriniz quot;, kiş
                                      nı                iSoyad
              Oku;   quot;Kişinin   diğ bilgilerini girinizquot;, kiş
                                   er                          iDetay
              Yaz;   kişiAd &   kişiSoyad & kişiDetay

      Prosedür Bitti


      Başla
              Yaz; quot;Öğrenci içinquot;
              VeriGirişi
              Yaz; quot;Veli içinquot;
              VeriGirişi
      Bitir




                                             7
1.3. Alt Programı
                Kesmek ve Değ Göndermek
                            er
                                  ş
      Döngülerde olduğ gibi, bazıartlar meydana geldiğ
                      u                               inde alt programı sonlanı ana
                                                                        n        p,
programa dönmesi gerekebilir. Genellikle quot;çış exitquot; komutu ile alt programlar istenilen
                                           kı–
yerden bitirilebilir.

                 Başla                           Hesapla


                 2 sayı
                                                               Evet   “0’a bölünemez”
              giriniz: a, b                        b=0                  hata mesajını
                                                                            göster



                                               Hayı
                                                  r
               Hesapla
                                               sonuc = a / b



                sonuc
               değerini
                göster
                                                                          Çı ş
                                                                           kı
                                                Geri Dön
                  Bitir


                    Ş 1.3: Alt programdan istenmeyen ihtimalde çı
                     ekil                                       kmak

       ekil 1.3’deki örnekte acaba “b” değ keni, 0 olunca ekrana ne sonuç yazır?
       Ş                                  iş                                  lı

      Alt program içine değ gönderme (parametreli prosedür) örneğ
                           er                                   i:

      Prosedür VeriGirişi(Metin mesaj)
           Oku; mesaj & quot; adı giriniz quot;, kiş
                             nı               iAd
           Oku; mesaj & quot; soyadı giriniz quot;, kiş
                                nı               iSoyad
           Oku; mesaj & quot; diğ bilgilerini giriniz quot;, kiş
                             er                         iDetay
           Yaz; kişiAd & kişiSoyad & kişiDetay
      Prosedür Bitti

      Başla
              VeriGirişi(quot;Öğrencininquot;)
              VeriGirişi(quot;Velinininquot;)
      Bitir

      Alt programdan ana programa değ gönderme (fonksiyon) örneğ
                                    er                         i:



                                           8
Örnek 1:
     Fonksiyon VeriGirişi(Metin mesaj)
          Oku; mesaj & quot; adı giriniz quot;, kiş
                            nı               iAd
          Oku; mesaj & quot; soyadı giriniz quot;, kiş
                               nı               iSoyad
          Oku; mesaj & quot; diğ bilgilerini giriniz quot;, kiş
                            er                         iDetay
          VeriGiriş = kiş
                   i      iAd & kişiSoyad & kişiDetay
     Fonksiyon Bitti

     Başla
             Yaz; VeriGirişi(quot;Öğrencinquot;)
             Yaz; VeriGirişi(quot;Velininquot;)
     Bitir



Örnek 2:
     Fonksiyon Toplama(Sayısal sayı sayı
                                   1,   2)
          Toplama = sayı + sayı
                        1       2
     Fonksiyon Bitti

     Fonksiyon Bölme(Sayısal sayı sayı
                                 1,    2)
          Eğ sayı = 0 İ
            er     2      se
                     Bölme = quot;Hataquot;
                     Çı ş //alttaki bölme iş
                       kı                   lemi yapılmamalı r
                                                            dı
          Eğ Bitti
            er
          Bölme = sayı / sayı
                      1       2
     Fonksiyon Bitti

     Başla
             Yaz; Toplama(2, 4)   //Ekrana 6 yazar
             Yaz; Bölme(3, 0)     //Ekrana quot;Hataquot; yazar
     Bitir



Örnek 3:
     Prosedür Onaylama(Sayısal Giriş)
          Eğ Giriş <= 0 İ
            er              se
                     Yaz; quot;0 veya daha düş rakam girilemez!quot;
                                          ük
          Eğ Bitti
            er
     Prosedür Bitti

     Başla
             Sayısal sayı sayı sonuç
                         1,     2,
             Oku; quot;Alınan malı miktarı giriniz quot;, sayı
                              n        nı              1
             Onayla(sayı1)
             Oku; quot;Alınan malı fiyatı giriniz quot;, sayı
                              n       nı             2
             Onayla(sayı2)
             sonuç = sayı * sayı
                         1       2
             Yaz; quot;Ödenmesi gereken fiyat quot;,sonuç
     Bitir




                                           9
Örnek 4:
       Fonksiyon Onaylama(Metin a, b)
            Eğ (a = quot;Yöneticiquot;) Ve (b = quot;qweasd_123quot;) İ
              er                                       se
                       Onaylama = quot;Tamamquot; //Eğ yönetici ise onay verilir
                                              er
            Eğ Bitti
              er
       Fonksiyon Bitti

       Başla
               Metin isim, ş ifre, sonuç
               Oku; quot;Kullanı isminizi giriniz quot;, isim
                             cı
                       ifrenizi giriniz quot;, ş
               Oku; quot;Ş                      ifre
               sonuç = Onayla(isim, ş ifre)
               Eğ sonuç = quot;Tamamquot; İ
                 er                   se
                           Yaz; quot;Kayıtlara ulaşabilirsinizquot;
               Değilse
                           Yaz; quot;Kayıtlara ulaşamazsı z!quot;
                                                     nı
               Eğ Bitti
                 er
       Bitir

1.4. Değ Aktarı
       er     mı
                                er”
      Alt programa veri ya “değ ya da “referans” olarak aktarır. Parametreler ana
                                                               lı
                                     ş sağ
                                      ı
program ile alt program arası veri akını layan bir köprü kurulması sağ
                            nda                                  nı lar.
      Değ olarak aktarmak demek, veriyi gönderen değ ken ile veriyi alan değ kenin
         er                                         iş                      iş
hafı farklı
    zada    yerlerde olmasır. Araları bir yalım vardı Ana program ile alt program
                          dı        nda       tı      r.
                       şı
arası tek yönde veri akı vardı
     nda                     r.
Not: İ değ kenin aynı iş
       ki      iş        değ kenmiş    gibi değerinin güncellenmesi istenir ise Basic dilinde “ByRef,
ByVal” veya Pascal “Var” gibi terimleri kullanır. C dilinde ise iş     aretçiler ile değ
                                                    lı                                    erleri güncel
tutabiliriz. Ana program ile alt program arası çift yönlü veri alı
                                              nda                  ş i için dildeki uygun yöntemi
                                                                     veriş
kullanmanıgerekir.
             z

                                           Ana Program




                 Modül 1                      Modül 2                      Modül 3
                        Ş 1.4 : Alt programlar ve ana programı ş
                         ekil                                n eması

                        mlanan değ kenlere “yerel değ kenler”; kod kı nda en üstte
                                                       iş
      Alt programda tanı           iş                                 smı
tanı , tüm programda geçerli değ kenlere “global değ kenler” denir. Alt programlar ile
                                                      iş
    mlı                          iş
global değ kenler ile de haberleş sağ
          iş                     me    lanabilir. Fakat program büyüdükçe, çok sayıda
                                     ı                    ı
değ ken tanı
   iş       mlamak zorunda kalı nacağiçin, bu daha karmaş bir yöntem haline gelir.
                                                           k

        Parametrelerde tanı
                          mlanan değ kenler, yerel değ kenler ile aynı
                                        iş              iş               ömre sahiptir. Alt
program bitince, hafı zadan silinirler. Global değ kenler ise program kapanı hafı
                                                 iş                         nca,     zadan
silinirler. Aş ı
               ağdaki örnekte global değ kenler ile alt program ve ana programı
                                             iş                                          n
haberleş vardı
          mesi     r.
                                                  10
Örnek:

             Sayısal notu
             Metin derece

     Prosedür KademeHesabı
          Eğ notu > 80 İ
            er            se
                     derece = quot;Aquot;
                     Çı ş //değ aktarı bitince prosedürden çı lı
                       kı         er   mı                      kı r
          Eğ Bitti
            er
          Eğ notu > 60 İ
            er            se
                     derece = quot;Bquot;
                     Çı ş
                       kı
          Eğ Bitti
            er
          Eğ notu > 40 İ
            er            se
                     derece = quot;Cquot;
                     Çı ş
                       kı
          Eğ Bitti
            er
          Eğ notu > 20 İ //Son ihtimalde zaten prosedürden çı lı
            er            se                                 kı r
                     derece = quot;Dquot;
          Değilse
                     derece = quot;Equot;
          Eğ Bitti
            er
     Prosedür Bitti

     Başla
             Oku; quot;Öğrenci notunu girinizquot;, notu
             KademeHesabı
             Yaz; derece
     Bitir




                                       11
UYGULAMA FAALİ
             YETİ
UYGULAMA FAALİYETİ

          İlem Basamakları
           ş                                                   Öneriler
1. Sı olarak program komutları akı 
                               nı ş
    ralı                                      Mesela, kullanıdan doğ yını
                                                               cı        um lı isteyip
ş                                                        ı
 eması yapı z.
       nı nı                                  ekrana yaş bulan program yapabilirsiniz
                                                          nı
                                    
2. Dallanan programlama yöntemi ile           Mesela, kullanıya sevdiğ spor türü
                                                               cı          i
                                                                                    ğı
program yazı z.
             nı                               sorulup ekrana kaç kişile oynandını
                                                                      i
                                              gösteren programı    yapabilirsiniz.
3. Döngü komutları program yazı z. 
                  ile         nı              Kullanıdan 5 adet not girişistenir ve
                                                      cı                     i
                                              ekrana bu sayı n ortalaması
                                                              ları              gösterilebilir.
                                          
                     ş lan
4. Programda sı çalı rı komut
               k      tı                      Hangi sayı n çarpı tablosu ekrana
                                                         nı         m
                                                      ı alt
blokları bir alt programa toplayız.
        nı                      nı            çıkacağnı program hâlinde
                                              yapabilirsiniz.
                                             İ seçiminde programlama dilinin
5. Alt programlara uygun bir tekil isim        sim
veriniz.                                      komutları (File, Not…) kullanmamalız.
                                                        nı                               yı
                                          
6. Bir alt programa değ yollayı z ve
                      er        nı            Girilen bir il plaka değerinin uygun olup
                                                     ğ ı
değ döndürünüz.
    er                                        olmadı (1 ile 81 arasıdeğ)     erini kontrol
                                              eden programı nı yapı z.




                                          12
ÖLÇME VE DEĞ ERLENDİ
            ERLENDİRME
ÖLÇME VE DEĞ       RME
 Ad(1)
OBJEKTİ TESTLER (ÖLÇME SORULARI)
      F

       Aş ı sorulardan, sonunda parantez olanlar doğ / yanlı    şsoruları r. Verilen
          ağ daki                                        ru             dı
ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı
                                             ş            nı ı sorularda uygun şı
                              ru                                                 kkı
işaretleyiniz.

1.   Bir programıbir baş cı
                n      langı vardı birçok kere sonlandılması
                                 r,                   rı   olabilir. ( )

2.                       ğz
                          ı
     Diğ programcı n yaptımıprogramları zı
       er        ları                 mı anlaması gerek yoktur. ( )
                                                na

3.   Her programıbir ana program kı vardı ( )
                n                 smı   r.

4.   Hangisi ile değ döndüren bir alt program yapabiliriz?
                   er
     A) Prosedür
     B)Fonksiyon

5.   İiçe komut yazı nda ne yapmamalı z?
     ç              mı                   yı
     A) Tüm komutlar aynı hizada yazı dı
                                     lmalı r
     B) Blok baş ç ve bitiş
               langı         komutları yapmalı z
                                        nı       yı
     C) İ kapatı
        lk      lması gereken blok, en son yapı blok olmalı r.
                                              lan         dı
     D) Blok açma ve kapatma sayı birbirine eş olmalı r.
                                 ları           it    dı

6.   Hangisi yapı bir programlama komutu olarak kabul edilmez?
                sal
     A) Döndür
     B) Eğ er
     C) Git
     D) Durum




                                          13
ÖĞRENME FAALİ
                              YETİ
                                 –2

                 ÖĞRENME FAALİ
                             YETİ 2
                                 -
 AMAÇ

      Programıza kullanı dostu (user friendly) arabirim yapabileceksiniz.
             nı        cı

 ARAŞTIRMA

                                          aş ı
       Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma
                                rlı                           tı
faaliyetlerini yapmalını
                     sı z.

                                                                                     ş
            Bilgisayarı zda kurulu programlardan hangisinin arabirimi size daha kullanı
                      nı                                                               lı
            geliyor?
           MS-DOS pencereleri, Windows pencereleri ve web sayfaların ara yüzlerini
                                                                         nı
                ı rız,
            karş tını farkları belirleyiniz.
                 laş              nı
           Oyunlarda, oyuncu ile diğ nesneler (para çekme makinesi, bilgisayar, el
                                       er
                      ,ş
            bilgisayarı ifreli kapı
                                  lar…) arası nasıiletiş kuruluyor, örnek araşrı z.
                                            nda    l     im                       tını


                2. KULLANICI ARABİ Mİ
                                 Rİ




                                                                                        cı
       Kullanıcıile program arası iletiş kurulması
                                  nda       im         nısağ  layan ara yüze “kullanı
arabirimi” denir. Genellikle programı arabiriminde bilgilendirme nesneleri ve bilgi giriş
                                      n                                                  i
için gerekli olan nesneler bulunur. Çevremizdeki birçok araç da bir arabirime sahiptir.
Mesela asansör düğ ve gösterge kı , merdiven otomatiğ müzik seti, televizyon,
                    me                  smı                    i,
                                         ş                                              ı
fotokopi makinesi… Bazı çok kullanı ve kullanı dostu iken, bazı çok karmaş
                         ları             lı        cı                 ları              k
olabilir.




                                          14
2.1. Kullanı Arabiriminde Pencere Tasarı
           cı                          mı
     İ
     ş                                                            ş
       letim sisteminizdeki pencereleri incelediyseniz, bazıkullanı noktalar dikkatinizi
                                                                   lı
çekmiş
     tir.

                                                    ı
            Pencereler olabildiğ sade ve anlaş r bir yazı dili ile tasarlanı
                                 ince                lı         m                    r.
           Her pencerenin başk çubuğ
                                lı        unda programıismi ve yardı bilgiler yazıdı
                                                         n                 mcı               lır.
           Kapat veya simge durumuna küçültmek için düğ       meler vardı   r.
                        ğ
            Pencereye sımayan nesneleri kaydı çubukları denetleyebiliriz.
                                                  rma             ile
           Durum çubuğ ile kullanıya ekstra bilgilendirme sağ r.
                          u           cı                              lanı
           Benzer görevli düğ  meler sağtarafta veya pencerenin altı yan yana hizalı r.
                                                                         nda                  dı
           Menüler sol üst kenardan seçilebilir
           Belli yerlerde sağ menüleri ile hı iş
                               tuş                zlı lemler yapı   labilir.
           Klavye kı sayolları fare kullanmadan hı iş yapı
                                ile                     zlı lem         labilir.
           Klavye ve fare birlikte kullanı kolay iş yapı
                                           larak          lem       labilir.
           Kritik anlarda kullanıdan onay istenir.
                                   cı
                                   cı rahatsıetmeyecek ş
            Hata mesajları  kullanıyı          z              ekilde sunulur.
                                                            ğ ı
            Fare simgeleri ile programıne tür iş yaptı belirtilir.
                                        n          lem
           Kullanınıdikkatini çekmesi için uygun renkler ve yazı seçilmiş
                    cı n                                                   tipi         tir.
           Kullanınıuygulamayı
                    cı n              özelleş tirebilmesi için seçenekler sağ r. lanı

       Pencerenizin (form da denir) boyutları ilk açış
                                             ve        lı
yeri gözü rahatsıetmemelidir. Kullanı en az hareket veya
                 z                   cı
                ini zlıbir ş ekilde elde etmelidir. Fitts*
çaba ile istediğ hı
kanunu bunu belirlemiş tir.


      Şimdiye kadar yapı görsel programlama örneklerinde genellikle Visual Basic ve
                        lan
Yunus dili kullanı şr. Birçok programlama dili görsel arabirim yapabilmemize imkân
                  lmıtı
sağ Sı kullanı programlama dillerine diğ örnekler Delphi ve Visual C’dir.
  lar. k         lan                     er

      İ
      ş                         ı
       letim sisteminden bağ z yazım yapmak isterseniz, Java, Python ve web
                                 msı       lı
programcığ  ıile ilgilenebilirsiniz. Ş
         lı                           imdilik burada Visual Basic ile arabirim oluş
                                                                                  turma
                 ı
denemesi yapacağz.

2.2. Örnek Uygulama
       Yeni bir “Windows Uygulamasıaçalı İ adı projenizin adı
                                  ”    m. lk mda             sorulur. Varsayı
                                                                            lan
isimle bı
        rakabilirsiniz.

     Ş                                                                  ş
      imdilik içinde program kodu olmayan, sadece görüntü olarak çalı bir program
                                                                         an
yapalı Ş ana kadar kod yazı ile ilgili birçok örnek yaptı görüntü ile ilgilenmemiş
     m. u                   mı                          k,                       tik.



                             mladıığergonomi ile ilgili kitabı bir iş tamamlamak için gerekli
*
 Paul Fitts, 1954 yında yayı
                   lı                                        nda,   lemi
hareketleri formül hâlinde belirlemiş
                                    tir.
                                              15
İ düş                                                 ı zdı
        lk    üneceğ imiz konu, ne ile ilgili program yapacağmı r. Örneğ dosya, düzen
                                                                       in
ve yardı menüsü olan basit bir not defteri tasarlayalı Boşformu uygun bir boyuta
          m                                               m.
getirdikten sonra gerekli nesneleri “Toolbox” penceresinden alı
                                                              yoruz.

      Nesnelerimiz:
          Button1: Kapat düğ mesi
          Combobox1: Dosya türü seçmek için (içinde metin ve zengin metin yazı
                                                                              yor)
          Label1: “Dosya türü” yazı sı
          RichEdit1: Not defterinin asınesnesidir, içine yazı lacak kımdı
                                       l                      yazı    sı r
          StatusStrip1: “İ programı z” yazı
                          lk          mı      lı
          MenuStrip1: Ana menüyü bununla hazı             ı
                                                 rlayacağz
          ContextMenuStrip1: RichEdit1’e sağ menüsü ekleyeceğ
                                                tuş                iz




                              Resim 2.1: Yeni bir proje açmak

      Nesneler ve özellikleri çok sayı olduğ için burada tek tek özelliklerini
                                     da        u
             ı
anlatamayacağz. Deneme yanı ile çok güzel özellikler keş
                            lma                        fedebilirsiniz.

                                                ş il
      Basit bir not defterinde ne çok nesne varmıdeğ mi? Kim bilir kod kı kaç satı r,
                                                                        smı      rdı
                                           raş ş
ya da programcı   kaç saat program ile uğ mı r. Saatlerce uğ an programcıprogramı
                                                tı           raş           ,
eğ kendi isteğile ücretsiz olarak yayı yor ise çabaları takdir etmek, maddi ve manevi
  er            i                        nlı           nı
olarak destek vermek gereklidir.

       Programcı ticari olarak program yazı ama yazımıkaçak
                ,                              yor,           lı
yollardan, kanuni olmayan yollar ile çoğ lı ise, hem programcı
                                        altıyor                     hem
de kullanı zarar görür. Yazımları da diğ ürünlerdeki gibi, garantisi,
          cı                lı n            er
destek ve yükseltme seçenekleri vardı Kaçak olarak kullanı
                                           r.                         lan
yazımda bu hizmetler yoktur. Aynı
     lı                               haklar müzik, kitap, resim ve film
                           ş
gibi üzerinde emek harcanmıürünlerde de geçerlidir.

                                            16
Resim 2.2: İte programı zı ilk hâli olan boş form
            ş         nın                   bir




         Resim 2.3: Programı tasarı hâli
                           n      m



                       17
Resim 2.4: Programı zı çalı rı ğan
                                          mın     ş ldıı
                                                   tı

      Görüntü olarak hazı hâle gelince artı programlama kı na geçilebilir. Tüm
                          r                   k                 smı
nesneleri, tüm komutlarıkullanmanıgerekmez, zaten önemli olan bu değ
                                   z                                  ildir. Çok sevilen
programlarıincelerseniz bazı nı çok sade olduğ
                              ları n                  unu görürsünüz. Mesela “Biliş   im
Sözlüğ gibi. Sadece aranacak kelime giriliyor ve anlamı ediliyor.
       ü”                                               elde

     Metin kutusu, düğ etiket, resim, onay kutusu, açır kutu, liste kutusu, radyo
                        me,                                   lı
düğmesi, menüler, grup kutusu web siteleri dâhil her programda genelde vardı
                                                                           r.




                            Resim 2.5: Sı kullanı nesneler
                                        k       lan




                                          18
Resim 2.6: Bir alarm ve ıtı sistemi arabirimi yapı ; akış
                        sıcı                     mı şeması ve resmini inceleyiniz
                                                          nı




                                       19
UYGULAMA FAALİ
             YETİ
UYGULAMA FAALİYETİ

          İlem Basamakları
           ş                                                 Öneriler
                                           Proje ilk açı ğ boş form vardı
                                                             ı
1.Yeni bir proje açı z.
                    nı                                   ldında       bir         r.
                                        
2.Pencerenin boyut ve koordinatları
                                  nı        Çok büyük veya çok küçük olmamalır.  dı
                                        
uygun hale getiriniz.                       Ekranıtuhaf bir yerinde açı
                                                    n                     lmamalır.
                                                                                 dı
                                           Diğ ekran çözünürlüklerinde nası
                                                 er                            l
                                            göründüğ kontrol ediniz.
                                                      ünü
                                        
3.Pencere ve içindeki nesneleri uygun       Zırenkler kullanı z. Siyah ile turuncu, sarı
                                               t                nı
bir ş
    ekilde renklendiriniz.                  ile kahverengi gibi…
                                           Siyah ile gri, yeş ile mavi çok okunaksı
                                                              il                     z
                                            olabilir.
                                        
4.Kullanıya yardı kı yol
         cı        mcı sa                   Baş bir programdaki menünün benzerini
                                                 ka
menüleri tasarlayı z.
                  nı                        yapmayı   deneyebilirsiniz.
                                        
5.Pencere üzerine temel kontrolleri         Nesneleri form üzerine ekleyerek deneyiniz.
ekleyiniz.
                                         Bir düğ
6.Kontrollere program yazı z.
                          nı                    meye basit bir komut ekleyiniz.




                                         20
ÖLÇME VE DEĞ ERLENDİ
            ERLENDİRME
ÖLÇME VE DEĞ       RME
 Ad(1)
OBJEKTİ TESTLER (ÖLÇME SORULARI)
      F

       Aş ı sorulardan, sonunda parantez olanlar doğ / yanlı    şsoruları r. Verilen
          ağ daki                                        ru             dı
ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı
                                             ş            nı ı sorularda uygun şı
                              ru                                                 kkı
işaretleyiniz.

1.   MS-DOS uygulamaları kullanı arabirimi yoktur. ( )
                       nda     cı

2.   Kullanı arabirimi herkesin anlayacağş
                                         ıekilde sade olmalır. ( )
           cı                                              dı

3.   Ergonomik program olmaz, istediğimiz biçimde form tasarlayabiliriz. ( )

4.   Kullanı arabirimi yapı nda hangisi yapı
            cı              mı                  lmamalı r?
                                                      dı
     A) Kullanı hatalar mesajları görmemelidir.
               cı                nı
     B) Kullanıya devamlımesaj kutuları soru sormamalır.
               cı          ,                ile            dı
     C) Kullanı uygulamayı
               cı            özelleştirebilmelidir.
                                       ş ğ rmalız.
                                        lı ı
     D) Gizli kı
               sayollar yaparak kullanı lı artı yı

5.   Hangi dilin görsel programlama sürümü yoktur?
     A) C
     B) Pascal
     C) Basic
     D) Tupol

6.   Hangi nesne ile yazıolarak giriş lamaz?
                                     yapı
     A) Metin kutusu
     B) Açır kutu
           lı
     C) Yazı kutusu
     D) Liste kutusu




                                          21
ÖĞRENME FAALİ
                              YETİ
                                 –3

                 ÖĞRENME FAALİ
                             YETİ 3
                                 -
 AMAÇ
      Programda oluş hataları
                   an        giderme yolları öğ
                                           nı reneceksiniz.

 ARAŞ
    TIRMA
                  renci, bu faaliyet öncesinde hazı k amaçlıaş ı
        Sevgili öğ                                rlı        ağda
belirtilen araşrma faaliyetlerini yapmalını
               tı                       sı z.
                                hatalar vardı Ş
            Sadece yazımda mı
                        lı                   r? imdiye kadar meydana
            gelen donanı hataları
                          m         nıaraşrı z. Mesela, 1994 yında intel Pentium
                                            tını                  lı
            işlemcilerde FDIV bölme hatası  bulunmuştu.
           Bilgisayarda oluş ilginç hata mesajları araşrı z. Mesela, çöken bir iş
                             an                    nı tını                       letim
            sisteminde (mavi ekran) neler yazı olabilir?
                                             yor

                         3. HATA Gİ
                                  DERME




                                 ş labilir, yanlıyere yazı
                                                ş                             ş
      Programda bir komut yanlıyazı                      labilir, bir satıyanlı kla iptal
                                                                         r     lı
                                                 ı bilemez ve program çöker. Problemli
edilmişolabilir. Bilgisayar bu durumda ne yapacağnı
programlara, böcekli program da denir.

3.1. Kod BöceğNedir?
             i
      Birçok böcek zararsı görünen küçük problemlere sebep olabilirler. Asısorun olan
                           z                                               l
                             ş na engel olanlardı Bu böcekler programı son hâlinin
böcekler, tüm programı çalı
                       n      ması              r.                        n
   ş
satı(piyasaya çıkma) tarihini erteleyebilir.
      Bir böceğ oluş nıbirçok sebebi olabilir:
               in  ması n
           Yazı hatalarıKomutun yanlıyazı , unutulan noktalama iş
                 m                            ş lması
                             :                                            aretleri gibi
            derleyicinin hemen bulduğ kolay düzeltilebilen hatalardı
                                       u,                          r.
           Çalı anı
                 şma       hatalarıProgram hatası derlendikten ve çalı rı ktan sonra
                                                                      ş ldı
                                   :               z                  tı
            meydana gelen hatalardı Genellikle kullanını istenmeyen veri girmesi
                                      r.                  cı n
            sonucu oluş Programcı
                        ur.           önlemini önceden almalı r.
                                                            dı
           Mantı hataları Program normalde çalıyor gözükür, ama istenmeyen sonuç
                   k                                 ş
                                                     ı
                              :
            üretir. Hatayı düzeltmek veya oluş nı engellemek, programcı n
                                                     ması                           nı
            programlama yeteneğ bağ dı
                                  ine     lı r.
                                             22
3.2. Yazı Hataları
        m
      Yazı hataları, dikkatle kodları
          m         nı                    gözden geçirerek ve program derlenirken verdiğ
                                                                                       i
hata mesajı iyi inceleyerek çözebilirsiniz.
          nı




                  Resim 3.1: Pascal derleyicisi neden hata mesajıvermiş
                                                                      tir?

       Derleyici genellikle hatalıyere imleci getirerek, düzeltmenizi bekler. Resim 3.1’deki
gibi hatanı kodu ve türünü belirtir. Ama hata mesajı
           n                                               verilmeyen hatalarda ne olacak?
Aş ı hikâyeyi okuyunuz.
   ağ daki

Yazı Hatası
    m
      1962 yında NASA, Venüs gezegenini incelemek için “Mariner 1” adlıuydu
             lı
                   ı
gönderdi. Uyduyu taş roket hatalı izlemeye baş
                    yan          rota        lamasıüzerine, patlatı
                                                                  lmak zorunda
kalı .
   ndı
                                                            ş
      Bir hikâyeye göre, bu bir “Döngü”den kaynaklanmı . Normalde 3 kere dönmesi
                                                            tı
                                                              ş
gereken döngü, basit bir yazı hatası
                            m       sebebi ile hataya yol açmı .
                                                              tı
FOR I = 1.3    'I değ kenine 1.3 değ
                     iş             erini atar
FOR I = 1,3    'I döngü değ kenidir, 1’den 3’e kadar döngü yapı r
                           iş                                  lı

      Bu muhtemel hatalıkomut kullanı NASA’nı milyon dolarlı roketi kaybetmesine
                                    mı      n              k
sebep olmuş
          tu.

       Sı yapı bir hata da değ ken isimlendirmesinde yapır. Program büyüdükçe, üst
         k     lan                iş                           lı
                                         ş
satı
   rlarda kullanı değ ken adı yanlı kla diğ yerlerde farklıkullanı
                  lan    iş        ,      lı       er                       labilir. Garip
   erlerle karş ı z değ ken isimlerini kontrol ediniz. Aslı kı ve ş
                ı rsanı
değ             laş          iş                                   nda sa        ifreli gibi
değ ken adı
   iş        vermemek en iyisidir.
Sağ k
    lı
                                                                ş
       Therac–25, radyasyon ile tedavi makinesi olarak tasarlamı . Hastalara yavaş
                                                                 tı                 yavaş
                        ı
radyasyon veriyordu. Aş radyasyon verilmemesi için yazım ile denetlenen bir güvenlik
                         rı                                lı
mekanizması   vardıAma yazımda “ölümcül” bir hata
                    .        lı
vardı.
                              ş
       Makinenin 2 durumlu çalı prensibi vardıX
                               ma              :
ını elektron ınıX ını
 ş ve
  ı               ş.
                   ı     ş durumu, yüksek seviye
                          ı
enerji seviyesine sahipti. Yüksek seviye enerji,
                                          şı
elektron durumu ile dengelenmeye çalıyordu.
Yanlı kla X ını
      ş       ş durumunda kalı nca, hastalara aş
                ı                                ı
       lı                      nı                rı
radyasyon verilerek yanı ve ardı
                       klar      ndan ölüme sebep
olunabiliyordu.
      Sonunda hata bulundu, ama birçok hasta için artıçok geçti!
                                                     k
                                            23
3.3. Çalı Zamanı
        şma     Hataları
          ş
      Çalı zamanı
           ma         hataları sinsidir. Programcı
                               çok                  programı test etmemiş hatayı
                                                            iyi             ise,
kullanını keş
       cı n    fetmesine fı vermişdemektir. Test etmek için kendimizi kullanı nı
                            rsat                                                 cı n
yerine koyup, her değ iklikten sonra bol bol denemeler yapmamı gereklidir. Uç değ
                    iş                                        z                  erler
denenmelidir.

       Yaş bilgisinin girilmesi için 203 bin gibi bir sayıbir de sır rakamı deneyin. Hatta
                                                         ,        fı      nı
negatif ve ondalı sayı deneyin. Bakalı ne sonuçlar veriliyor:
                 klı ları                    m

                            Visual Basic dilinde örnek
            Private Sub Button2_Click
              Dim yas As Byte 'Byte değ ken 0-255 arası değ alı
                                       iş                  er  r
              yas = TextBox1.Text
                                  ız
              MessageBox.Show(quot;Yaş nı quot; & Val(yas))
            End Sub




   Hata sebebi



                      Resim 3.2: Programı değ
                                         test erleri ile deniyoruz

3.4. Mantı Hataları
         k
      Mantı hataları n tespiti çok zordur. Parantez hatasıunutulan karakterleri bulmak
           k        nı                                   ,
                                           ş
daha kolaydı Hatta programı zı edip çalı zamanı
           r.              nı test          ma         hatalarırahatlı bulunabilir.
                                                                     kla

               yazarken doğ kabul ettiğ komutlar, aslı baş ş             ş ı
       Programı             ru        iniz           nda   ka ekilde çalıyor
                                      mlama ve iz sürme” teknikleri ile hatalar
olabilir. Bu hatalarıgidermek için “Adı
yakalanmaya çalılı
                ş r.
                 ı




                                           24
Stratejik Hata
      1982 yında İ
                lı  ngiltere ile Arjantin arası
                                              nda yapı   lan
                     ı
                     nda, 37 yı ilk kez İ
Falkland adalarısavaş           lda          ngilizler gemi
kaybetmiş lerdi.

       Her iki taraf Fransı ürünü olan Exocet füzeleri
                           z
kullanıyordu. H.M.S. Sheffield isimli gemi, üzerine gelen
düş man füzelerini dost sanarak, hava savunma sistemini
geçmelerine izin verdi. Gemi birçok yönden gelen füzelerle
vuruldu. Kontrol odası yangı çı . Mürettebattan 20 asker
                       nda   n ktı
öldü, 27 asker yaralandı
                       .

3.5. Adı
       mlamak
                                                ı nı lar. Adı
     Satıolarak adı
         r         mlamak programı daha iyi anlaş
                                 n               lması sağ         mlama sayesinde
              zlı ş
normalde çok hı çalı programıyavaş
                    an         ,     yavaş da duraklatı
                                           ya          larak izleyebiliriz.

                           Basic dilinde adı
                                           mlama komutları
                                                         :

                                      Run: Çalı r
                                                ş tı
                                      Break All: Çalı rmaya ara ver veya kı
                                                      ştı                   r
                                      Stop: Programı tamamen durdur
                                      Step Into: Adı adı çalı rş
                                                     mm          tı
                                      Step Over: Alt programlara girmeden adımla
                                      Step Out: Alt programdan çı p, hı ca ana
                                                                  kı zlı
                                       programa dönülür, adımlamaya devam edilir

      Adı mlarken ve değ kenleri izlerken genellikle hatanı gözden kaçmasımümkün
                        iş                                 n
                                       unuzu renklendirilen satı anlayabilirsiniz, ş
olmaz. Adı mlama sı nda nerede olduğ
                   rası                                        rdan                u
anda 9. satı program donmuş ş
           rda               bir ekilde bekliyor:




                      Resim 3.3: Adı
                                   mlama ve değ kenleri izleme
                                               iş

       Çok uzun programlarda ise hatanı olduğ tahmin edilen satı kadar adı
                                      n     u                  ra        mlamak
yerine “durak noktaları kullanır.
                      ”       lı




                                         25
     Hatanıolduğ tahmin edilen yere yakı “durak noktası eklenir.†
                    n     u                      n              ”

                                ş lı
               Program normal çalı rır.
                                  tı

              “Durak noktası gelindiğ
                             ”na     inde, programlama diline otomatik olarak dönülür ve
               o satırenklendirilir.
                    r

                                                                               ş
               Bundan sonrasısize kalı ister adı
                                        yor,      mlamaya devam edin, ister “Çalı r”
                                                                                 tı
                                             ş na devam edin.
               komutu ile tekrar programıçalı
                                        n    ması




                 Resim 3.4: Kı zı
                             rmı renkli kım “durak noktasıolan bir satı r
                                         sı              ”            rdı




                           Resim 3.5: “ Command Window” kullanı ‡
                                                              mı

Not: İ
     sterseniz “çalı anı – Run Time”, değ kenler üzerinde oynama yapabilirsiniz.
                   şma nda               iş

      Eğ programlama dilinde böcek ayı
         er                               klama imkânı kadar kolay değ ise, daha basit
                                                        bu                  il
yöntemler deneyebilirsiniz. Mesela hatalıyere yakı ekrana değ ken değ
                                                  n,            iş        erini bir mesaj ile
gösteren komut eklenebilir. Programdaki hata giderildikten sonra bu sat ı n temizlenmesi
                                                                        rları
unutulmamalır.
             dı

                                                ş
      Programızdaki hatalarıgidermeye çalı
                nı                               mazsanı yazımı zı kalitesi düş
                                                         z,     lı nın               er.
Yazımı
    lı yazan ekip kadar, test ekibinin de çok sorumluluğ vardı Ama programdaki hatayı
                                                        u     r.
bulamadıdiye test ekibi suçlanmamalı r. Programcı
                                       dı             hatalarıotomatik olarak yakalayan
kodlar yazabilir. Kullanınıhataları fetmesi firma için daha kötüdür.
                        cı n        keş




†
    “Debug*Toggle Breakpoint F9” ile yapabilirsiniz
‡
    “View*Other Windows*Command Window Ctrl+Alt+A” ile pencereyi açabilirsiniz
                                              26
Kullanını hatalı
                                                                               cı n
                                                                       girişyapmaması
                                                                       için kısa
                                                                       açı klamalar
                                                                       yazı dı
                                                                            lmalı r




                                                                       Kullanını
                                                                              cı n
                                                                             nı ş
                                                                       kafası karı ran
                                                                                   tı
                                                                       mesajlar
                                                                       olmamalı r
                                                                                dı


    Resim 3.6: Kullanıya yardı olunuz, doğ bilgi vererek yönlendiriniz
                     cı      mcı          ru




Resim 3.7: Programcıkendisi için yaptıı
                                     ğbasit hata ve ayrı lı
                                                       ntı hata mesaj örnekleri

Bir program yazarken aş ı öneriler iş
                      ağdaki        inize yarayabilir:

     Yazımı z ne kadar büyürse o kadar içinde böcek bulunma ihtimali artar.
           lı nı
     Böcek oluş nı nası önleyebileceğ
                    ması            l                 inizi, otomatik olarak nası       l
      yakalayabileceğ düş
                      inizi      ünmelisiniz.
                                                   ı
      Algoritmanı oluş
                  zı        tururken, kullanacağ z dili tam olarak öğ
                                                     nı                          renerek
      koşullarızı
               nı tamamlayı z. nı
     Birden fazla yol göz önüne alarak alternatifler ekleyiniz.
         ş
      Çalı anı beliren böcek sinyallerini göz ardı
            ma    nda                                        etmeyiniz. Kendi kendilerine
      kaybolmazlar. Kaybolması beklerseniz daha da büyürler.
                                   nı
     Değ kenlerinizin değ
          iş                  erlerini takip ediniz ve aykı değ
                                                            rı erler almaları zaman
                                                                               ne
      ve nerede oluşuyor böcek ayı    klama ile görünüz.


                                       27
   Eğ programı zı
       er              nı kontrol amacı adı adı iş
                                             ile   m m lemekten çekinirseniz, tahmin
    etmediğ hatalarla kullanı muhatap olmak zorunda kalı
                                        cı
               iniz                                                      r.
   Denetlenmesi kolay adlandı         rmalar ve algoritmalar oluşturunuz.
      zlı ş
    Hı çalı program yapmak için dayanı z kodlar oluş
                  an                                 ksı               turmayı z.
                                                                               nı
   Kestirme ve pratik programlama risklidir. Kendi ihtiyacıza göre çözüm   nı
    üretiniz.
   Ara sı temizlik yaparak, artı yani artan kodları zı böceğ sebep
              ra                               k                        nın          e
    olmamaları sağ nı
                   nı layız.
          ğzı
    Yaptını değ iklik çok küçük olabilir, ama hata oluş
                         iş                                                     turabileceğini
    unutmayı z.  nı
   Sürümler oluş      turarak ilerleyiniz. Son ticari halinden hata ayı    klama kodları zı
                                                                                          nı
    çıkararak küçülterek ilgililere teslim ediniz.
                             tirdiğ açı       klama satırları ve öz olmalı da hiç
    Program içine yerleş              iniz                     az                   ya
    yazmayı z.  nı
   İmkânsı olan bir girdi olabilir mi? Kullanı her zaman sizin gibi düş
               z                                        cı                             ünmez.
    Bu ihtimallere önlem almalını Sorunları
                                       sı z.           sessizce çözen kodlar yazabilirsiniz.
                                                       ş z.
                                                         ı
    Böceğgizlemekten çok onu yok etmeye çalını
            i
   Farklı  algoritma yöntemleri kullanarak böceklerin sebebini çözebilirsiniz.
   Devamlı mesajları kullanıyı landı
                 hata            ile         cı telaş rmayı z.   nı
                  ğ karmanı yöntemi, onu bulduğ
    Böceğ açıa çı
            i                     n                        unuz anda ortadan kaldı    rmaktır.
    Böcekleri tekrar çı    kmaya zorlayız.  nı
   Çok az sayı programcı
                    da               kodlara “durak noktalarıekleyerek, kod içinde adı
                                                              ”                             m
                                                                             ş ğ sahip.
                                                                              kanlıı
    adı ilerleme ve girdilerin çı ya dönüş ü yerlere bakma alı
        m                                ktı        tüğ                              na
    Bu iş lemler angarya değ      ildir.
                                                   şı
    Kodunuzda adı adı ilerlerken veri akına odaklanız.
                        mm                                        nı
   Arabiriminizdeki aksaklı bulup yok ediniz.
                                   kları
   Kaybolan bir böceğ göz ardı
                            i            etmeyin, gizleniyor olabilir.
   Zamanı bulunan böcek daha fazla böcek oluş na engel olur.
              nda                                           ması
   Belirtiyi değ oluş nedenini düzeltiniz.
                    il,     um
                                                                         ş
    Aptal böcek yoktur. Asısorun programcı n onu bulamamıolması r.
                                 l                   nı                           dı
   Aynı   böceğ sizi iki kere sokması izin vermeyiniz!
                   in                         na




                                       28
UYGULAMA FAALİ
             YETİ
UYGULAMA FAALİYETİ

          İlem Basamakları
           ş                                               Öneriler
                                         İ kez karş tınıhataları çözüm
                                                       ı ğz
                                                        laş ı
1.Bir programlama dilinde program          lk                              ve
                    ı
yazıdenerken, karş za çı yazı
    p               mı kan        m       yolları defterinizin arkası yazı z,
                                                 nı                    na        nı
                                                         hatayla karş ı
                                                                      ı nca
hataları inceleyiniz.
        nı                                böylece aynı                laş
                                          bocalamazsı z.nı
                                         Arkadaş nın yaptıı      ğprogramlardaki
2.Programdaki yazı hataları
                 m        nı                       ları zı
düzeltiniz.                               yazı hataları yardı ediniz. En çok
                                              m           na       m
                                          nerede hata yapı ğ , sebebini tartını
                                                                 ı                 ş z.
                                                                                   ı
                                                            ldını
                                      
              ş ldı                             ğz
                                                 ı
3.Program çalı rı ktan sonra
              tı                          Yaptınıprogramları er insanlarınası
                                                                    diğ            n      l
                                          kullandıı gözlemleyiniz. Nasıveri
                                                   ğnı
denemek için veri giriniz.                                                     l
                                          girdiklerini inceleyiniz. Sizin istemediğ  iniz
                                          değ erleri girerlerse ekrana nasıbir hata
                                                                            l
                                          mesajı  geliyor?
                                      
4.Adı adı programı şrarak,
     mm           çalıtı                  Adı mlama komutu ile programızı     nı
       n ş kontrol ediniz.
           ı
programıakını                             inceleyiniz.




                                      29
ÖLÇME VE DEĞ ERLENDİ
            ERLENDİRME
ÖLÇME VE DEĞ       RME
 Ad(1)
OBJEKTİ TESTLER (ÖLÇME SORULARI)
      F

       Aş ı                                                      şsoruları r. Verilen
          ağ daki sorulardan; sonunda parantez olanlar doğ / yanlı
                                                         ru              dı
ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı
                                              ş           nı ı sorularda uygun ş ı
                               ru                                                 kkı
işaretleyiniz.

1.   Kod böcekleri çok akı dı ( )
                         llı r.

2.   Derleyici tüm hatalarıyakalar, bize hatanıyerini gösterir. ( )
                                              n

3.   Basit bir değ iklik yapınca, program test edilmese de olur. ( )
                 iş         lı

4.   1.500,45 bir sayı i olabilir. ( )
                      giriş

5.   Hangi komut ile programı mlayabiliriz?
                             adı
            ş
     A) Çalı r - Run
             tı
     B) Dur - Stop
     C) Adı - Step Into
            mla
     D) Kı- Break All
          r

6.   Hangi hatanıtespiti ve giderilmesi çok kolaydı
                n                                   r?
     A) Yazı hataları
            m
            ş
     B) Çalı anı
            ma     hataları
     C) Mantıhataları
             k
     D) Ölümcül hatalar (disk, bellek hatalarıgibi)




                                           30
ÖĞRENME FAALİ
                               YETİ
                                  –4

                  ÖĞRENME FAALİ
                              YETİ 4
                                  -
 AMAÇ

     Programda saklanması gereken bilgileri dosyalara saklayabilecek ve tekrar
okuyabileceksiniz.

   ARAŞTIRMA
                                          aş ı
       Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma
                                rlı                           tı
faaliyetlerini yapmalını
                     sı z.

                                                         ş
            Birçok program değ ik dosya türlerini çalı rabilir ve
                                   iş                      tı
                                                ğıdosya türlerini araşrız. Mesela ofis
            değ tirebilir. Programları kullandı
                iş                    n                              tını
            programları *.doc, *.xls dosya uzantı vardı
                        nda                       ları      r.
                                           ş labilen bir dosya (*.exe gibi) diğ iş
            Windows iş  letim sisteminde çalı rı
                                             tı                                er letim
                                  ş labilir mi? Ya da tam tersi, Linux’ta kurulabilen bir
            sistemlerinde de çalı rı
                                   tı
            program Windows’a kurulabilir mi?


                            4. DOSYALAMA




      Bir önceki derste değ kenlerin ömürleri bitince hafı
                            iş                               zadan silindiğinden bahsettik.
Zaten böyle olmasaydı bellek birçok programı şrmaya yetmezdi. Ya bize kalı, her
                      , ana                       çalı tı                           cı
program açı ğnda, önceden saklanan bilginin gösterilmesi gibi bir durum gerekirse ne
             ldıı
yapabiliriz? Oyunlardaki rekor bilgileri gibi düş
                                                ünebiliriz. Bilgiler çoğ
                                                                       unlukla ayrı veri
                                                                                   bir
dosyası saklanı
        nda       r.

4.1. Metin Dosyalar
      İ                 ı ı gibi, metin dosyaları içinde sadece yazı vardı
      sminden de anlaş   lacağ                         n                    r.
Biçimlendirilmemişmetin dosyaları tüm iş
                                nı     letim sistemleri tanı değ tirebilir.
                                                           r,  iş

      Metin dosyalara “sı dosyalar” diyebiliriz. Bir metin dosyası kullanabilmemiz
                             ralı                                   nı
için önce onu oluş  turmamı gereklidir. Daha sonra da sı ile satı satı metin dosyası
                              z                        ra       r    r             nı
okuyabilir, değ tirebiliriz.
              iş




                                            31
Sı dosya olduğ için dosyaya bilgileri sı ile yazı yine sı ile okuyoruz. Peş
          ralı               u                            ra      p,     ra
peş bilgi iş yapı ğ için “For - Döndür” komutu ile daha az komut yazarak, çok satı
                        ldıı
    e        lemi                                                                           rlı
bilgileri alabilir, yazabiliriz. 3 satıbilgi için basit olarak aş ı gibi bir örneğ
                                      r                         ağdaki            imiz var.




                            Resim 4.1: Metin dosyaya bilgi yazma

      1.   Baş la
      2.   DosyaAdi = “dosya.txt”
           Eğ DosyaAdi mevcut İ Git 9
      3.      er                   se
      4.   yazar = DosyaAç (DosyaAdi)
      5.   yazar.Satı
                    rYaz “1. satı
                                r”
      6.   yazar.Satı
                    rYaz “2. satı
                                r”
      7.   yazar.Satı
                    rYaz “3. satı
                                r”
      8.   yazar.DosyaKapat
      9.   Bitir

      Okuma veya yazma iş   lemi yapı ktan sonra dosya kapatı dı Eğ kapatmayı
                                     ldı                        lmalı r. er
unutursak, programda hatalar meydana gelebilir. Açı kalan dosyayı
                                                    k               üzerinde baş iş
                                                                               ka lem
yapmak için tekrar açamayı Aş ı
                          z. ağ  dakine benzer bir hata mesajı abilir:
                                                              oluş

        ş                           ndan kullanı ğ ndan
                                                 ldı ı
      quot;İ lem, baş bir iş
                 ka       lem tarafı
      'C:ornekler3vbmetinDosyalamadosya.txt'
      dosyası eriş
             na     emiyor.quot;

      Metin dosyası kendi programı z haricinde, not defterini kullanarak
                       nı                  mı
görüntüleyebilirsiniz. Test etmek için satı
                                          rlarıdeğ tirip, programı zda tekrar okumayı
                                                  iş             nı
deneyebilirsiniz.




                                             32
Resim 4 .2: Metin dosya iş
                                             lemleri ekran görüntüsü

       Programları zı
                    nı piyasada yaygı olarak kullanı programlar ile uyumlu yapmaya
                                    n               lan
                                                                                    ı
dikkat ediniz. Eğ kendi dosya türünüzü oluş
                  er                        turursanı sadece sizin programıza bağmlı
                                                     z,                     nı
hâle gelir. Mesela programı z hesap tablosu halinde verilerini kaydedebiliyor ise, hesap
                            nı
tablosunu kullanarak iş yapan kullanıya destek sağ şolursunuz. Programı zı
                        lem              cı             lamı                       nın
kalitesi daha artar.

      Siz de programa daha fazla satı bilgi kaydetme imkânısağ nı Döngüler
                                       r                      layız.
kullanarak daha az kod nasıyazı
                          l   labilir?

4.2. Rasgele Eriş Dosyalar
                imli
      Metin dosyalarda satırlarıtek tek okumak küçük dosyalar için hı problemi
                                                                       z
oluşturmaz iken, büyük dosyalarda belli bir satı gidip iş yapmak büyük problemdir.
                                               ra       lem
Son satı okumak için tüm dosyayı
        rı                       taramanıgerekir.
                                          z

                                                                         t”
      Rasgele erişimli dosyalar sabit boyutlu küçük parçalar halinde “kayı isminde
bölümlerden oluş Kayıiçinde bir veri kümesi saklanı Her kayıiçinde “alan” isminde
                ur.     t                           r.        t
daha küçük parçalar vardı
                        r.

      Kayıuzunlukları n belirli olması
          t          nı               sayesinde istenen bilgiye rahatlı gidilebilir. Bu
                                                                      kla
                 leme anlamı gelmektedir. Veritabanıkonusuna bu sayede girmiş
daha etkin veri iş           na
oluyoruz.




                                          33
Ali Can
                                      Ali Can
2344224                                                       Bir
                                      2344224
                           1.Kayı
                                t
T10C                                                          Kayıt
                                      T10C
Mehmet Demirci
2323434
                                      Mehmet Demirci
T11C
                                      2323434
                           2.Kayı
                                t
İ Kı
 dris vanç                                                    Bir
                                      T11C
2323443                                                       Alan
T11C
                                      İ Kı
                                       dris vanç
                           3.Kayı
                                t
                                      2323443
                                      T11C


Metin Dosyaları yapı
              n    sı            Rasgele Erişimli Dosyaları yapı
                                                          n    sı




            Resim 4.3: Rasgele dosyalamada kaydetme iş
                                                     lemi

                                 34
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri
BTT. Modül 17. Yapısal Programlama Temelleri

More Related Content

What's hot

BTT. Modül 12.İşletim Sistemleri Kurulum
BTT. Modül 12.İşletim Sistemleri KurulumBTT. Modül 12.İşletim Sistemleri Kurulum
BTT. Modül 12.İşletim Sistemleri Kurulumdeniz armutlu
 
Dış donanım birimleri
Dış donanım birimleriDış donanım birimleri
Dış donanım birimlerihekul38
 
Dış donanım birimleri
Dış donanım birimleriDış donanım birimleri
Dış donanım birimleriErol Dizdar
 
Tasarımın temel ilkeleri
Tasarımın temel ilkeleriTasarımın temel ilkeleri
Tasarımın temel ilkeleriErol Dizdar
 
Sistem güvenliği
Sistem güvenliğiSistem güvenliği
Sistem güvenliğiOnur Şaner
 
BTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri TemelleriBTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri Temellerideniz armutlu
 
Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Erol Dizdar
 
BTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri DestekBTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri Destekdeniz armutlu
 
BTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUBTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUdeniz armutlu
 
1 sunucu isletim sistemi
1 sunucu isletim sistemi1 sunucu isletim sistemi
1 sunucu isletim sistemiFatih Tüzen
 
Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Erol Dizdar
 

What's hot (16)

BTT. Modül 12.İşletim Sistemleri Kurulum
BTT. Modül 12.İşletim Sistemleri KurulumBTT. Modül 12.İşletim Sistemleri Kurulum
BTT. Modül 12.İşletim Sistemleri Kurulum
 
Dış donanım birimleri
Dış donanım birimleriDış donanım birimleri
Dış donanım birimleri
 
213 gim191
213 gim191213 gim191
213 gim191
 
Dış donanım birimleri
Dış donanım birimleriDış donanım birimleri
Dış donanım birimleri
 
213 gim082
213 gim082213 gim082
213 gim082
 
481 bb0091
481 bb0091481 bb0091
481 bb0091
 
Tasarımın temel ilkeleri
Tasarımın temel ilkeleriTasarımın temel ilkeleri
Tasarımın temel ilkeleri
 
213 gim298
213 gim298213 gim298
213 gim298
 
Sistem güvenliği
Sistem güvenliğiSistem güvenliği
Sistem güvenliği
 
BTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri TemelleriBTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri Temelleri
 
Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Sunucu işletim sistemi 1
Sunucu işletim sistemi 1
 
BTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri DestekBTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri Destek
 
BTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUBTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPU
 
1 sunucu isletim sistemi
1 sunucu isletim sistemi1 sunucu isletim sistemi
1 sunucu isletim sistemi
 
Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Sunucu işletim sistemi 2
Sunucu işletim sistemi 2
 
8-Monitorler
8-Monitorler8-Monitorler
8-Monitorler
 

Viewers also liked

Mayis ayi
Mayis ayiMayis ayi
Mayis ayiBttBLog
 
İşlemci çeşitleri
İşlemci çeşitleriİşlemci çeşitleri
İşlemci çeşitleriBttBLog
 
Mart ayi
Mart ayiMart ayi
Mart ayiBttBLog
 
Ocak ayi
Ocak ayiOcak ayi
Ocak ayiBttBLog
 
Hazi̇ran ayi
Hazi̇ran ayiHazi̇ran ayi
Hazi̇ran ayiBttBLog
 
şUbat ayi
şUbat ayişUbat ayi
şUbat ayiBttBLog
 
Test sorularıı
Test sorularııTest sorularıı
Test sorularııBttBLog
 
Ni̇san ayi
Ni̇san ayiNi̇san ayi
Ni̇san ayiBttBLog
 
Harddisk
HarddiskHarddisk
HarddiskBttBLog
 
Hazi̇ran
Hazi̇ranHazi̇ran
Hazi̇ranBttBLog
 
Eylül ayi
Eylül ayiEylül ayi
Eylül ayiBttBLog
 
Windows sürümleri
Windows sürümleriWindows sürümleri
Windows sürümleriBttBLog
 
Dış Donanım Birimleri
Dış Donanım BirimleriDış Donanım Birimleri
Dış Donanım BirimleriBttBLog
 

Viewers also liked (20)

Mayis ayi
Mayis ayiMayis ayi
Mayis ayi
 
Mayis
MayisMayis
Mayis
 
İşlemci çeşitleri
İşlemci çeşitleriİşlemci çeşitleri
İşlemci çeşitleri
 
Mart ayi
Mart ayiMart ayi
Mart ayi
 
Ocak ayi
Ocak ayiOcak ayi
Ocak ayi
 
Aralik
AralikAralik
Aralik
 
Hazi̇ran ayi
Hazi̇ran ayiHazi̇ran ayi
Hazi̇ran ayi
 
şUbat ayi
şUbat ayişUbat ayi
şUbat ayi
 
Test sorularıı
Test sorularııTest sorularıı
Test sorularıı
 
Ni̇san ayi
Ni̇san ayiNi̇san ayi
Ni̇san ayi
 
Harddisk
HarddiskHarddisk
Harddisk
 
Hazi̇ran
Hazi̇ranHazi̇ran
Hazi̇ran
 
Mart
MartMart
Mart
 
Eylül
EylülEylül
Eylül
 
Eylül ayi
Eylül ayiEylül ayi
Eylül ayi
 
Ocak
OcakOcak
Ocak
 
Eki̇m
Eki̇mEki̇m
Eki̇m
 
Windows sürümleri
Windows sürümleriWindows sürümleri
Windows sürümleri
 
şUbat
şUbatşUbat
şUbat
 
Dış Donanım Birimleri
Dış Donanım BirimleriDış Donanım Birimleri
Dış Donanım Birimleri
 

Similar to BTT. Modül 17. Yapısal Programlama Temelleri

Similar to BTT. Modül 17. Yapısal Programlama Temelleri (20)

BTT. Modül 18. Veri Yapıları
BTT. Modül 18. Veri YapılarıBTT. Modül 18. Veri Yapıları
BTT. Modül 18. Veri Yapıları
 
BTT. Modül 10.Görüntü İşleme Cihazları
BTT. Modül 10.Görüntü İşleme CihazlarıBTT. Modül 10.Görüntü İşleme Cihazları
BTT. Modül 10.Görüntü İşleme Cihazları
 
14-İşletim Sistemleri Gelismis Özellikleri
14-İşletim Sistemleri Gelismis Özellikleri14-İşletim Sistemleri Gelismis Özellikleri
14-İşletim Sistemleri Gelismis Özellikleri
 
BTT. Modül 9. Yazıcılar
BTT. Modül 9. YazıcılarBTT. Modül 9. Yazıcılar
BTT. Modül 9. Yazıcılar
 
BTT.Modül 9. Yazicilar
BTT.Modül 9. YazicilarBTT.Modül 9. Yazicilar
BTT.Modül 9. Yazicilar
 
12.İşletim Sistemleri Kurulum
12.İşletim Sistemleri Kurulum12.İşletim Sistemleri Kurulum
12.İşletim Sistemleri Kurulum
 
10-Görüntü İşleme Cihazları
10-Görüntü İşleme Cihazları10-Görüntü İşleme Cihazları
10-Görüntü İşleme Cihazları
 
11-İşletim Sistemleri Temeller
11-İşletim Sistemleri Temeller11-İşletim Sistemleri Temeller
11-İşletim Sistemleri Temeller
 
11 isletimsistemleritemeller-090313144650-phpapp01
11 isletimsistemleritemeller-090313144650-phpapp0111 isletimsistemleritemeller-090313144650-phpapp01
11 isletimsistemleritemeller-090313144650-phpapp01
 
Portlar
PortlarPortlar
Portlar
 
6-Portlar
6-Portlar6-Portlar
6-Portlar
 
347 ch0013
347 ch0013347 ch0013
347 ch0013
 
482 bk0081
482 bk0081482 bk0081
482 bk0081
 
Fireworks 2
Fireworks 2Fireworks 2
Fireworks 2
 
Nesne tabanlı programlama 4
Nesne tabanlı programlama 4Nesne tabanlı programlama 4
Nesne tabanlı programlama 4
 
Coreldraw
CoreldrawCoreldraw
Coreldraw
 
Vektorel coreldraw
Vektorel coreldrawVektorel coreldraw
Vektorel coreldraw
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
 
213 gim028
213 gim028213 gim028
213 gim028
 
482 bk0082
482 bk0082482 bk0082
482 bk0082
 

More from deniz armutlu

Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1deniz armutlu
 
Dönem sonu işlemleri
Dönem sonu işlemleriDönem sonu işlemleri
Dönem sonu işlemlerideniz armutlu
 
Adobe Photoshop cs5 ı kullanma
Adobe Photoshop cs5 ı kullanma Adobe Photoshop cs5 ı kullanma
Adobe Photoshop cs5 ı kullanma deniz armutlu
 
Flashplatform optimizing content türkçe
Flashplatform optimizing content türkçeFlashplatform optimizing content türkçe
Flashplatform optimizing content türkçedeniz armutlu
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçedeniz armutlu
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçedeniz armutlu
 
Adobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help TürkçeAdobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help Türkçedeniz armutlu
 
Flash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmaFlash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmadeniz armutlu
 
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçeAdobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçedeniz armutlu
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçedeniz armutlu
 
Adobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçeAdobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçedeniz armutlu
 
Adobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmaAdobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmadeniz armutlu
 
Adobe action script 3.0 Türkçe Kitapçık
Adobe action script 3.0 Türkçe KitapçıkAdobe action script 3.0 Türkçe Kitapçık
Adobe action script 3.0 Türkçe Kitapçıkdeniz armutlu
 
Adobe actionscript 3.0 programlama türkçe
Adobe actionscript 3.0 programlama türkçeAdobe actionscript 3.0 programlama türkçe
Adobe actionscript 3.0 programlama türkçedeniz armutlu
 
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım KitapçığıAdobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım Kitapçığıdeniz armutlu
 
Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım KitapçığıAdobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım Kitapçığıdeniz armutlu
 
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçedeniz armutlu
 
Fireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım KitapçığıFireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım Kitapçığıdeniz armutlu
 
Adobe photoshop cs3 tr
Adobe photoshop cs3 trAdobe photoshop cs3 tr
Adobe photoshop cs3 trdeniz armutlu
 
Adobe photoshop CS4 Türkçe Açıklamalı Kitap
Adobe photoshop CS4 Türkçe Açıklamalı KitapAdobe photoshop CS4 Türkçe Açıklamalı Kitap
Adobe photoshop CS4 Türkçe Açıklamalı Kitapdeniz armutlu
 

More from deniz armutlu (20)

Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1
 
Dönem sonu işlemleri
Dönem sonu işlemleriDönem sonu işlemleri
Dönem sonu işlemleri
 
Adobe Photoshop cs5 ı kullanma
Adobe Photoshop cs5 ı kullanma Adobe Photoshop cs5 ı kullanma
Adobe Photoshop cs5 ı kullanma
 
Flashplatform optimizing content türkçe
Flashplatform optimizing content türkçeFlashplatform optimizing content türkçe
Flashplatform optimizing content türkçe
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçe
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçe
 
Adobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help TürkçeAdobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help Türkçe
 
Flash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmaFlash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanma
 
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçeAdobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçe
 
Adobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçeAdobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçe
 
Adobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmaAdobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanma
 
Adobe action script 3.0 Türkçe Kitapçık
Adobe action script 3.0 Türkçe KitapçıkAdobe action script 3.0 Türkçe Kitapçık
Adobe action script 3.0 Türkçe Kitapçık
 
Adobe actionscript 3.0 programlama türkçe
Adobe actionscript 3.0 programlama türkçeAdobe actionscript 3.0 programlama türkçe
Adobe actionscript 3.0 programlama türkçe
 
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım KitapçığıAdobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
 
Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım KitapçığıAdobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
 
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
 
Fireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım KitapçığıFireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım Kitapçığı
 
Adobe photoshop cs3 tr
Adobe photoshop cs3 trAdobe photoshop cs3 tr
Adobe photoshop cs3 tr
 
Adobe photoshop CS4 Türkçe Açıklamalı Kitap
Adobe photoshop CS4 Türkçe Açıklamalı KitapAdobe photoshop CS4 Türkçe Açıklamalı Kitap
Adobe photoshop CS4 Türkçe Açıklamalı Kitap
 

BTT. Modül 17. Yapısal Programlama Temelleri

  • 1. T.C. Mİ EĞİ M BAKANLIĞI LLÎ Tİ MEGEP (MESLEKİ İ M VE ÖĞ EĞ Tİ RETİ Sİ M STEMİ N Nİ GÜÇLENDİ LMESİ Rİ PROJESİ ) Bİ ŞM TEKNOLOJİ Lİİ LERİ YAPISAL PROGRAMLAMA TEMELLERİ ANKARA 2007
  • 2. Milli Eğ Bakanlıı ğ tarafı geliş itim ndan tirilen modüller;  Talim ve Terbiye Kurulu Baş ğnı 02.06.2006 tarih ve 269 sayı Kararı ı kanlı n lı ile onaylanan, Mesleki ve Teknik Eğ Okul ve Kurumları kademeli olarak itim nda yaygı tılan 42 alan ve 192 dala ait çerçeve öğ nlaşrı retim programlarında amaçlanan mesleki yeterlikleri kazandı rmaya yönelik geliş tirilmişöğretim materyalleridir (Ders Notları r). dı  Modüller, bireylere mesleki yeterlik kazandı rmak ve bireysel öğrenmeye ş rehberlik etmek amacı öğ yla renme materyali olarak hazı rlanmı denenmek ve , geliş tirilmek üzere Mesleki ve Teknik Eğ itim Okul ve Kurumları nda ş uygulanmaya baş lanmı r. tı  Modüller teknolojik geliş melere paralel olarak, amaçlanan yeterliğ i kazandı rmak koş ile eğ ulu itim öğ retim sı nda geliş rası tirilebilir ve yapı lması önerilen değ iklikler Bakanlı ilgili birime bildirilir. iş kta  Örgün ve yaygı eğ kurumları letmeler ve kendi kendine mesleki yeterlik n itim , iş ı kazanmak isteyen bireyler modüllere internet üzerinden ulaşlabilirler.  Bası ş ılı lmımodüller, eğ kurumları öğ itim nda rencilere ücretsiz olarak dağtır.  Modüller hiçbir ş lamaz ve ücret karş ğ ıı ekilde ticari amaçla kullanı lı nda satı lamaz.
  • 3. İ NDEKİ Çİ LER AÇIKLAMALAR ....................................................................................................................ii Gİ Ş.......................................................................................................................................1 Rİ ÖĞ RENME FAALİ YETİ 1 ...................................................................................................3 - 1. ALT PROGRAMLAR ......................................................................................................... 3 1.1. Modüller Halinde Programlama ...............................................................................3 1.2. Alt Program Tanı mlama ...........................................................................................7 1.3. Alt Programı Kesmek ve Değ Göndermek ............................................................8 er 1.4. Değ Aktarı ....................................................................................................... 10 er mı UYGULAMA FAALİ YETİ .......................................................................................... 12 ÖLÇME VE DEĞ ERLENDİ RME ................................................................................13 ÖĞ RENME FAALİ YETİ 2 ................................................................................................. 14 - 2. KULLANICI ARABİ Mİ Rİ ................................................................................................ 14 2.1. Kullanı Arabiriminde Pencere Tasarı .............................................................. 15 cı mı 2.2. Örnek Uygulama..................................................................................................... 15 UYGULAMA FAALİ YETİ .......................................................................................... 20 ÖLÇME VE DEĞ ERLENDİ RME ................................................................................21 ÖĞ RENME FAALİ YETİ 3 ................................................................................................. 22 - 3. HATA Gİ DERME.............................................................................................................. 22 3.1. Kod Böceğ Nedir? ................................................................................................. 22 i 3.2. Yazı Hataları m ........................................................................................................23 ş 3.3. Çalı Zamanı ma Hataları ........................................................................................ 24 3.4. MantıHataları k ....................................................................................................... 24 3.5. Adı mlamak ............................................................................................................. 25 UYGULAMA FAALİ YETİ .......................................................................................... 29 ÖLÇME VE DEĞ ERLENDİ RME ................................................................................30 ÖĞ RENME FAALİ YETİ 4 ................................................................................................. 31 - 4. DOSYALAMA .................................................................................................................. 31 4.1. Metin Dosyalar ....................................................................................................... 31 4.2. Rasgele Eriş Dosyalar ...................................................................................... 33 imli 4.3. İ Dosyalar ........................................................................................................35 kilik UYGULAMA FAALİ YETİ .......................................................................................... 37 ÖLÇME VE DEĞ ERLENDİ RME ................................................................................38 MODÜL DEĞ ERLENDİ RME .............................................................................................. 39 CEVAP ANAHTARLARI ..................................................................................................... 40 SÖZLÜK ................................................................................................................................ 41 KOD ÖRNEKLERİ ................................................................................................................42 ÖNERİ LEN KAYNAKLAR.................................................................................................. 49 KAYNAKÇA .........................................................................................................................50 i
  • 4. AÇIKLAMALAR AÇIKLAMALAR KOD 481BB0026 ALAN Biliş Teknolojileri im DAL/MESLEK Alan Ortak MODÜLÜN ADI Yapı Programlama Temelleri sal Programlama dilinde alt program yazı , hata düzeltme ve mı MODÜLÜN TANIMI dosyalama ile ilgili öğretim materyalidir. SÜRE 40/16 ÖN KOŞUL ş ş AkıDiyagramlarımodülünü almıolmak. ş YETERLİ K Alt programlar ve dosyalarla çalımaya hazı k yapmak rlı Genel Amaç ğı Gerekli ortam sağlandında, alt program yazabilecek, kullanı dostu arabirimleri yapabilecek ve cı hata düzeltme yöntemleri ile hatalarıdüzeltebileceksiniz. MODÜLÜN AMACI Amaçlar 1. Alt program yazabileceksiniz. 2. Kullanı arabirimi yapabileceksiniz. cı 3. Programı edip, hataları düzeltebileceksiniz. test nı 4. Dosyaya bilgi yazmayı okumayı ve yapabileceksiniz. EĞİ M ÖĞRETİ Tİ M Bilgisayar laboratuvarı bu ortamda bulunan ve ORTAMLARI VE ş bilgisayar, lisanslı letim sistemi programı akı iş ve DONANIMLARI diyagramı sembolleri ile ilgili panolar. Her faaliyet sonrası o faaliyetle ilgili nda değ erlendirme soruları kendi kendinizi ile değ erlendireceksiniz. Modül içinde ve sonunda verilen öğ retici sorularla edindiğ bilgileri pekiş iniz tirecek, ÖLÇME VE uygulama örneklerini ve testleri gerekli süre içinde DEĞERLENDİ RME tamamlayarak etkili öğ renmeyi gerçekleş tireceksiniz. ş Sı yla araşrma yaparak, grup çalı rası tı maları katı na larak ve ş ölçme ve en son aş amada alan öğ retmenlerine danı arak değ erlendirme uygulamaları gerçekleş nı tiriniz. ii
  • 5. Gİ Ş Rİ Gİ Ş Rİ Sevgili Öğrenci, Her şeyden önce herkes bir programlama dilini öğ renebilir. Bilgisayarıprogramlama yüksek bir zekâ ve matematik bilgisi gerektirmez. Sadece asla vazgeçmeme sabrıve öğrenme isteğyeterlidir. i Programlama bir hünerdir. Bazı insanlar doğ olarak diğ al erlerinden daha iyidir, ama herkes pratik yaparak iyi olabilir. Baş aramamaktan korkmak yerine, kendinizi bu maharete renmek için uğ ı Programlama eğ vererek, öğ raş n. lencelidir, fakat sinir bozucu olabilir ve zamanı zı da boş geçmesine neden olabilir. Bu sebeple bu modülleri takip ederek, en az nın a sıntı en yüksek memnuniyet ile programlamayı reneceğ kı ve öğ iz. ız Bu modül ile kazanacağnı konular alt program yazmak, kullanı cıdostu arabirim yapmak, hata düzeltme yöntemleri ile hatalarıdüzeltme ve dosyalamadı Modülü r. ğz ı bitirdiğinizde anlamadınıyerleri tekrar okuyup uygulayız. nı ş ı Konular kapsamlı olarak, derinlemesine anlatılmamı r. Buzdağ n sadece üstünü tı nı görüyorsunuz. Ne kadar çok uygulama ve araşrma yaparsanı kendinizi o kadar tı z geliş tirirsiniz, ilerletirsiniz. Her programlama dilinin kendine has kuralları bulunmaktadı Bu kurallar kimi zaman r. ı birbirine benzerken kimi zaman farklıklar göstermektedir. Kuralları anlaş r olması lı n lı her zaman programcı tarafı lar ndan istenen bir özelliktir. Siz de bu modülde çeş programlama itli dillerinden örnekler görerek iş özünü kavramanısağ in z lanacaktır. Belli yerlerde geçen araşrma konuları “Önerilen Kaynaklar” kı ndan yardı tı için smı m almayıunutmayı z. nı 1
  • 6. 2
  • 7. ÖĞRENME FAALİ YETİ –1 ÖĞRENME FAALİ YETİ 1 - AMAÇ Mehmet Programıtekrarlanan belli yerlerini alt program hâline getirebileceksiniz. n ARAŞ TIRMA aş ı Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma rlı tı faaliyetlerini yapmalını sı z.  Tek programlama dili ile çoğ istediğ u imizi yapabiliyoruz. Aynıprogramı er diğ dillerde yazmanıamacı olabilir, araşrız. n ne tını  Seri üretim ile üretilen bir malı yapı aş n m amaları araşrarak arkadaş nı nı tı ları za anlatız. Mesela, bir otomobilin üretim aş nı amalarıgibi… 1. ALT PROGRAMLAR Bilgisayarda yazı programlar genellikle bellek ve disk gibi kaynaklarıen az lan tüketecek ş ş larak yapı şprogramlardı Basit ekilde olan, hızlıçalı ve az kod yazı an lmı r. ı programları u kişrahat okur ve anlar. Program büyüdükçe karmaş hâle geleceğ için, çoğ i k i en baş planlı tan hareket etmek gerekir. Daha sonra zaman kaybı olmamasıiçin önceden önlem almamı fayda vardı zda r. lmamalı r. Basit ş Hikâye veya roman yazar gibi, plansı olarak program yazı z dı ekilde ş ş ı ı çalıması lanan programa yeni eklentiler yaptı program karık ve anlaş sağ kça lmaz hâle gelebilir. Kodları z okunması olan çöp kodlara dönüş nı zor memelidir. 1.1. Modüller Hâlinde Programlama Programlamayıkolaylaşrmak için programcı bazı tı lar yöntemler geliş tirmiş bunlar: tir,  Sı komutlar, ralı  Dallanma komutlarıve  Döngü komutlarır. dı 3
  • 8. “Sı komutları ş ana kadar yaptımı programlarda ifade ettik. Bu tip komutlar ğz ı ralı ”u alt alta yazır, en sonunda program sonlandılı lı rır. Pozitif dilinde sıralı komut örneği BAŞLA Ad:metin; yazstb(quot;İ Pozitif Programı zquot;); lk mı Ad=bilgigirişi(quot;İsminizi giriniz quot;); yazstb(quot;Selam, quot;+Ad); SON Tabii ki bir program, değ en durumlara göre baş iş iş ka lemler de yapı labilmelidir. Bunu er” “Eğ komutu ile yapabiliriz. Pozitif dilinde dallanma komut örneği BAŞLA Ad:metin; yazstb(quot;Eğ kullanı quot;); er mı Ad=bilgigiriş i(quot;İsminizi giriniz quot;); Eğer(Ad=quot;Aliquot;); { yazstb(quot;Selam, quot;+Ad); } değilse(Ad<>quot;Aliquot;); { yazstb(Ad+quot; sen de kimsin?quot;); } SON Program içerisinde belli işlemlerin devamlıtekrar edilerek iş lenmesi gerekebilir. “Döngü, İken” komutları yapabiliriz. Bunları ile Pozitif dilinde döngü komut örneği BAŞLA i:sayı; yazstb(quot;Döngü komutu, çift sayılar geriye doğ sı ru ralıquot;); döngü(i=10,i>=0,-2); { yazstb(i); } SON Diğ programcı sizin programızı er lar nı anlayabilir ise, kendileri de değ tirebilirler ve iş geliş tirebilirler. Tabi bu kural sizin için daha çok geçerlidir. Tek küme hâlinde tüm programı yazmak kumdan kale yapmak gibidir. Eninde sonunda bir yerden çökecektir. Büyük programlar genellikle küçük programları (alt program da denir) birleş n mesi ile yapır. Alt programları ka programcı yazabilir. En sonunda çalı ğndan emin şı lı baş lar tı ş olunan küçük programlar kopyala yapı r ile birleş tı tirilir. Bunu bir evin tuğlalarına benzetebiliriz. Birine bir ş olunca tüm ev çöküp gitmez. Bozuk kım tekrar yazı ey sı larak yerine konur. Bu yöntem ile programı za olan güvenirliğartırı mı i rız. 4
  • 9. Alt programlara “modül” diyebiliriz. Alt programlar hâlinde yazı larak yapı lan programlamaya “modüler programlama” denir. Şimdiye kadar yapı programlar tek parça halindeki “ana program”dan oluş lan uyordu. Sadece bir çeş işgörev yapabilir hâlde idi. it , Sı kullanı komut kümelerini alt program hâline getirebiliriz. Bu alt programlar k lan kod yazı nda genellikle “ana program”ı üst kı na yazır. Değ ken adlandı mı n smı lı iş rması ile ı aynı kurallar çerçevesinde isimlendirilir ve alt programa neler yollanacağ, alt programdan neler döneceğbelirlenir. Açı i klama satı ile önemli noktaları rları belirtebilir, alt programların ne iş yaradıı anlatabiliriz. ğnı e Başla Hesapla 2 sayı sonuc = a^4 – 2*a*b giriniz: a, b Hesapla Geri Dön Sonucu göster Bitir Ş 1.1: Alt program yazmak ekil 1. Baş (Ana Program) la 1. Hesapla 2. Oku; a, b 2. sonuc = a ^ 4 – 2 * a * b 3. Hesapla 3. Geri Dön 4. Yaz; sonuc 5. Bitir Örneklerdeki gibi alt programlar aslı ana programda olduğ gibi, belli bir nda u baş ç ve geri dönüşbloğ içinde olan programlardı Alt programlar çağ lmadı langı u r. rı kları ş lamazlar. sürece çalı rı tı 5
  • 10. Alt programı ismini gerektiğyerlere yazı çağ ğ zda program akı o program ıı şı n i p, rdı mı lemler tamamlanı ana program kaldıı ğ yerden devam kı na yönelir. Alt programda iş smı nca eder. Alt programlarıayrıdosya olarak kaydetmeyiz. Hâlâ tek dosya hâlinde, ana program ve alt programları zdan oluş bir programı z vardı mı an mı r. İ olarak bir alt program ekrana sıacak kadar uzun olmalır. Böylece anlaş r, ğ ı deal dı lı okunaklı hata ayı ve klaması kolay programlar yazabiliriz. Hatalıolan satı n tespiti bu rları ı sayede kolaylaşr. Not:Şekillerdeki siyah olmayan diğ mavi ve kı zırenklerdeki oklarış er rmı ema çizerken sizin yapmanı gerek yoktur. Alt programa gidiş dönüş belirtmek için yapı şr. za ve ü lmıtı Ş 1.2: “ Crocodile Technology” programı alt program yapı ekil ile mı dillerde alt program kelime olarak fonksiyon ile aynı Bazı anlamdadı C dilinde r. sadece fonksiyon yazabilirsiniz. Basic dilinde ise prosedür ve fonksiyon yapı benzer mı mantı yazır. Terimler değ ik olsa da temel aynır. kla lı iş dı  Prosedür: Bir iş bloğ çalı rır, ama değ döndürmez. ş lı lem u tı er  Fonksiyon: İçine değ yollanı iş er r, lenir ve kendi adı bir sonuç değ na eri döndürür. 6
  • 11. 1.2. Alt Program Tanı mlama Her alt programı yaptıı i kı ifade eden uygun bir ismi olmalı r. İ ğ iş saca n dı çinde en az bir satı komut bulunan bu alt programlara “kendi tanı mladıı z” komutlar diyebiliriz. ğmı r Önceki derslerde gördüğ ümüz matematik ve metin komutlarıise programlama dilinde tanı hazıalt programlardı mlı r r. ğz ı Yazdı mı mini programlarda bazı değ ön erlerin girilmesi gerekebilir. Bunu bayrak ş ı yarındaki atletlerin birbirlerine bayraklarıvermelerine benzetebiliriz. Genellikle gönderilen bilgileri parantez içine alız. rı Bir alt programa birden fazla parametre yollanabilir. Parametreler aslı bildiğ nda imiz değ kenlerdir. İ iş simlendirme ve tür seçimini düzgün yapmamıgereklidir. z Klasik programlama örneğ i: … Oku; quot;Öğrencinin adı giriniz quot;, öğ nı rAd Oku; quot;Öğrencinin soyadı giriniz quot;, öğ nı rSoyad Oku; quot;Öğrencinin diğ bilgilerini girinizquot;, öğ er rDetay Yaz; öğrAd & öğrSoyad & öğrDetay … Oku; quot;Velinin adı giriniz quot;, veliAd nı Oku; quot;Velinin soyadı giriniz quot;, veliSoyad nı Oku; quot;Velinin diğ bilgilerini girinizquot;, veliDetay er Yaz; veliAd & veliSoyad & veliDetay … Tekrar eden kımları sı modüler (prosedür) hâle getirelim: Prosedür VeriGirişi Oku; quot;Kişinin adı giriniz quot;, kiş nı iAd Oku; quot;Kişinin soyadı giriniz quot;, kiş nı iSoyad Oku; quot;Kişinin diğ bilgilerini girinizquot;, kiş er iDetay Yaz; kişiAd & kişiSoyad & kişiDetay Prosedür Bitti Başla Yaz; quot;Öğrenci içinquot; VeriGirişi Yaz; quot;Veli içinquot; VeriGirişi Bitir 7
  • 12. 1.3. Alt Programı Kesmek ve Değ Göndermek er ş Döngülerde olduğ gibi, bazıartlar meydana geldiğ u inde alt programı sonlanı ana n p, programa dönmesi gerekebilir. Genellikle quot;çış exitquot; komutu ile alt programlar istenilen kı– yerden bitirilebilir. Başla Hesapla 2 sayı Evet “0’a bölünemez” giriniz: a, b b=0 hata mesajını göster Hayı r Hesapla sonuc = a / b sonuc değerini göster Çı ş kı Geri Dön Bitir Ş 1.3: Alt programdan istenmeyen ihtimalde çı ekil kmak  ekil 1.3’deki örnekte acaba “b” değ keni, 0 olunca ekrana ne sonuç yazır? Ş iş lı Alt program içine değ gönderme (parametreli prosedür) örneğ er i: Prosedür VeriGirişi(Metin mesaj) Oku; mesaj & quot; adı giriniz quot;, kiş nı iAd Oku; mesaj & quot; soyadı giriniz quot;, kiş nı iSoyad Oku; mesaj & quot; diğ bilgilerini giriniz quot;, kiş er iDetay Yaz; kişiAd & kişiSoyad & kişiDetay Prosedür Bitti Başla VeriGirişi(quot;Öğrencininquot;) VeriGirişi(quot;Velinininquot;) Bitir Alt programdan ana programa değ gönderme (fonksiyon) örneğ er i: 8
  • 13. Örnek 1: Fonksiyon VeriGirişi(Metin mesaj) Oku; mesaj & quot; adı giriniz quot;, kiş nı iAd Oku; mesaj & quot; soyadı giriniz quot;, kiş nı iSoyad Oku; mesaj & quot; diğ bilgilerini giriniz quot;, kiş er iDetay VeriGiriş = kiş i iAd & kişiSoyad & kişiDetay Fonksiyon Bitti Başla Yaz; VeriGirişi(quot;Öğrencinquot;) Yaz; VeriGirişi(quot;Velininquot;) Bitir Örnek 2: Fonksiyon Toplama(Sayısal sayı sayı 1, 2) Toplama = sayı + sayı 1 2 Fonksiyon Bitti Fonksiyon Bölme(Sayısal sayı sayı 1, 2) Eğ sayı = 0 İ er 2 se Bölme = quot;Hataquot; Çı ş //alttaki bölme iş kı lemi yapılmamalı r dı Eğ Bitti er Bölme = sayı / sayı 1 2 Fonksiyon Bitti Başla Yaz; Toplama(2, 4) //Ekrana 6 yazar Yaz; Bölme(3, 0) //Ekrana quot;Hataquot; yazar Bitir Örnek 3: Prosedür Onaylama(Sayısal Giriş) Eğ Giriş <= 0 İ er se Yaz; quot;0 veya daha düş rakam girilemez!quot; ük Eğ Bitti er Prosedür Bitti Başla Sayısal sayı sayı sonuç 1, 2, Oku; quot;Alınan malı miktarı giriniz quot;, sayı n nı 1 Onayla(sayı1) Oku; quot;Alınan malı fiyatı giriniz quot;, sayı n nı 2 Onayla(sayı2) sonuç = sayı * sayı 1 2 Yaz; quot;Ödenmesi gereken fiyat quot;,sonuç Bitir 9
  • 14. Örnek 4: Fonksiyon Onaylama(Metin a, b) Eğ (a = quot;Yöneticiquot;) Ve (b = quot;qweasd_123quot;) İ er se Onaylama = quot;Tamamquot; //Eğ yönetici ise onay verilir er Eğ Bitti er Fonksiyon Bitti Başla Metin isim, ş ifre, sonuç Oku; quot;Kullanı isminizi giriniz quot;, isim cı ifrenizi giriniz quot;, ş Oku; quot;Ş ifre sonuç = Onayla(isim, ş ifre) Eğ sonuç = quot;Tamamquot; İ er se Yaz; quot;Kayıtlara ulaşabilirsinizquot; Değilse Yaz; quot;Kayıtlara ulaşamazsı z!quot; nı Eğ Bitti er Bitir 1.4. Değ Aktarı er mı er” Alt programa veri ya “değ ya da “referans” olarak aktarır. Parametreler ana lı ş sağ ı program ile alt program arası veri akını layan bir köprü kurulması sağ nda nı lar. Değ olarak aktarmak demek, veriyi gönderen değ ken ile veriyi alan değ kenin er iş iş hafı farklı zada yerlerde olmasır. Araları bir yalım vardı Ana program ile alt program dı nda tı r. şı arası tek yönde veri akı vardı nda r. Not: İ değ kenin aynı iş ki iş değ kenmiş gibi değerinin güncellenmesi istenir ise Basic dilinde “ByRef, ByVal” veya Pascal “Var” gibi terimleri kullanır. C dilinde ise iş aretçiler ile değ lı erleri güncel tutabiliriz. Ana program ile alt program arası çift yönlü veri alı nda ş i için dildeki uygun yöntemi veriş kullanmanıgerekir. z Ana Program Modül 1 Modül 2 Modül 3 Ş 1.4 : Alt programlar ve ana programı ş ekil n eması mlanan değ kenlere “yerel değ kenler”; kod kı nda en üstte iş Alt programda tanı iş smı tanı , tüm programda geçerli değ kenlere “global değ kenler” denir. Alt programlar ile iş mlı iş global değ kenler ile de haberleş sağ iş me lanabilir. Fakat program büyüdükçe, çok sayıda ı ı değ ken tanı iş mlamak zorunda kalı nacağiçin, bu daha karmaş bir yöntem haline gelir. k Parametrelerde tanı mlanan değ kenler, yerel değ kenler ile aynı iş iş ömre sahiptir. Alt program bitince, hafı zadan silinirler. Global değ kenler ise program kapanı hafı iş nca, zadan silinirler. Aş ı ağdaki örnekte global değ kenler ile alt program ve ana programı iş n haberleş vardı mesi r. 10
  • 15. Örnek: Sayısal notu Metin derece Prosedür KademeHesabı Eğ notu > 80 İ er se derece = quot;Aquot; Çı ş //değ aktarı bitince prosedürden çı lı kı er mı kı r Eğ Bitti er Eğ notu > 60 İ er se derece = quot;Bquot; Çı ş kı Eğ Bitti er Eğ notu > 40 İ er se derece = quot;Cquot; Çı ş kı Eğ Bitti er Eğ notu > 20 İ //Son ihtimalde zaten prosedürden çı lı er se kı r derece = quot;Dquot; Değilse derece = quot;Equot; Eğ Bitti er Prosedür Bitti Başla Oku; quot;Öğrenci notunu girinizquot;, notu KademeHesabı Yaz; derece Bitir 11
  • 16. UYGULAMA FAALİ YETİ UYGULAMA FAALİYETİ İlem Basamakları ş Öneriler 1. Sı olarak program komutları akı  nı ş ralı Mesela, kullanıdan doğ yını cı um lı isteyip ş ı eması yapı z. nı nı ekrana yaş bulan program yapabilirsiniz nı  2. Dallanan programlama yöntemi ile Mesela, kullanıya sevdiğ spor türü cı i ğı program yazı z. nı sorulup ekrana kaç kişile oynandını i gösteren programı yapabilirsiniz. 3. Döngü komutları program yazı z.  ile nı Kullanıdan 5 adet not girişistenir ve cı i ekrana bu sayı n ortalaması ları gösterilebilir.  ş lan 4. Programda sı çalı rı komut k tı Hangi sayı n çarpı tablosu ekrana nı m ı alt blokları bir alt programa toplayız. nı nı çıkacağnı program hâlinde yapabilirsiniz.  İ seçiminde programlama dilinin 5. Alt programlara uygun bir tekil isim sim veriniz. komutları (File, Not…) kullanmamalız. nı yı  6. Bir alt programa değ yollayı z ve er nı Girilen bir il plaka değerinin uygun olup ğ ı değ döndürünüz. er olmadı (1 ile 81 arasıdeğ) erini kontrol eden programı nı yapı z. 12
  • 17. ÖLÇME VE DEĞ ERLENDİ ERLENDİRME ÖLÇME VE DEĞ RME Ad(1) OBJEKTİ TESTLER (ÖLÇME SORULARI) F Aş ı sorulardan, sonunda parantez olanlar doğ / yanlı şsoruları r. Verilen ağ daki ru dı ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı ş nı ı sorularda uygun şı ru kkı işaretleyiniz. 1. Bir programıbir baş cı n langı vardı birçok kere sonlandılması r, rı olabilir. ( ) 2. ğz ı Diğ programcı n yaptımıprogramları zı er ları mı anlaması gerek yoktur. ( ) na 3. Her programıbir ana program kı vardı ( ) n smı r. 4. Hangisi ile değ döndüren bir alt program yapabiliriz? er A) Prosedür B)Fonksiyon 5. İiçe komut yazı nda ne yapmamalı z? ç mı yı A) Tüm komutlar aynı hizada yazı dı lmalı r B) Blok baş ç ve bitiş langı komutları yapmalı z nı yı C) İ kapatı lk lması gereken blok, en son yapı blok olmalı r. lan dı D) Blok açma ve kapatma sayı birbirine eş olmalı r. ları it dı 6. Hangisi yapı bir programlama komutu olarak kabul edilmez? sal A) Döndür B) Eğ er C) Git D) Durum 13
  • 18. ÖĞRENME FAALİ YETİ –2 ÖĞRENME FAALİ YETİ 2 - AMAÇ Programıza kullanı dostu (user friendly) arabirim yapabileceksiniz. nı cı ARAŞTIRMA aş ı Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma rlı tı faaliyetlerini yapmalını sı z.  ş Bilgisayarı zda kurulu programlardan hangisinin arabirimi size daha kullanı nı lı geliyor?  MS-DOS pencereleri, Windows pencereleri ve web sayfaların ara yüzlerini nı ı rız, karş tını farkları belirleyiniz. laş nı  Oyunlarda, oyuncu ile diğ nesneler (para çekme makinesi, bilgisayar, el er ,ş bilgisayarı ifreli kapı lar…) arası nasıiletiş kuruluyor, örnek araşrı z. nda l im tını 2. KULLANICI ARABİ Mİ Rİ cı Kullanıcıile program arası iletiş kurulması nda im nısağ layan ara yüze “kullanı arabirimi” denir. Genellikle programı arabiriminde bilgilendirme nesneleri ve bilgi giriş n i için gerekli olan nesneler bulunur. Çevremizdeki birçok araç da bir arabirime sahiptir. Mesela asansör düğ ve gösterge kı , merdiven otomatiğ müzik seti, televizyon, me smı i, ş ı fotokopi makinesi… Bazı çok kullanı ve kullanı dostu iken, bazı çok karmaş ları lı cı ları k olabilir. 14
  • 19. 2.1. Kullanı Arabiriminde Pencere Tasarı cı mı İ ş ş letim sisteminizdeki pencereleri incelediyseniz, bazıkullanı noktalar dikkatinizi lı çekmiş tir.  ı Pencereler olabildiğ sade ve anlaş r bir yazı dili ile tasarlanı ince lı m r.  Her pencerenin başk çubuğ lı unda programıismi ve yardı bilgiler yazıdı n mcı lır.  Kapat veya simge durumuna küçültmek için düğ meler vardı r.  ğ Pencereye sımayan nesneleri kaydı çubukları denetleyebiliriz. rma ile  Durum çubuğ ile kullanıya ekstra bilgilendirme sağ r. u cı lanı  Benzer görevli düğ meler sağtarafta veya pencerenin altı yan yana hizalı r. nda dı  Menüler sol üst kenardan seçilebilir  Belli yerlerde sağ menüleri ile hı iş tuş zlı lemler yapı labilir.  Klavye kı sayolları fare kullanmadan hı iş yapı ile zlı lem labilir.  Klavye ve fare birlikte kullanı kolay iş yapı larak lem labilir.  Kritik anlarda kullanıdan onay istenir. cı  cı rahatsıetmeyecek ş Hata mesajları kullanıyı z ekilde sunulur.  ğ ı Fare simgeleri ile programıne tür iş yaptı belirtilir. n lem  Kullanınıdikkatini çekmesi için uygun renkler ve yazı seçilmiş cı n tipi tir.  Kullanınıuygulamayı cı n özelleş tirebilmesi için seçenekler sağ r. lanı Pencerenizin (form da denir) boyutları ilk açış ve lı yeri gözü rahatsıetmemelidir. Kullanı en az hareket veya z cı ini zlıbir ş ekilde elde etmelidir. Fitts* çaba ile istediğ hı kanunu bunu belirlemiş tir. Şimdiye kadar yapı görsel programlama örneklerinde genellikle Visual Basic ve lan Yunus dili kullanı şr. Birçok programlama dili görsel arabirim yapabilmemize imkân lmıtı sağ Sı kullanı programlama dillerine diğ örnekler Delphi ve Visual C’dir. lar. k lan er İ ş ı letim sisteminden bağ z yazım yapmak isterseniz, Java, Python ve web msı lı programcığ ıile ilgilenebilirsiniz. Ş lı imdilik burada Visual Basic ile arabirim oluş turma ı denemesi yapacağz. 2.2. Örnek Uygulama Yeni bir “Windows Uygulamasıaçalı İ adı projenizin adı ” m. lk mda sorulur. Varsayı lan isimle bı rakabilirsiniz. Ş ş imdilik içinde program kodu olmayan, sadece görüntü olarak çalı bir program an yapalı Ş ana kadar kod yazı ile ilgili birçok örnek yaptı görüntü ile ilgilenmemiş m. u mı k, tik. mladıığergonomi ile ilgili kitabı bir iş tamamlamak için gerekli * Paul Fitts, 1954 yında yayı lı nda, lemi hareketleri formül hâlinde belirlemiş tir. 15
  • 20. İ düş ı zdı lk üneceğ imiz konu, ne ile ilgili program yapacağmı r. Örneğ dosya, düzen in ve yardı menüsü olan basit bir not defteri tasarlayalı Boşformu uygun bir boyuta m m. getirdikten sonra gerekli nesneleri “Toolbox” penceresinden alı yoruz. Nesnelerimiz:  Button1: Kapat düğ mesi  Combobox1: Dosya türü seçmek için (içinde metin ve zengin metin yazı yor)  Label1: “Dosya türü” yazı sı  RichEdit1: Not defterinin asınesnesidir, içine yazı lacak kımdı l yazı sı r  StatusStrip1: “İ programı z” yazı lk mı lı  MenuStrip1: Ana menüyü bununla hazı ı rlayacağz  ContextMenuStrip1: RichEdit1’e sağ menüsü ekleyeceğ tuş iz Resim 2.1: Yeni bir proje açmak Nesneler ve özellikleri çok sayı olduğ için burada tek tek özelliklerini da u ı anlatamayacağz. Deneme yanı ile çok güzel özellikler keş lma fedebilirsiniz. ş il Basit bir not defterinde ne çok nesne varmıdeğ mi? Kim bilir kod kı kaç satı r, smı rdı raş ş ya da programcı kaç saat program ile uğ mı r. Saatlerce uğ an programcıprogramı tı raş , eğ kendi isteğile ücretsiz olarak yayı yor ise çabaları takdir etmek, maddi ve manevi er i nlı nı olarak destek vermek gereklidir. Programcı ticari olarak program yazı ama yazımıkaçak , yor, lı yollardan, kanuni olmayan yollar ile çoğ lı ise, hem programcı altıyor hem de kullanı zarar görür. Yazımları da diğ ürünlerdeki gibi, garantisi, cı lı n er destek ve yükseltme seçenekleri vardı Kaçak olarak kullanı r. lan yazımda bu hizmetler yoktur. Aynı lı haklar müzik, kitap, resim ve film ş gibi üzerinde emek harcanmıürünlerde de geçerlidir. 16
  • 21. Resim 2.2: İte programı zı ilk hâli olan boş form ş nın bir Resim 2.3: Programı tasarı hâli n m 17
  • 22. Resim 2.4: Programı zı çalı rı ğan mın ş ldıı tı Görüntü olarak hazı hâle gelince artı programlama kı na geçilebilir. Tüm r k smı nesneleri, tüm komutlarıkullanmanıgerekmez, zaten önemli olan bu değ z ildir. Çok sevilen programlarıincelerseniz bazı nı çok sade olduğ ları n unu görürsünüz. Mesela “Biliş im Sözlüğ gibi. Sadece aranacak kelime giriliyor ve anlamı ediliyor. ü” elde Metin kutusu, düğ etiket, resim, onay kutusu, açır kutu, liste kutusu, radyo me, lı düğmesi, menüler, grup kutusu web siteleri dâhil her programda genelde vardı r. Resim 2.5: Sı kullanı nesneler k lan 18
  • 23. Resim 2.6: Bir alarm ve ıtı sistemi arabirimi yapı ; akış sıcı mı şeması ve resmini inceleyiniz nı 19
  • 24. UYGULAMA FAALİ YETİ UYGULAMA FAALİYETİ İlem Basamakları ş Öneriler  Proje ilk açı ğ boş form vardı ı 1.Yeni bir proje açı z. nı ldında bir r.  2.Pencerenin boyut ve koordinatları nı Çok büyük veya çok küçük olmamalır. dı  uygun hale getiriniz. Ekranıtuhaf bir yerinde açı n lmamalır. dı  Diğ ekran çözünürlüklerinde nası er l göründüğ kontrol ediniz. ünü  3.Pencere ve içindeki nesneleri uygun Zırenkler kullanı z. Siyah ile turuncu, sarı t nı bir ş ekilde renklendiriniz. ile kahverengi gibi…  Siyah ile gri, yeş ile mavi çok okunaksı il z olabilir.  4.Kullanıya yardı kı yol cı mcı sa Baş bir programdaki menünün benzerini ka menüleri tasarlayı z. nı yapmayı deneyebilirsiniz.  5.Pencere üzerine temel kontrolleri Nesneleri form üzerine ekleyerek deneyiniz. ekleyiniz.  Bir düğ 6.Kontrollere program yazı z. nı meye basit bir komut ekleyiniz. 20
  • 25. ÖLÇME VE DEĞ ERLENDİ ERLENDİRME ÖLÇME VE DEĞ RME Ad(1) OBJEKTİ TESTLER (ÖLÇME SORULARI) F Aş ı sorulardan, sonunda parantez olanlar doğ / yanlı şsoruları r. Verilen ağ daki ru dı ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı ş nı ı sorularda uygun şı ru kkı işaretleyiniz. 1. MS-DOS uygulamaları kullanı arabirimi yoktur. ( ) nda cı 2. Kullanı arabirimi herkesin anlayacağş ıekilde sade olmalır. ( ) cı dı 3. Ergonomik program olmaz, istediğimiz biçimde form tasarlayabiliriz. ( ) 4. Kullanı arabirimi yapı nda hangisi yapı cı mı lmamalı r? dı A) Kullanı hatalar mesajları görmemelidir. cı nı B) Kullanıya devamlımesaj kutuları soru sormamalır. cı , ile dı C) Kullanı uygulamayı cı özelleştirebilmelidir. ş ğ rmalız. lı ı D) Gizli kı sayollar yaparak kullanı lı artı yı 5. Hangi dilin görsel programlama sürümü yoktur? A) C B) Pascal C) Basic D) Tupol 6. Hangi nesne ile yazıolarak giriş lamaz? yapı A) Metin kutusu B) Açır kutu lı C) Yazı kutusu D) Liste kutusu 21
  • 26. ÖĞRENME FAALİ YETİ –3 ÖĞRENME FAALİ YETİ 3 - AMAÇ Programda oluş hataları an giderme yolları öğ nı reneceksiniz. ARAŞ TIRMA renci, bu faaliyet öncesinde hazı k amaçlıaş ı Sevgili öğ rlı ağda belirtilen araşrma faaliyetlerini yapmalını tı sı z.  hatalar vardı Ş Sadece yazımda mı lı r? imdiye kadar meydana gelen donanı hataları m nıaraşrı z. Mesela, 1994 yında intel Pentium tını lı işlemcilerde FDIV bölme hatası bulunmuştu.  Bilgisayarda oluş ilginç hata mesajları araşrı z. Mesela, çöken bir iş an nı tını letim sisteminde (mavi ekran) neler yazı olabilir? yor 3. HATA Gİ DERME ş labilir, yanlıyere yazı ş ş Programda bir komut yanlıyazı labilir, bir satıyanlı kla iptal r lı ı bilemez ve program çöker. Problemli edilmişolabilir. Bilgisayar bu durumda ne yapacağnı programlara, böcekli program da denir. 3.1. Kod BöceğNedir? i Birçok böcek zararsı görünen küçük problemlere sebep olabilirler. Asısorun olan z l ş na engel olanlardı Bu böcekler programı son hâlinin böcekler, tüm programı çalı n ması r. n ş satı(piyasaya çıkma) tarihini erteleyebilir. Bir böceğ oluş nıbirçok sebebi olabilir: in ması n  Yazı hatalarıKomutun yanlıyazı , unutulan noktalama iş m ş lması : aretleri gibi derleyicinin hemen bulduğ kolay düzeltilebilen hatalardı u, r.  Çalı anı şma hatalarıProgram hatası derlendikten ve çalı rı ktan sonra ş ldı : z tı meydana gelen hatalardı Genellikle kullanını istenmeyen veri girmesi r. cı n sonucu oluş Programcı ur. önlemini önceden almalı r. dı  Mantı hataları Program normalde çalıyor gözükür, ama istenmeyen sonuç k ş ı : üretir. Hatayı düzeltmek veya oluş nı engellemek, programcı n ması nı programlama yeteneğ bağ dı ine lı r. 22
  • 27. 3.2. Yazı Hataları m Yazı hataları, dikkatle kodları m nı gözden geçirerek ve program derlenirken verdiğ i hata mesajı iyi inceleyerek çözebilirsiniz. nı Resim 3.1: Pascal derleyicisi neden hata mesajıvermiş tir? Derleyici genellikle hatalıyere imleci getirerek, düzeltmenizi bekler. Resim 3.1’deki gibi hatanı kodu ve türünü belirtir. Ama hata mesajı n verilmeyen hatalarda ne olacak? Aş ı hikâyeyi okuyunuz. ağ daki Yazı Hatası m 1962 yında NASA, Venüs gezegenini incelemek için “Mariner 1” adlıuydu lı ı gönderdi. Uyduyu taş roket hatalı izlemeye baş yan rota lamasıüzerine, patlatı lmak zorunda kalı . ndı ş Bir hikâyeye göre, bu bir “Döngü”den kaynaklanmı . Normalde 3 kere dönmesi tı ş gereken döngü, basit bir yazı hatası m sebebi ile hataya yol açmı . tı FOR I = 1.3 'I değ kenine 1.3 değ iş erini atar FOR I = 1,3 'I döngü değ kenidir, 1’den 3’e kadar döngü yapı r iş lı Bu muhtemel hatalıkomut kullanı NASA’nı milyon dolarlı roketi kaybetmesine mı n k sebep olmuş tu. Sı yapı bir hata da değ ken isimlendirmesinde yapır. Program büyüdükçe, üst k lan iş lı ş satı rlarda kullanı değ ken adı yanlı kla diğ yerlerde farklıkullanı lan iş , lı er labilir. Garip erlerle karş ı z değ ken isimlerini kontrol ediniz. Aslı kı ve ş ı rsanı değ laş iş nda sa ifreli gibi değ ken adı iş vermemek en iyisidir. Sağ k lı ş Therac–25, radyasyon ile tedavi makinesi olarak tasarlamı . Hastalara yavaş tı yavaş ı radyasyon veriyordu. Aş radyasyon verilmemesi için yazım ile denetlenen bir güvenlik rı lı mekanizması vardıAma yazımda “ölümcül” bir hata . lı vardı. ş Makinenin 2 durumlu çalı prensibi vardıX ma : ını elektron ınıX ını ş ve ı ş. ı ş durumu, yüksek seviye ı enerji seviyesine sahipti. Yüksek seviye enerji, şı elektron durumu ile dengelenmeye çalıyordu. Yanlı kla X ını ş ş durumunda kalı nca, hastalara aş ı ı lı nı rı radyasyon verilerek yanı ve ardı klar ndan ölüme sebep olunabiliyordu. Sonunda hata bulundu, ama birçok hasta için artıçok geçti! k 23
  • 28. 3.3. Çalı Zamanı şma Hataları ş Çalı zamanı ma hataları sinsidir. Programcı çok programı test etmemiş hatayı iyi ise, kullanını keş cı n fetmesine fı vermişdemektir. Test etmek için kendimizi kullanı nı rsat cı n yerine koyup, her değ iklikten sonra bol bol denemeler yapmamı gereklidir. Uç değ iş z erler denenmelidir. Yaş bilgisinin girilmesi için 203 bin gibi bir sayıbir de sır rakamı deneyin. Hatta , fı nı negatif ve ondalı sayı deneyin. Bakalı ne sonuçlar veriliyor: klı ları m Visual Basic dilinde örnek Private Sub Button2_Click Dim yas As Byte 'Byte değ ken 0-255 arası değ alı iş er r yas = TextBox1.Text ız MessageBox.Show(quot;Yaş nı quot; & Val(yas)) End Sub Hata sebebi Resim 3.2: Programı değ test erleri ile deniyoruz 3.4. Mantı Hataları k Mantı hataları n tespiti çok zordur. Parantez hatasıunutulan karakterleri bulmak k nı , ş daha kolaydı Hatta programı zı edip çalı zamanı r. nı test ma hatalarırahatlı bulunabilir. kla yazarken doğ kabul ettiğ komutlar, aslı baş ş ş ı Programı ru iniz nda ka ekilde çalıyor mlama ve iz sürme” teknikleri ile hatalar olabilir. Bu hatalarıgidermek için “Adı yakalanmaya çalılı ş r. ı 24
  • 29. Stratejik Hata 1982 yında İ lı ngiltere ile Arjantin arası nda yapı lan ı nda, 37 yı ilk kez İ Falkland adalarısavaş lda ngilizler gemi kaybetmiş lerdi. Her iki taraf Fransı ürünü olan Exocet füzeleri z kullanıyordu. H.M.S. Sheffield isimli gemi, üzerine gelen düş man füzelerini dost sanarak, hava savunma sistemini geçmelerine izin verdi. Gemi birçok yönden gelen füzelerle vuruldu. Kontrol odası yangı çı . Mürettebattan 20 asker nda n ktı öldü, 27 asker yaralandı . 3.5. Adı mlamak ı nı lar. Adı Satıolarak adı r mlamak programı daha iyi anlaş n lması sağ mlama sayesinde zlı ş normalde çok hı çalı programıyavaş an , yavaş da duraklatı ya larak izleyebiliriz. Basic dilinde adı mlama komutları :  Run: Çalı r ş tı  Break All: Çalı rmaya ara ver veya kı ştı r  Stop: Programı tamamen durdur  Step Into: Adı adı çalı rş mm tı  Step Over: Alt programlara girmeden adımla  Step Out: Alt programdan çı p, hı ca ana kı zlı programa dönülür, adımlamaya devam edilir Adı mlarken ve değ kenleri izlerken genellikle hatanı gözden kaçmasımümkün iş n unuzu renklendirilen satı anlayabilirsiniz, ş olmaz. Adı mlama sı nda nerede olduğ rası rdan u anda 9. satı program donmuş ş rda bir ekilde bekliyor: Resim 3.3: Adı mlama ve değ kenleri izleme iş Çok uzun programlarda ise hatanı olduğ tahmin edilen satı kadar adı n u ra mlamak yerine “durak noktaları kullanır. ” lı 25
  • 30. Hatanıolduğ tahmin edilen yere yakı “durak noktası eklenir.† n u n ”  ş lı Program normal çalı rır. tı  “Durak noktası gelindiğ ”na inde, programlama diline otomatik olarak dönülür ve o satırenklendirilir. r  ş Bundan sonrasısize kalı ister adı yor, mlamaya devam edin, ister “Çalı r” tı ş na devam edin. komutu ile tekrar programıçalı n ması Resim 3.4: Kı zı rmı renkli kım “durak noktasıolan bir satı r sı ” rdı Resim 3.5: “ Command Window” kullanı ‡ mı Not: İ sterseniz “çalı anı – Run Time”, değ kenler üzerinde oynama yapabilirsiniz. şma nda iş Eğ programlama dilinde böcek ayı er klama imkânı kadar kolay değ ise, daha basit bu il yöntemler deneyebilirsiniz. Mesela hatalıyere yakı ekrana değ ken değ n, iş erini bir mesaj ile gösteren komut eklenebilir. Programdaki hata giderildikten sonra bu sat ı n temizlenmesi rları unutulmamalır. dı ş Programızdaki hatalarıgidermeye çalı nı mazsanı yazımı zı kalitesi düş z, lı nın er. Yazımı lı yazan ekip kadar, test ekibinin de çok sorumluluğ vardı Ama programdaki hatayı u r. bulamadıdiye test ekibi suçlanmamalı r. Programcı dı hatalarıotomatik olarak yakalayan kodlar yazabilir. Kullanınıhataları fetmesi firma için daha kötüdür. cı n keş † “Debug*Toggle Breakpoint F9” ile yapabilirsiniz ‡ “View*Other Windows*Command Window Ctrl+Alt+A” ile pencereyi açabilirsiniz 26
  • 31. Kullanını hatalı cı n girişyapmaması için kısa açı klamalar yazı dı lmalı r Kullanını cı n nı ş kafası karı ran tı mesajlar olmamalı r dı Resim 3.6: Kullanıya yardı olunuz, doğ bilgi vererek yönlendiriniz cı mcı ru Resim 3.7: Programcıkendisi için yaptıı ğbasit hata ve ayrı lı ntı hata mesaj örnekleri Bir program yazarken aş ı öneriler iş ağdaki inize yarayabilir:  Yazımı z ne kadar büyürse o kadar içinde böcek bulunma ihtimali artar. lı nı  Böcek oluş nı nası önleyebileceğ ması l inizi, otomatik olarak nası l yakalayabileceğ düş inizi ünmelisiniz.  ı Algoritmanı oluş zı tururken, kullanacağ z dili tam olarak öğ nı renerek koşullarızı nı tamamlayı z. nı  Birden fazla yol göz önüne alarak alternatifler ekleyiniz.  ş Çalı anı beliren böcek sinyallerini göz ardı ma nda etmeyiniz. Kendi kendilerine kaybolmazlar. Kaybolması beklerseniz daha da büyürler. nı  Değ kenlerinizin değ iş erlerini takip ediniz ve aykı değ rı erler almaları zaman ne ve nerede oluşuyor böcek ayı klama ile görünüz. 27
  • 32. Eğ programı zı er nı kontrol amacı adı adı iş ile m m lemekten çekinirseniz, tahmin etmediğ hatalarla kullanı muhatap olmak zorunda kalı cı iniz r.  Denetlenmesi kolay adlandı rmalar ve algoritmalar oluşturunuz.  zlı ş Hı çalı program yapmak için dayanı z kodlar oluş an ksı turmayı z. nı  Kestirme ve pratik programlama risklidir. Kendi ihtiyacıza göre çözüm nı üretiniz.  Ara sı temizlik yaparak, artı yani artan kodları zı böceğ sebep ra k nın e olmamaları sağ nı nı layız.  ğzı Yaptını değ iklik çok küçük olabilir, ama hata oluş iş turabileceğini unutmayı z. nı  Sürümler oluş turarak ilerleyiniz. Son ticari halinden hata ayı klama kodları zı nı çıkararak küçülterek ilgililere teslim ediniz.  tirdiğ açı klama satırları ve öz olmalı da hiç Program içine yerleş iniz az ya yazmayı z. nı  İmkânsı olan bir girdi olabilir mi? Kullanı her zaman sizin gibi düş z cı ünmez. Bu ihtimallere önlem almalını Sorunları sı z. sessizce çözen kodlar yazabilirsiniz.  ş z. ı Böceğgizlemekten çok onu yok etmeye çalını i  Farklı algoritma yöntemleri kullanarak böceklerin sebebini çözebilirsiniz.  Devamlı mesajları kullanıyı landı hata ile cı telaş rmayı z. nı  ğ karmanı yöntemi, onu bulduğ Böceğ açıa çı i n unuz anda ortadan kaldı rmaktır. Böcekleri tekrar çı kmaya zorlayız. nı  Çok az sayı programcı da kodlara “durak noktalarıekleyerek, kod içinde adı ” m ş ğ sahip. kanlıı adı ilerleme ve girdilerin çı ya dönüş ü yerlere bakma alı m ktı tüğ na Bu iş lemler angarya değ ildir.  şı Kodunuzda adı adı ilerlerken veri akına odaklanız. mm nı  Arabiriminizdeki aksaklı bulup yok ediniz. kları  Kaybolan bir böceğ göz ardı i etmeyin, gizleniyor olabilir.  Zamanı bulunan böcek daha fazla böcek oluş na engel olur. nda ması  Belirtiyi değ oluş nedenini düzeltiniz. il, um  ş Aptal böcek yoktur. Asısorun programcı n onu bulamamıolması r. l nı dı  Aynı böceğ sizi iki kere sokması izin vermeyiniz! in na 28
  • 33. UYGULAMA FAALİ YETİ UYGULAMA FAALİYETİ İlem Basamakları ş Öneriler  İ kez karş tınıhataları çözüm ı ğz laş ı 1.Bir programlama dilinde program lk ve ı yazıdenerken, karş za çı yazı p mı kan m yolları defterinizin arkası yazı z, nı na nı hatayla karş ı ı nca hataları inceleyiniz. nı böylece aynı laş bocalamazsı z.nı  Arkadaş nın yaptıı ğprogramlardaki 2.Programdaki yazı hataları m nı ları zı düzeltiniz. yazı hataları yardı ediniz. En çok m na m nerede hata yapı ğ , sebebini tartını ı ş z. ı ldını  ş ldı ğz ı 3.Program çalı rı ktan sonra tı Yaptınıprogramları er insanlarınası diğ n l kullandıı gözlemleyiniz. Nasıveri ğnı denemek için veri giriniz. l girdiklerini inceleyiniz. Sizin istemediğ iniz değ erleri girerlerse ekrana nasıbir hata l mesajı geliyor?  4.Adı adı programı şrarak, mm çalıtı Adı mlama komutu ile programızı nı n ş kontrol ediniz. ı programıakını inceleyiniz. 29
  • 34. ÖLÇME VE DEĞ ERLENDİ ERLENDİRME ÖLÇME VE DEĞ RME Ad(1) OBJEKTİ TESTLER (ÖLÇME SORULARI) F Aş ı şsoruları r. Verilen ağ daki sorulardan; sonunda parantez olanlar doğ / yanlı ru dı ifadeye göre parantez içine doğ ise “D”, yanlıise “Y” yazız. Şklı ş nı ı sorularda uygun ş ı ru kkı işaretleyiniz. 1. Kod böcekleri çok akı dı ( ) llı r. 2. Derleyici tüm hatalarıyakalar, bize hatanıyerini gösterir. ( ) n 3. Basit bir değ iklik yapınca, program test edilmese de olur. ( ) iş lı 4. 1.500,45 bir sayı i olabilir. ( ) giriş 5. Hangi komut ile programı mlayabiliriz? adı ş A) Çalı r - Run tı B) Dur - Stop C) Adı - Step Into mla D) Kı- Break All r 6. Hangi hatanıtespiti ve giderilmesi çok kolaydı n r? A) Yazı hataları m ş B) Çalı anı ma hataları C) Mantıhataları k D) Ölümcül hatalar (disk, bellek hatalarıgibi) 30
  • 35. ÖĞRENME FAALİ YETİ –4 ÖĞRENME FAALİ YETİ 4 - AMAÇ Programda saklanması gereken bilgileri dosyalara saklayabilecek ve tekrar okuyabileceksiniz. ARAŞTIRMA aş ı Bu faaliyet öncesinde hazı k amaçlı ağda belirtilen araşrma rlı tı faaliyetlerini yapmalını sı z.  ş Birçok program değ ik dosya türlerini çalı rabilir ve iş tı ğıdosya türlerini araşrız. Mesela ofis değ tirebilir. Programları kullandı iş n tını programları *.doc, *.xls dosya uzantı vardı nda ları r.  ş labilen bir dosya (*.exe gibi) diğ iş Windows iş letim sisteminde çalı rı tı er letim ş labilir mi? Ya da tam tersi, Linux’ta kurulabilen bir sistemlerinde de çalı rı tı program Windows’a kurulabilir mi? 4. DOSYALAMA Bir önceki derste değ kenlerin ömürleri bitince hafı iş zadan silindiğinden bahsettik. Zaten böyle olmasaydı bellek birçok programı şrmaya yetmezdi. Ya bize kalı, her , ana çalı tı cı program açı ğnda, önceden saklanan bilginin gösterilmesi gibi bir durum gerekirse ne ldıı yapabiliriz? Oyunlardaki rekor bilgileri gibi düş ünebiliriz. Bilgiler çoğ unlukla ayrı veri bir dosyası saklanı nda r. 4.1. Metin Dosyalar İ ı ı gibi, metin dosyaları içinde sadece yazı vardı sminden de anlaş lacağ n r. Biçimlendirilmemişmetin dosyaları tüm iş nı letim sistemleri tanı değ tirebilir. r, iş Metin dosyalara “sı dosyalar” diyebiliriz. Bir metin dosyası kullanabilmemiz ralı nı için önce onu oluş turmamı gereklidir. Daha sonra da sı ile satı satı metin dosyası z ra r r nı okuyabilir, değ tirebiliriz. iş 31
  • 36. Sı dosya olduğ için dosyaya bilgileri sı ile yazı yine sı ile okuyoruz. Peş ralı u ra p, ra peş bilgi iş yapı ğ için “For - Döndür” komutu ile daha az komut yazarak, çok satı ldıı e lemi rlı bilgileri alabilir, yazabiliriz. 3 satıbilgi için basit olarak aş ı gibi bir örneğ r ağdaki imiz var. Resim 4.1: Metin dosyaya bilgi yazma 1. Baş la 2. DosyaAdi = “dosya.txt” Eğ DosyaAdi mevcut İ Git 9 3. er se 4. yazar = DosyaAç (DosyaAdi) 5. yazar.Satı rYaz “1. satı r” 6. yazar.Satı rYaz “2. satı r” 7. yazar.Satı rYaz “3. satı r” 8. yazar.DosyaKapat 9. Bitir Okuma veya yazma iş lemi yapı ktan sonra dosya kapatı dı Eğ kapatmayı ldı lmalı r. er unutursak, programda hatalar meydana gelebilir. Açı kalan dosyayı k üzerinde baş iş ka lem yapmak için tekrar açamayı Aş ı z. ağ dakine benzer bir hata mesajı abilir: oluş ş ndan kullanı ğ ndan ldı ı quot;İ lem, baş bir iş ka lem tarafı 'C:ornekler3vbmetinDosyalamadosya.txt' dosyası eriş na emiyor.quot; Metin dosyası kendi programı z haricinde, not defterini kullanarak nı mı görüntüleyebilirsiniz. Test etmek için satı rlarıdeğ tirip, programı zda tekrar okumayı iş nı deneyebilirsiniz. 32
  • 37. Resim 4 .2: Metin dosya iş lemleri ekran görüntüsü Programları zı nı piyasada yaygı olarak kullanı programlar ile uyumlu yapmaya n lan ı dikkat ediniz. Eğ kendi dosya türünüzü oluş er turursanı sadece sizin programıza bağmlı z, nı hâle gelir. Mesela programı z hesap tablosu halinde verilerini kaydedebiliyor ise, hesap nı tablosunu kullanarak iş yapan kullanıya destek sağ şolursunuz. Programı zı lem cı lamı nın kalitesi daha artar. Siz de programa daha fazla satı bilgi kaydetme imkânısağ nı Döngüler r layız. kullanarak daha az kod nasıyazı l labilir? 4.2. Rasgele Eriş Dosyalar imli Metin dosyalarda satırlarıtek tek okumak küçük dosyalar için hı problemi z oluşturmaz iken, büyük dosyalarda belli bir satı gidip iş yapmak büyük problemdir. ra lem Son satı okumak için tüm dosyayı rı taramanıgerekir. z t” Rasgele erişimli dosyalar sabit boyutlu küçük parçalar halinde “kayı isminde bölümlerden oluş Kayıiçinde bir veri kümesi saklanı Her kayıiçinde “alan” isminde ur. t r. t daha küçük parçalar vardı r. Kayıuzunlukları n belirli olması t nı sayesinde istenen bilgiye rahatlı gidilebilir. Bu kla leme anlamı gelmektedir. Veritabanıkonusuna bu sayede girmiş daha etkin veri iş na oluyoruz. 33
  • 38. Ali Can Ali Can 2344224 Bir 2344224 1.Kayı t T10C Kayıt T10C Mehmet Demirci 2323434 Mehmet Demirci T11C 2323434 2.Kayı t İ Kı dris vanç Bir T11C 2323443 Alan T11C İ Kı dris vanç 3.Kayı t 2323443 T11C Metin Dosyaları yapı n sı Rasgele Erişimli Dosyaları yapı n sı Resim 4.3: Rasgele dosyalamada kaydetme iş lemi 34