PASCAL DERS NOTLARI 2

2010-10-12 11:56:00

PASCAL DERS NOTLARI 2

Pascal'da yazılabilecek en küçük program aşağıdaki gibidir.

Begin

End.


Yukarıda gösterilen küçük program parçasından da anlaşılacağı gibi pascalda bir program begin ile başlar end. ile sona erer.

Pascal'da bir program yapısını biraz daha genişletecek olursak;

Program programadı;
Tanımlamalar
Procedure ve functionlar

Daha açık anlatımıyla;

Program programadı;
Uses unitler
type Özel veri tipleri
Const Sabitler
Label etiketler
var değişken veya değişkenler

begin

end.

*Yukarıda kullanılan tanımlamlarda koyu harf ile yazılan kelimeler komutları ifade etmektedir.

Program komutu; yazdığınız programa bir isim vermek için kullanılır. Fakat bu görülen satır kullanılmak zorunda değildir. Bu komut kullanıldığı zaman dikkat edilmesi gereken husus şudur. Programa verdiğiniz isim boşluk karakteri içermemelidir. Şayet verdiğiniz isim iki kelimeden oluşuyorsa kelimeler arasında _ karakteri kullanılmalıdır. Örneğin; Program ilk_programım

Unit komutu; bu komut pascal'ın unit'lerini veya kendi yazdığınız unitleri kullanmak içindir. Unit birden fazla procedure veya functiondan oluşan bir program parçasıdır. İleride procedure veya fonksiyon kavramı açıklandığında unit kavramı da daha iyi anlaşılacaktır. Ama bu noktada şunun bilinmesinde fayda vardır: İleride de görüleceği üzere pascal'da kullanılacak olan komutların çoğu unit'ler içerisinde bulunan birer procedure veya fonksiyondur.

Type komutu; özel veri tipleri tanımlamak için kullanılır.
Const komutu; sabit tanımlamak için kullanılır.
Label komutu; etiket tanımlamak için kullanılır.
Var komutu; istenen tiplerde değişken tanımlamak için kullanılır.

Yukarıda belirtilen program yapısında bulunan sıra sabittir. Fakat, bir programın içerisinde bazı kısımlar hariç hepsi bulunmak zorunda değildir. Zorunlu olan kısımlar ; Uses, begin ve end. kısımlarıdır.

Pascal'da kullanılan bazı semboller

*#Sembol#*

*#Anlamı#*

=

Karşılaştırma işlemi için kullanılır.Eşitse.

<>

Karşılaştırma işleminde kullanılır.Eşit değilse.

:=

Değişkenlere değer atama için kullanılır. a:=5 gibi.

{ } veya (* *)

Açıklama yapmak için kullanılır. Basic'teki REM komutuyla aynı işi görür.

:

Değişken tanımlamalarında değişken isminden sonra değişken tipini belirlemeden önce kullanalır. a:integer gibi.

;

Her satırın sonunda (istisnalar dışında) kullanılır.

Değişken isimlerini belirlerken uyulacak kurallar:
1. Değişken isimleri harf veya _ ile başlamalıdır.
Örneğin: ilk, _ilk gibi.
2. İçerisinde boşluk karakteri bulunmamalıdır. Bu kuralı program komutunu anlatırken öğrendiğinizi hatırlayınız.
Örneğin: ilk_sayi,son_sayi gibi.
3. Pascal'da kullanılan komutlar değişken ismi olamaz.
Örneğin: Begin, var gibi.
4. Değişken isimleri arasında özel karakterler bulunamaz. (+,-,*) gibi.
Örneğin: ilk+sayi, ilk-sayi gibi.
5. Değişken isimlerinde türkçe karakterler kullanılamaz. (ş,ğ,İ,ç gibi)
6. Değişken ismi harf ile başladıktan sonra ikinci karakteri sayı veya _ olabilir.
Örneğin:a1,a_b gibi

Tamsayı Tipleri

Tip Adı

Sınırları

Kapladığı Alan

Shortint

-128 127

1 Byte

Byte

0 255

1 Byte

Integer

-32768 32767

2 Byte

Word

0 65534

2 Byte

Longint

-2147483648 2147483647

4 Byte

String İfadeler:
String ifadeler kısaca; Üzerinde sayısal işlem yapılamayan ifadeler olarak tanımlanabilir.
Pascal'da string ifadeler '' işaretleri arasında belirtilir.
Örneğin: 'Isparta', 'Keçiborlu','Fenerbahçe' gibi.

VERİ TİPLERİ



Gerçek (Reel) Sayı Tipleri

Tip Adı

Sınırları

Kapladığı Alan

Real

2.9*10^-9 1.7*10^38

6 Byte

Single

1.5*10^-45 3.4*10^38

4 Byte

Double

