Page 129 - Bilgisayar Bilimi | Kur 1
P. 129

Yorumlayıcı, söz dizimi hatalarını programı çalıştırmaya başlamadan önce algılar ve bu nedenle söz
            dizimi hatalarını içeren bir programın herhangi bir parçasını çalıştırmaz.

            3.8. Çalışma Zamanı Hataları

               Doğru yazılmış bir Python programın hâlâ sorunları olabilir. Bazı dil hataları programın yürütül-
            mesi durumuna bağlıdır. Yorumlayıcı bir istisna yaratır. Çalışma zamanı istisnaları yorumcunun çeviri
            aşamasından sonra ve programın yürütme aşamasında ortaya çıkmaktadır.
               Yorumlayıcı aşağıdaki gibi söz dizimsel olarak doğru bir ifade için bir istisna verebilir.

                  x = y + 2 d
               Eğer y değişkeni henüz atanmamışsa;
                  (NameError: name ‘y’ is not defined) hatası mesajını verir.

               Kullanıcıyı 32 (pay) ve 0 (payda) olarak yazdığınızda
                  Zero Division Error: division by zero
               veya harf dizinini bölmeye kalktığınız takdirde

                  unsupported operand type(s) for /: ‘str’ and ‘int’ uyarısı alabilirsiniz.

            3.9. Mantık Hataları

               Bölünen/bölen ifadesi yerine bölen/bölünen olarak değiştirdiğinizde etkilerini düşünün. Program
            çalışır ve kullanıcı bölünene sıfır değeri girmedikçe, yorumlayıcı hata raporu vermeyecektir. Ancak he-
            saplanan cevap genel olarak doğru değildir. Program sadece bölünen ile bölen eşit olduğu zaman doğru
            cevap yazdıracaktır. Program bir hata içermektedir. Fakat yorumlayıcı sorunu algılayamaz. Bu tür bir
            hata, bir mantık hatası olarak bilinir. Yorumlayıcı, mantık hatalarının konumu için herhangi bir fikir
            sağlamakta güçsüzdür. Mantık hataları, bu nedenle, bulma ve onarmakta en zor olma eğilimindedirler.
            Yorumlayıcı mantık hatalarına yönelik hiçbir yardımda bulunmaz.


            3.10. Aritmetik Örnekler
               Örnek: Sıcaklığı Fahrenheit derecesinden Celcius derecesine dönüştürmek istediğinizi varsayalım. 

                  >>> # Sıcaklık değerini okumak için
                  >>> dereceF = float (input (‘Sıcaklığını F derece olarak girin:’))

                  >>> # Dönüşümü gerçekleştirin
                  >>> dereceC = 9/5 * (dereceF - 32)
                  >>> # Sonucu bildir

                  >>> print (dereceF, ‘derece F =’, dereceC, ‘C derece’)
                  Sıcaklığını F derece olarak girin: 212
                  212 ° F = 100.0 ° C
               Örnek: Kullanıcının girdiği saniyeleri, saat, dakika ve saniye olarak parçalara ayıran programda
            tamsayı bölme ve modül kullanır.

                  >>> saniye = int (input (“saniye sayısını girin:”))



        128
   124   125   126   127   128   129   130   131   132   133   134