error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
error etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Mayıs 2024 Cuma

QuickBasic - 30: Hata ayıklama-3

3. Mantıksal Hatalar

Mantıksal hatalar (Logic Errors) program kodlarının söz dizimi açısından doğru olmasına rağmen beklenen sonuçları vermemesine neden olan hatalardır. Bu tür hatalar, programın mantığında veya algoritmasında yapılan yanlışlıklar nedeniyle ortaya çıkar. Mantıksal hatalar, genellikle programın çalışması sırasında belirli girdilerle test edilerek ortaya çıkarılır ve düzeltilir, çünkü derleme aşamasında tespit edilemezler. Bu yüzden en tehlikeli hatalardandır.

Mantıksal hataların yaygın örnekleri arasında mantıksal karşılaştırma ifadeleri, döngülerin hatalı kullanımı ve değişkenlerin yanlış değerlerle işlenmesi bulunur.

Örneğin, bir döngünün yanlış bir koşulla çalıştırılması, döngünün beklenenden daha fazla veya daha az çalışmasına neden olabilir. Bu tür hatalar, programın belirli durumlarda yanlış sonuçlar üretmesine, hiç çalışmamasına, kilitlenmesine veya sonsuz döngü üretmesine neden olabilir. Ayrıca, değişkenlerin yanlış şekilde güncellenmesi veya kullanılması, hesaplamaların yanlış sonuçlar vermesine yol açar.

25 Mart 2023 Cumartesi

QuickBasic - 29: Hata ayıklama-2

Yayınlama: 25 Mart 2023 

2. Çalışma Zamanı Hataları (Run-time Error)

Program kodlarının doğru göründüğü ancak çalıştırılması sırasında karşılaşılan hatalardır. Programcının ele almadığı bir takım aykırı durumlar ortaya çıktığında programın işletim sistemi tarafından kesilmesi ile ortaya çıkar. Bu tip hatalarda hata mesajı çoğunlukla çalışan işletim sisteminin dili ile verilir. Eğer bu tip hataları kullanıcı ele almışsa, program programcının vereceği mesajlarla ve uygun şekilde sonlandırılabilir. Bu tip hataların nerelerde ve hangi şartlarda ortaya çıkabileceğini bazen kestirmek zor olabilir.

Bazı yaygın çalışma zamanı hataları şunlardır:

a) Bellek Hataları:

Bellek hataları, programın belleğe yanlış bir şekilde erişmesi veya belleği yanlış kullanması sonucu oluşur. Bu hatalar, bellek sınırlarının aşılması, bellek sızıntıları veya bellek yönetimi hataları gibi nedenlerden kaynaklanabilir.
Örnek:
DEFINT A-Z
DIM personel(40200)
Bu kodlar çalıştırıldığında Overflow (taşma) hatası oluşturacaktır.
Çünkü QuickBasic dilinde bir dizi değişkenin eleman sayısı, dizi değişken boyutuna bağlı olarak belirlenen sınırların üzerinde olamaz. Bir dizi değişken elaman sayısı da dikkate alınarak bellekte en fazla 64K (65535 bayt) yer kaplayabilir.
INTEGER değişkenin her bir elemanı bellekte 2 bayt yer kapladığı için azami eleman sayısı 65535/2 = 32767
LONG ve SINGLE değişkenin her bir elemanı bellekte 4 bayt yer kapladığı için azami eleman sayısı 65535/4 = 16383
DOUBLE değişkenin her bir elemanı bellekte 8 bayt yer kapladığı için azami eleman sayısı 65535/4 = 8191
Not: Sayıların 1 eksik olmasının sebebi 0 ile başlamasından dolayıdır.
Önceki örnekte INTEGER değişkene 32767'den daha büyük bir değer girildiği için hata oluştu.
Detay için QuickBasic programında Yardım / Contents / Data types ve Yardım / Contents / Limits to QuickBasic / Arrays sayfalarına bakınız.

24 Mart 2023 Cuma

QuickBasic - 28: Hata ayıklama-1

Yayınlama: 18 Ağustos 2022
Güncelleme: 24 Mart 2023

Hata ayıklama (Dubugging)

Programlamada hata nedir?