5.0*10^-324 3.4*10^308

8 Byte

Extended

3.4*10^-4932 1.1*10^4932

10 Byte

Comp

(-2^63)+1 (2^63) -1

8 Byte

STRİNG TİP:
Üzerinde matematiksel işlem yapılmayan alfasayısal değişkenleri tanımlamak için kullanılır.
Örneğin:
a:string şeklinde bir değişken tanımlarsanız 255 karakterlik bilgi alır.
a:string[n] şeklinde bir değişken tanımlarsanız n karakterlik bilgi alır.

CHAR TİP:
Sadece bir karakterlik bilgi için kullanılır.

String Tipi

Tip Adı

Kapladığı Alan

Char

1 Byte

BOOLEAN TİP:
Sadece True (doğru) veya False(Yanlış) değerlerini alabilen bir değişkendir.

String Tipi

Tip Adı

Kapladığı Alan

Boolean

1 Byte

TANIMLAMA BLOKLARI

Var tanımlama Bloğu:
Kullanımı:
Değişkenismi:tip;
Birden fazla değişken tanımlanacak ve aynı tipte olacaksa:
Değişkenismi1, Değişkenismi2:tip;

Örnek:
Var
a:integer;
isim:string[10];
ortalama:real;
sayi1,sayi2:byte;

Const tanımlama bloğu:
Daha öncede anlatıldığı gibi sabit tanımlama bloğudur.
Kullanımı:
Const
Sabit adı=değer;
Biçiminde kullanılırsa sabite verilen değer program içerisinde değiştirilemez.
Sabit adı:tip=değer;
Biçiminde kullanılırsa sabite verilen değer ilk değer olarak kabul edilir ve program içerisinde bu değer değiştirilebilir.

Örnek:
Const
Pi=3.14;
Sayi:integer=15;

OPERATÖRLER:

Div: Bir bölme işleminde bölümü verir.
Örnek:
15 div 5 =3

Mod: Bir bölme işleminde kalanı verir.
Örnek:
5 mod 4 =1

String Tipi

Operatör

İşlevi

Not

Değil

Or

Veya

And

Ve

Xor

Veyadeğil

=

Eşit

<

Küçük

>

Büyük

<=

KüçükEşit

>=

BüyükEşit

<>

Farklı

TURBO PASCAL KOMUTLARI

GİRİŞ - ÇIKIŞ KOMUTLARI

Write - Writeln:

Sabitlerin, değişkenlerin ve işlem sonuçlarının ekrana basılmasını sağlayan komuttur. Yani, basic'teki print komutuyla aynı işlevi görür.

Kullanımı:
Writeln(ifade)

Write(ifade)

Writeln komutu kullanıldığı zaman parantez içerisinde verilen ifade ekrana basıldıktan sonra cursor bir alt satıra iner ve diğer ifadeler buradan itibaren yazılmaya devam eder. Write komutu kullanıldığında ise cursor parentez içerisinde verilen ifade yazıldıktan sonra yazılan ifadenin hemen sonunda bekler ve diğer ifadeler buradan itibaren yazılmaya devam eder.

Şayet bir string ifade akrana basılmak isteniyorsa '' işaretleri arasında parantezler içerisine yazılmalıdır. Bir sabit veya değişken ekrana basılmak isteniyorsa; parantezler içerisine sabit veya değişkenin isminin yazılması yeterlidir. Burada dikkat edilmesi gereken husus şudur: Birden fazla sabit veya değişkeni aynı anda ekrana basmak istiyorsanız aralarına virgül koyarak yazmalısınız.

Eğer, hem bir string ifade hem de bir değişken veya sabiti beraber ekrana basmak istiyorsanız; değişen veya sabitten sonra veya önce virgül kullanmalısınız.
Örneğin; writeln(a,'a') veya
writeln('b' ,b)

Şimdi bu komutu kullanarak birkaç örnek yazalım.

Örnek 1:
Program ekrana_yaz;
begin
writeln('İlk programım');
end.
Bu program çalıştırıldığında ekrana İlk Programım stringini yazacak ve sonlanacaktır. Sonuçta ekranda çıktıyı şu an için göremiyorsunuz, Alt+F5 tuşlarına basın ekranda yadığınız string ifadenin basılı olduğunu göreceksiniz. Burada şu noktaya da dikkat etmeyi unutmayın. Cusor bir aşağı satırda beklemektedir.

Aynı programı şu şekilde yazarsak.
Program ekrana_yaz;
begin
write('İlk programım');
end.
Bu program da yukarıdaki programla aynı çıktıyı verecektir. Aralarındaki tek fark bu sefer cursorun bir alt satıra geçmeyip string ifadenin hemen sonunda beklemesidir.

