ByKuS.OrG

TEKNOLOJİK BÖLÜM => Programlama Dilleri => Pascal => Konuyu başlatan: asi kaptan - Ağustos 04, 2009, 12:46:53 ÖÖ

Başlık: Pascal'da gerçek sayılar
Gönderen: asi kaptan - Ağustos 04, 2009, 12:46:53 ÖÖ
Gerçek Sayı Tipleri

Tabii bunlara gerçek diyorsak digerleri sahte degil. Gerçekten kastimiz virgüllü ya da ondalikli ya da kesirli demektir. Bu tip sayilarin da tipki tamsayilarda oldugu gibi çesitleri var. Bu çesitliligin temel sebebi gereksiz hafiza kullanmaya engel olmaktir. Gerçek sayi tipleri sunlardir:
Tip adiSinirlariKapladigi alanReal2.9 x 10^-39..1.7 x 10^38 6 byteSingle1.5 x 10^-45..3.4 x 10^384 byteDouble 5.0 x 10^-324..1.7 x 10^3088 byteExtended 3.4 x 10^-4932..1.1 x 10^493210 byteComp-2^63+1..2^63-18 byte
Burada Real'den baska tiplerin de oldugunu bilmeniz için hepsini gösterdim ama gerçekte sadece Real tipini kullanmaniz yeterlidir. Html'de bir sayinin üstünü göstermek olmadigindan tablo biraz kötü gözüktü. Ben birisini yazi ile yazarsam siz digerlerini anlarsiniz. Real'in sinirlari "2.9 çarpi 10 üzeri -39'dan 1.7 çarpi 10 üzeri 38'e kadardir". Real tipinin disindaki tipleri kullanabilmeniz için prograinizin en basina {$N+} yazmaniz gerekebilir. Bunu bilmeniz gerekmiyor, real size yeter. Simdi biraz da bu tip gerçek degiskenlerle örnek yapalim.
Örnek 1:

Bu program girilen sayinin karekökünü bulur. sqrt(); komutunu sonra anlatiriz. Simdilik bu komutun bir sayinin karekökünü bulmaya yaradigini bilmeniz yeter.

Program Karekok;Uses Crt;Varsayi:integer;karekoku:real;Begin clrscr;write('Bir tamsayi giriniz: ');readln(sayi);karekoku:=sqrt(sayi);write('Bu sayinin karekökü: ',karekoku:16:5);readln;end.
Burda kullanilan write komutunun özel bir sekli. Sayiyi düzgün yazdirmayi sagliyor. Daha sonra ayrintili görecegiz. Bunlari kaldirip direk olarak

write('bu sayinin karekökü:',karekoku);
seklinde yazip deneyin. Sayiyi bilimsel olarak sonuna E falan koyarak yazar.
Örnek 2:

Bu program kullanicidan 3 dersinin notunu ister ve ortalamasini bulup ekrana yazar.

Program ortalama_bul;Uses crt;Varnot1, not2, not3: integer;ort: real;Begin Clrscr;Write('Matematik Notunuz (0..100 arasi): ');readln(not1);Write('Fizik Notunuz (0..100 arasi): ');readln(not2);Write('Kimya Notunuz (0..100 arasi): ');readln(not3);ort:=(not1 + not2 + not3)/3;write('Ortalamaniz: ',ort:5:2);Readln;End.
Burada dikkat etmeniz gereken birsey daha var. ortalamayi hesaplarken yaptigimiz isleme dikkat edin. Tipki matematik dersinde gördügümüz gibi parantezlerin islem önceligi var. Sayilarla yapabileceginiz aritmetik islemleri ilerde görecegiz.
Buraya kadar yapilan ve bundan sonra yapilacak bütün örnekleri kendi elinizle Pascal editöründe yazmanizi tavsiye ederim. Yoksa ögrenemezsiniz. Ama eger kodlari direk olarak Pascal editörüne aktarmak istiyorsaniz kodu isaretleyip sag tiklayin ve kopyala yapin. Daha sonra Not defterini (notepad) açip oraya yapistirin kodlari ve kaydedin. ama kaydederken dosya isminin sonuna .pas yazin. Mesela deneme.pas gibi. Kaydettikten sonra daha önce anlattigimiz sekilde üstüne çift tiklayarak açabilirsiniz. Sonra istediginiz gibi düzeltebilir veya çalistirabilirsiniz.