Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Procedure ve Function PASCAL’da.

Benzer bir sunumlar


... konulu sunumlar: "ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Procedure ve Function PASCAL’da."— Sunum transkripti:

1 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Procedure ve Function PASCAL’da

2 Modüler Programlama ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Program modülleri : Procedur ve Function Ana program, modüller koleksiyonu gibidir. Ana programda modüller çağrılarak iş yapılır, ancak program entegre olmalıdır. Modüller, tek başlarına bir iş yapan (kendi “const” ve “var”ları olan) ve ana bütünle birleşince daha çok iş yapan alt programlardır.

3 Procedure ve Function’lar alt programlardır. Algoritma deseninde işi alt parçalara bölmek ve ana programda bunları çağırmak gerek. Procedure ve Functionlar alt algoritmalardır Bu programlar, ana program tarafından bazı işleri yaptırmak için çağırılır ve kullanılırlar (program içinde program). Bunlar da begin ile başlayıp end; ile biter. Bunlara anlamlı isimler vermelidir, çünkü gerektiğinde bu adla çağrılacaktır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

4 Procedure ve Function’lar alt programlardır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Ana program Dataları al İşlem yap İşlem 1 İşlem 1.1 İşlem 1.2 İşlem 2 Çıktıyı yaz Top-down design: İşi alt parçalara böl, her alt parçanın programını (procedure) yaz, bunları gerektiğinde çağıran ana programı yaz. Hangi alt programın ne işe yaradığını { } arasına açıkça yaz. Ana program, bir mütahit gibi duvarcı, tesisatçı, elektriçi, sıvacı vs.yi sırası geldiğinde çağırır.

5 Procedure program Procedure; uses wincrt; procedure selam; begin Writeln(‘Merhaba'); end; begin selam; end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Alt programlar her zaman üstte yazılır. Ana program Pascal programları alttan başlayarak okunursa daha iyi olur. Çünkü ana program en alttadır. Procedur ve Functionlar başta yer alır. ProcA ProcB ProcC Ana program Begin ProcA; ProcB; PorcC; End.

6 Procedure’ ler parametre kullanabilir Program procedure1; uses wincrt; var s:string; i:integer; procedure yaz(s: string; i: integer); begin Writeln(s); Writeln(i); end; begin writeln ('Dizi :'); read (s); write ('Sayı :'); read (i); yaz(s,i); end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Program Procedure2; uses wincrt; var x,x2: integer; procedure kare (x: integer); begin x2:=x*x; end; begin write ('Karesi alınacak sayı : '); readln (x);kare (x); write (x,' sayısının karesi : ',x2); end.

7 Global ve lokal parametreler Local değişkenler bir procedur içinde belirlenen ve kullanılan değişkenlerdir. Başka yerde kullanılmaz. Global değişkenler bütün program boyunca geçerli olan değişkenlerdir. Bunlar procedur içinde kullanılıp üzerinde işlem yapılabilir, ancak procedur bitince ana programda geri eski değerlerini alır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Geçici değişkenleri global değil, lokal ayarlayın (“no global variables in procedures”)

8 Global ve lokal parametreler Program procedure7; uses wincrt; var a,b,gec: integer; procedure degistir (var x,y: integer); var gec: integer; begin gec:=x; x:=y; y:=gec; writeln (a:4,b:4,gec:4) end; begin a:=1; b:=2; gec:=3; writeln (a:4,b:4,gec:4); degistir (a,b); writeln (a:4,b:4,gec:4) end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Burada çıktı şeklinde olur. İkinci satırda “b” “a”nın, “a” da “b”nin değerini alıyor. “Gec” değişkeni procedureden sonra global değerini geri alır. Burada “var” komutunu unutursan, yukarıdaki “var” satırında global değer gibi arar.

9 Parametreler ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Program parametre; Var say1,say2: integer; say3:real; Procedure dene (s1,s2: integer; s3:real); Procedure dene (var s1,s2: integer; s3:real); Value parametre Aktüel parametre Variable parametre Formal parametre Ana program Proc Say1 s1 Say2 s2 Say3 s3 Ana programdaki değişkenler Procedur içindeki işlemlerde değişik değerler alabilir, ancak ana programa döner dönmez eski değerlerini alır. Procedur içinde değer tanımlayacaksak “var” ile tanımlamalıyız.

10 Global ve lokal parametreler Program proc9; uses wincrt; var say1,say2: integer; say3:real; procedure sayyaz (s1,s2:integer; s3:real); begin writeln (s1:10,s2:10,s3:10:2); s1:=2*s1; s2:=2*s2;s3:=2*s3; writeln (s1:10,s2:10,s3:10:2) end; begin say1:=5; say2:=8;say3:=say1/say2; writeln (say1:10,say2:10,say3:10:2); sayyaz (say1,say2,say3); writeln (say1:10,say2:10,say3:10:2) end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Burada önce ana program değerleri yazılıyor, alt program çağrılıyor, burada da önce ana program değerleri yazılıyor, sonra işlem yapılıp yeni değerler yazılıyor, sonra eski programa dönüp tekrar oranın değerleri yazılıyor.

11 Program procedure3; uses wincrt; const oran=0.18; {kdv oranı} indir=0.20; {peşin indirimi} var fiyat,sonfiyat :real; procedure kdv (fiyat:real); begin sonfiyat:=fiyat+(fiyat*oran); end; procedure indirim (fiyat:real); begin sonfiyat:=fiyat-(fiyat*indir); end; begin writeln ('Fiyat : ');read (fiyat); kdv (fiyat); writeln ('KDVli fiyatı : ',sonfiyat:6:2); indirim (fiyat); writeln ('İndirimli fiyatı : ',sonfiyat:6:2); end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN “Procedur”ler bizi yüzlerce satır kod yazmaktan ve satır numaralarına atlayan ilkel “goto” komutundan kurtarıyor.

12 Program procedurcagirma; uses wincrt; var p,p50,p20,p10,p5,ptek,yb,bl,kl:integer; procedure yuz (p:integer); begin yb:=p div 100; kl:=p mod 100; p50:=kl; end; procedure elli (p50:integer); begin yb:=p50 div 50;kl:=p50 mod 50; p20:=kl; end; procedure yirmi (p20:integer); begin yb:=p20 div 20;kl:=p20 mod 20; p10:=kl; end; procedure on (p10:integer); begin yb:=p10 div 10;kl:=p10 mod 10; p5:=kl; end; ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN procedure bes (p5:integer); begin yb:=p5 div 5; kl:=p5 mod 5; ptek:=kl; end; begin write ('Kaç lira ödenecek : '); readln (p); yuz (p); writeln (yb:5,' yüzlük ',yb*100:8); elli (p50); writeln (yb:5,' ellilik ',yb*50:8); yirmi (p20); writeln (yb:5,' yirmilik',yb*20:8); on (p10); writeln (yb:5,' onluk ',yb*10:8); bes (p5); writeln (yb:5,' beşlik ',yb*5:8); writeln (ptek:5,' teklik ',ptek*1:8); writeln ('Toplam ',p:8); end. Otomatik para ödeme


"ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN Procedure ve Function PASCAL’da." indir ppt

Benzer bir sunumlar


Google Reklamları