Örnek 2:
Mesela çıktısı aşağıdaki gibi olan bir program yazmaya çalışalım.
Süleyman Demirel Üniveristesi
Keçiborlu Meslek Yüksekokulu

begin
writeln('Süleyman Demirel Üniversitesi');
write('Keçiborlu Meslek Yüksekokulu');
end.

Örnek 3:
Şimdide iki değişken tanımlayalım ve bunların toplamlarını ve farklarını ekrana basan bir program yazalım.

var
a,b:byte;
begin
a:=65;
b:=25;
writeln('a+b=',a+b);
writeln('a-b=',a-b);
end.

Sayısal Bilgilerin Formatlı Olarak Yazdırılması
Burada amaç sayısal ifadeleri sağa dayalı olarak yazdırmaktır.

Tamsayı ifadeler için kullanımı:
Kullanımı:
writeln(ifade:uzunluk)
write(ifade:uzunluk)

Burada uzunluk yazılan sayısal ifadeninitolam hane sayısını belirtir. Verilen ifade bu alana sağa dayalı olarak yazılır.

Örnek 4:
begin
write(1:6);
end.

Bu program sonuçta 1'i 6 hane sağa kaydırır ve 6. haneye yazar.Yani sonuç şöyle olur.
1
şeklinde bir çıktı olur.

Clrscr:
Gerçi bu komut bir giriş çıkış komutu değildir ama burada anlatmanın gerekli olduğunu düşünüyorum. Clrscr komutu ekran temizleme komutudur ve crt unit'i içerisinde bulunur. Yani bu şu anlama gelmektedir. Bu komut kullanılacağı zaman mutlaka uses crt komut satırı kullanılmalıdır.


Örnek 5:
uses crt;
begin
clrscr;
write('Merhaba');
end.

Read - Readln:

Klavyeden bilgi almak için kullanılan komuttur. Basic'teki input komutuyla aynı işlevi görür.

Kullanımı:
read(değişken veya değişkenler)
readln(değişken veya değişkenler)
Şayet değşkenler birden fazlaysa aralarına virgül koyulur.

Bilindiği gibi bundan önce yazdığımız programları çalıştrıyor fakat çıktısını görebilmek için alt+F5 tuşlarını kullanıyorduk. İşte readln komutunu öğrendikten sonra artık böyle bir işleme gerek kalmayacaktır. Her programın sonunda end. satırından önce readln; komut satırı kullanılırsa program bütün işlemleri bitirdikten sonra siz bir tuşa basıncaya kadar sizi bekleyecektir.

Örnek 6:
Klavyeden iki sayı alarak bunların toplamlarını ekrana yazan bir program yazınız.

uses crt;
var
a,b:integer;
begin
clrscr;
write('a sayısını giriniz');readln(a);
write('b sayısını giriniz');readln(b);
write('a+b=',a+b);
readln;
end.


Örnek 7:
Klavyeden vize ve final notu girildiğinde o öğrencinin not ortalamasını bulan programı yazınız?
uses crt;
var
vize,final:shortint;
begin
clrscr;
write('vizeyi giriniz');readln(vize);
write('finali giriniz');readln(final);
write('ortalama',vize*0.4+final*0.6);
readln;
end.
Karşılaştırma Komutları

İf - then - else

Verilen şartın doğru veya yanlış olması durumunda istenen işlemleri yapmak için bu program kullanılır.

Kullanımı:
İf
şart then şart doğruysa komut veya komutlar else şart doğruysa komut veya komutlar

Bu komut kullanılırken dikkat edilmesi gereken birçok nokta bulunmaktadır. Şayet şart doğru olduğunda kullanılacak komut sayısı 1'den fazla ise bu komutlar begin end bloğu içerisine yazılırlar. Aynı durum şart yanlış olduğu durumda da geçerlidir. Hiçbir zaman else komutundan önceki satırın sonunda ; işareti kullanılmaz. Bu unutulmaması gereken önenli bir kuraldır.


Örnek 8:
Kalvyeden iki sayı alarak büyük olan sayıyı ekrana yazan bir program yazınız?

uses crt;
var
a,b:byte;
begin
write('a sayısı');readln(a);
write('b sayısı');readln(b);
if a>b then
write('a sayısı büyük',a)
else
write('b sayısı büyük',b);
readln;
end.
Örnek 9:
Kalvyeden iki sayı alarak büyük olan sayıyı bulup bunu bir artırarak ekrana yazan bir program yazınız?
uses crt;
var
a,b:byte;
begin
write('a sayısı');readln(a);
write('b sayısı');readln(b);
if a>b then
begin
a:=a+1;
write('a sayısı büyük',a);
end
else
begin
b:=b+1;
write('b sayısı büyük',b);
end;
readln;
end.

239
0
0
Yorum Yaz
Ödev Ödev