Anasayfa > Dökümanlar > İlk düzey pascal kullanıcıları için döküman

İlk düzey pascal kullanıcıları için döküman

PASCAL PROGRAMLAMA DİLİNE GİRİŞ

Pacal programlama dili 1968 yılında Niklaus Wirth tarafından geliştirilmiş bir programdır. Günümüzdeki sürümleri Turbo/Borland ve Windows Pascal adları ile bilinir. Pascal programlama dili yazımdaki kolaylığın yanı sıra meti içindeki kodların taşınması deyiştirilmesi ilede avantaj sağlar.
Pascal’ın kullanıcılarına sunduğu önemli özelliklerden biri de , bazı programlarda ortak olarak kullanılan program parçalarının ayrı bir Pascal dosyası olarak saklanması suretiyle farklı programlarda bu program parçalarının kullanabilmelerine olanak sağlar.

Pascal Programının Yapısı

Bir Pascal programı genel anlamda 3 kısımdan oluşur. Bu kısımlar aşağıdaki gibidir.

Begin

İcra bloğu;

End.

Her Pascal programı Begin ile başlar ve End ile sonlanır.aradaki icra bloğu kısmına ise programın kodları yazılır.Bu kodlar programa kara verme , sayısal işlermleri yaptırma , grafik çizdirme gibi birçok işleri yaptırabilir.

NOT: Bazı Pascal programlarında Begin kısmından önce program başlığı yazılır. Bunun yazılıp yazılmaması tamamen kullanıcıya kalmıştır.

Veri Türleri

Veri türleri icra bloğunda bulunan sabitler ve değişkenler için kullanılır. Bunlar aşağıda verilmiştir.

REAL
STRING
INTEGER
LONGINT
SHORTINT
BLOOLEAN
BYTE
WORD

“HELLO WORLD” UYGULAMASI

uses crt;
Begin
Write(‘hello world’);
Readln;
End.

Çok basit bir çıktı programı hazırladık.program görüldüğü gibi 3 bölümden oluşuyor.

İCRA BLOĞU : İcra bloğundaki “write” komutu çıktı üretir. “readln” ifadeside bir tuşa basmanız için programın beklemesini sağlar. Eğer bunu yazmasaydık biz çıktıyı göremeden program sonlanacaktı. Şimdi programı biraz daha geliştirelim.

NOT: ”uses crt” komutu pascal programındaki kütüphanelerden birini açar. Ve bu sayede kodlar kullanılabilir hale gelir.Bunun gibi birkaç kütüphane daha vardır.örneğin yazıcıdan çıktı almak için veya grafik için farklı kütüphaneler kullanılır.

GELİŞMİŞ “HELLO WORLD” UYGULAMASI

uses crt;
var
isim:string;
begin
writeln(‘isminizi girin’);
readln(isim);
writeln(‘hello’,isim);
readln;
end.

Bu sefer program kullanıcıdan önce ismini söylemesini istiyor ve sonrada ona hello diyip sonlanıyor. Burada farklı olarak “var” kısmı gözüküyor. Bunun amacı verilerin veri türlerini belirlemek.Yani programın herhangi bir yerinde veri türü belirleme bu platform için doğru olmaz.Pascal programının veri türünün belirlendiği kısım “var” dan sonraki kısımdır. Readln(isim) dememizdeki amaçta kullanıcıdan aldığımız veriyi okutup veri türüne onaylatmak. Yani veri türümüz “integer” olsaydı program size hata verirdi. Çünkü program veriyi okuyor değerlendiriyor ve eğer veri türü kabul görmüyorsa hata mesajı üretiyor.

“WRITE” “WRITELN” “READ” “READLN”

WRITE: Bu komutun amacı ekrana çıktı üretir.Bunu yaptıktan sonra kursör aynı konumda kalır.
WRITELN: Bu komutun “write” den farkı ekrana çıktı ürettikten sonra kursörü bir alt satıra getirir. (İşlev olarak “write” ile aynı görevi görür)
READ: Bu komutun amacı kullanıcıdan alınan veriyi okur değerlendirir ve “var” kısmındaki veri türü ile uyuşup uyuşmadığnı kontrol eder.
READL: Bu komutun “read” dan farkı veriyi okuduktan sonra kursörü bir alt satıra getirir.