Programlama sürecinde, yazılan kodların beklenen şekilde çalışmamasına hata denir. Bu hatalar, programın istenmeyen şekilde sonlanması, duraklaması, sonsuz döngüye girmesi, yanlış bir işlem yapması veya yanlış sonuçlar üretmesi gibi istenmeyen durumlarla kendini gösterebilir. Bu hatalar genellikle programlama dilinin doğru bir şekilde kullanılmamasından kaynaklanır ve programcıların kodlarını test etmeleri ve hataları düzeltmeleri gereklidir.

Yazılım geliştirme sürecinde, programcılar tarafından yapılan hatalara genellikle bug(böcek) denir ve bu hatalar, programın beklenen şekilde çalışmamasına neden olabilir. Bu nedenle, programcıların hataları tespit edip düzeltmeleri önemlidir. Bu sürece genellikle hata ayıklama(debugging) adı verilir. Hata ayıklama, programcıların kodlarını inceleyerek hataları tespit etmelerini ve düzeltmelerini sağlar. Bu süreç, yazılımın daha sağlam ve güvenilir hale gelmesine yardımcı olur.

Eniac.jpg

Yazılım hatalarına bug(böcek) denmesinin ilginç bir hikayesi var. İlk bilgisayarlar çok büyük ve karmaşıktı. İçlerinde insanların dahi gezinebileceği kadar genişti ve devre elemanları birbirine kablolarla bağlıydı.

Bu nedenle, bir hata oluştuğunda, mühendisler tüm kablo bağlantılarını kontrol etmek için bilgisayarın içine girerek hatayı tespit etmeye çalışıyorlardı. Bir seferinde, bir hata nedeniyle bilgisayar çalışmadığında, mühendisler bağlantıları kontrol ederken bir böcek fark ettiler.

Böceğin, bilgisayarın içinde oluşturduğu bir kısa devre, hatalı çalışmaya neden oluyordu. Mühendisler böceği temizledi ve hatayı giderdi. O günden beri, yazılım hatalarına bug denmesi yaygınlaştı.

12 Ekim 2020 Pazartesi

QuickBasic - 26: Olay ile Dallanma

Yayınlama: 12 Ekim 2020
Normalde program kodları ilk satırdan başlayarak son satıra kadar adım adım ilerleyerek komutları yürütür ve son satırdan sonra program sonlanır. Ancak bu şekildeki bir yürütme ile işe yarar büyük programlar yapmak çok zordur ve çok sayıda kod yazmak gerekebilir. Ayrıca tekrar eden işlemler için tekrar kod yazmak da programlama mantığına uygun değildir.

Program kodlarında eğer tekrara düşüyorsanız bilin ki bilgisayarın yapması gereken işin bir kısmını siz yapmış oluyorsunuz demektir. Ayrıca kod tekrarı, program kodlarının büyümesine gereksiz bellek kullanımına, program kodlarının yavaş çalışmasına ve program kodlarının okunurluğunun zorlaşmasına neden olur. Kodların okunmasının zorlaşması kodlarda düzenleme ve geliştirmeyi zorlaştırır.

Dallanma diye adlandıracağımız durum program kodlarının yürütülürken gerekli durum ve şartlarda alt programa atlayarak alt programı çalıştırması ve alt programın yürütülmesi tamamlandığında kaldığı kod satırına geri dönmesidir. Dallanma sayesinde kod tekrarını önlemiş oluruz ayrıca kodların modüler bir yapı oluşması sağlanır.

Kodlarda dallanma oluşturmak için birkaç yöntem var. Bunlardan bazılarını 4: Kontrol blokları ve 7: Alt program sayfasında açıklanmıştı. Bu bölümde bunlar tekrar edilmeyecek. Bunların dışında kalan ve ON ile başlayan dallanmalar açıklanacak.

ON ... GOTO

Belirtilen ifadenin değerine göre belirtilen satırlardan birine dallanmayı sağlar.

Kullanımı:
ON n GOTO satır numaraları listesi | satır etiketi listesi
n integer sayısının aldığı değere göre satır numarası listesindeki satıra dallanma(atlama) yapar. Liste elemanları arasında virgül kullanılır. Satır numarası ve satır etiketi karışık liste oluşturabilir. n değeri 1 veya 1 den büyük olmalıdır.