KONTROL DEYİMLERİ

GOTO ETİKETİ: Bu kod çalışma akışının yönleneceği yeri belirtir. Bunun için label (etiket) kullanmak gereklidir.Bunu label başlığı altında tanımlarız. Daha sonra kullandığımız etiketin adının yanına “:” koyarız.

Uses crt;
Var
soru,isim:string;
Label devam;
Begin
Clrscr;
Devam:
Writeln(‘isminizi girin’);
Readln(isim);
Writeln(‘merhaba’,isim);
Writeln(‘tekrar isim girmek istiyormusunuz? [E/H]’);
Readln(soru);
İf soru=’e’ then goto devam;
End.

Program isminizi alıp kullanıcıya merhaba diyor ve bunun yanında tekrara isim yaıp yazmayacağını soruyor. Etiket ve goto kullanımı bize bu olanağı sağlıyor.

IF DEYİMİ

If deyişken1 (koşul) deyişken2 then

begin

İşlemler…

End;

If deyimi yukarıdaki şekliyle kullanılır.Burada end kodunun sonuna noktalı virgül konulmuştur.Bunun anlamı programın bitmediğini sadece if deyimini sonlandırmak istediğimizi bvelirtiriz.

IF THEN ELSE YAPISI

If deyişken1 (koşul) deyişken2 then

begin

İşlemler…

End

Else

Begin

İşlemler…

End;

Else kodunun amacı eğer if deyiminin şartı sağlanmadıysa bu sefer else devreye girer. Mesela ben veri türü olarak adımı demir diye yazdım. Ama if deyimi kontrol ederken bunu Nazım diye kontrol ediyor olsun. Bu durumda if deyiminin koşulu sağlanmaz ve else deyiminin altındaki işlemler gerçekleşir. Eğer if deyiminin koşulu sağlanmış olsaydı bu sefer else bloğu program tarafında hiç okunmada atlanacaktı.

Örneğin 3 sayıdan büyüğünü bulan programı yazalım:

Uses crt;
Var
Max,sayi1,sayi2,sayi3:integer;
Begin
Writeln(‘birinci sayıyı girin’);readln(sayi1);
Writeln(‘ikinci sayiyi girin’);readln(sayi2);
Writeln(‘üçüncü sayıyı girin’);readln(sayi3);
Max:=sayi1;
If max<sayi2 then max:=sayi2;
İf max<sayi3 then max:=sayi3;
Writeln(‘en büyük sayi ‘,max);
Readln;
End.

Program ilk önce en büyük sayı olarak sayı1’i atadı.daha sonra sayı2 ve sayı3 buna göre deyerlendirildi.Eğer koşullar sağlandıysa max değeri deyişti ve son olarakta write koduyla ekrana çıktı olarak kullanıcının görmesi sağlandı.

Case Of Yapısı

Bir değerin birden fazla karşılaştırmasını yapan ve bir bir eşitliğin bulunması halinde belli program parçalarının çalıştırılmasını sağlayan CASE deyiminin genel olarak yapısı aşağıdaki gibidir.

CASE Kontrol Deyişkeni OF
Etiket1: Blok1 ;
Etiket2: Blok2 ;


Etiketn:Blokn;
ELSE BLOK
END;

Uses crt;
Var
Yas:integer;
Begin
Writeln(‘yaşınız kaç=’);
Readln(yas);
Case yas of
5..17:begin
writeln(‘çocuksunuz’);
end;
18..35:begin
writeln(‘gençsiniz’);
end;
36..60:begin
writeln(‘orta yaştasınız’);
end;
60..90:begin
writeln(‘yaşlısınız’);
end;
end;
readln;
end.

TEKRARLAMA DEYİMLERİ

FOR – DO DÖNGÜSÜ

Programı belli sayıda çalıştırmak için kullanılır. Bu sayede aynı işlem istenilen sayıda tekrarlanabilir.Öğrneğin bir sayıyı istediğiniz kadar çarpabilir , toplayabilir yada bölebilirsiniz. Bu döngü bir şart koşmaksızın programı her halükarda istenildiği kadar çalıştırır.

Girilen Sayıya Kadar Toplama

Uses crt;
Var
Sayi,i:integer;
Begin
Toplam:=0;
Writeln(‘bir sayı girin’);
Readln(sayi);
For i:=1 to sayi do
begin
Toplam:=toplam+i;
End;
Writeln(‘sonuz=’,toplam);
Readln;
End.

Program kullanıcının girdiği sayıya kadar tekrarlanıyor.Bittikten sonrada toplam deyeişekine aktarılmış olan toplam sonucunu alıyor ve ekrana çıktı olarak gönderiyor.

ŞİMDİ BİRAZ DAHA KOMPLEKS BİR ÖRNEK ÇÖZELİM

Asal Sayı Kontrolü

Uses crt;
Var
Sayi,i:integer;
Begin
Writeln(‘Kontrol edilecek sayıyı girin’);
Readln(sayi);
For i:=2 to sayi-1 do
İf Trunc((sayi)/(i)) * i = sayi then
begin
Writeln(‘sayı asal değildir.’);
Readln;
Halt;
End;
Writeln(‘sayı asaldır’);
Readln;
End.

Öncelikli olarak kullanıcıdan veriyi çekiyoruz.Bu veriyi okutup kontrol ettikten sonra (Readln) komutuyla for – do döngüsünde kullanıyoruz. Bu sayede istenilen sayıyı kontrol edebileceğiz.

Asal sayı tanımı : Bir sayı düşünün ; kendisi dışında ve ‘1’ dışında hiçbir sayıya bölünmesin . İşte böyle sayılara asal sayı diyoruz .

İşte bu tanıma göre programı yazdık . Program sayıya kadar olan sayılara bölünüyor . ve sayının tam kısmı alınıyor. Daha sonra bu tam kısım aynı sayıyla çarpılıyor. Eğer gene sayıya eşit ise bu sayı asal değildir diyebiliriz.Şimdi biraz daha somut açıklayalım. J

Mesela kullanıcı 13 sayısını girmiş olsun. Biz öncelikle bu sayıyı döngüye sokuyoruz . Daha sonra ‘2’ den başlayarak sayının yani 13’ün bir ekisiği olan 12 ye kadar bölüyoruz . eğer hiçbir sayiya bölünmüyorsa sayi asaldır . ama tam bölünmüş ise sayı asal deyildir. Mesela girilen 13 sayısı öncelikle ‘2’ sayısına bölünür.sayının tam kısmı olan 6 alınır.bu bölünen sayı olan 2 ile çarpılır ve 12 sonucu bulunur . ‘13’ ‘12’ye eşitmidir diye sorgulanır ve eşit olmadığı gözükür .demekki böünmüyor sonucuna ulaşılır . 12ye bölününceye kadar devam edilir . Sonra bir sonuca ulaşılır . Sayı ya asaldır yada değildir .

NOT: Asal sayıların belli bir dizilimi olmadığından bilgisayar bu şekilde yaptırabiliriz . Bunun sebebi bilgisayarların insan zekasından .ok daha hızlı olmasıdır. Ama bir insan asal sayı kontrolü yaparken kendinden önceki asal sayılara bölmesi yeterlidir. Fakat 765 sayısını bir insan kontrol ederken altındaki tüm asal sayıları bulmalıdır.buda zaman kaybı olur.

Repeat Until Döngüsü

Bir program bloğunun belirli şartını sağlayıncaya kadar döngü döner.

Repeat

Program Satırları

Until (şart)

While Do Döngüsü

Bir program bloğunun belli bir şartı sağlanıncaya kadar dönen bir döngüdür .

While <şart cümlesi> Do BLOK

Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: