Procedure ve Function PASCAL’da

Slides:



Advertisements
Benzer bir sunumlar
Fonksiyonlar.
Advertisements

“nereden başlamalı ?” PROBLEM ÇÖZME (PROBLEM SOLVING)
Turbo Pascal 7.0 Öğr. Gör. İrfan MACİT Endüstri Mühendisliği Bölümü
JavaScript Birinci Hafta.
Ders İçeriği: Kitaplar:
Bölüm 4 İşlevlerve Modüler Programlama. 1 / 8 İşlev Tanımı /* İşlev açıklama satırı */ ( ) { }
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ ***** Prof.Dr. Mustafa Ergün
ALGORİTMA ÖRNEKLERİ Programlamaya Giriş
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)
Fonksiyonlar ve Alt Programlar
Excel’de VBA programlama (Visual Basic Application) Ders 4
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
Ödevlerin en iyi ÇÖZÜMLERİ
PROBLEM ÇÖZME (PROBLEM SOLVING) “nereden başlamalı ?”
Fortran PROGRAMLAMA DİLİ
DELEGATE OOP-UYG.
Fonksiyonlar.
SÖZDE –KODLAR (pseudo-code)
Veri Yapıları Veri, her türlü değer demektir. Veri yapılarının tasarlanma ve oluşturulma amacı; “verinin işlenmesini kolaylaştırmak ve bu işlemi daha verimli.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
METODLAR Canan Işıl. 1 İçindekiler Açıklamalar, Örnekler, Sorularınız? Kaynakça, Teşekkürler..
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
PASCAL ile Programlamaya Giriş
INTERNET TABANLI PROGRAMLAMA
Kalıtım , Sınıf Asli Ergün.
SQL SERVER STORED PROCEDURE
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
FONKSİYONLAR İbrahim Onur Sığırcı.
a) b) c) d) e) Pi= 4* atan(1) y=Log10 | x | +4 Y= LOG10 (ABS(x))+4
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
Değişken Türleri.
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN PASCAL ile Programlamaya Giriş DÖNGÜLER (Loops)
C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1.
Birlik, onluk ve yüzlüklerden oluşmuştur.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Fonksiyonlar.
Adım Adım Algoritma.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Ders 2 Algoritma İfade Şekilleri
DOĞAL SAYILAR Selçuk DELİBAŞ.
Programlama Dillerinin Prensipleri
BÖLÜM 3 AKIŞ DİYAGRAMI.
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
SQL SERVER STORED PROCEDURE
2.2. Özel Semboller ve Pascal Sözcükleri
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Bölüm 9 Altprogramlar.
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
DÖNGÜLER.
Bilgisayar Programlama
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
2.2. Özel Semboller ve Pascal Sözcükleri
Altprogramların gerçeklenmesi
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
FONKSİYONLAR İbrahim Onur Sığırcı.
Örnek: Dışarıdan rast gele girilen 10 tane sayıdan kaç tanesi tek ve kaç tanesi çift ayrıca tekleri ve çiftleri ayrı ayrı toplayan programı yazınız. var.
Akis diyagramı Örnekleri
7. DİZİLER Bir dizi, aynı tipteki elemanların yan yana sıralanışı ile elde edilen bir bilgi kümesidir. Matematikte kullanılan doğal sayılar (1,2,3,..),
PASCAL`DA OPERATORLAR
Bilgisayar Bilimi Döngüler.
NİŞANTAŞI ÜNİVERSİTESİ
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Sunum transkripti:

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

Modüler Programlama Program modülleri : Procedur ve Function 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. Ana program, modüller koleksiyonu gibidir. Ana programda modüller çağrılarak iş yapılır, ancak program entegre olmalıdır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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

Procedure ve Function’lar alt programlardır. Ana program, bir mütahit gibi duvarcı, tesisatçı, elektriçi, sıvacı vs.yi sırası geldiğinde çağırır. Ana program İşlem 1.1 Dataları al İşlem 1 İşlem 1.2 İşlem yap İşlem 2 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. Çıktıyı yaz ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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

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; writeln ('Dizi :'); read (s); write ('Sayı :'); read (i); yaz(s,i); end. Program Procedure2; uses wincrt; var x,x2: integer; procedure kare (x: integer); begin x2:=x*x; end; write ('Karesi alınacak sayı : '); readln (x);kare (x); write (x,' sayısının karesi : ',x2); end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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. Geçici değişkenleri global değil, lokal ayarlayın (“no global variables in procedures”) ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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; a:=1; b:=2; gec:=3; writeln (a:4,b:4,gec:4); degistir (a,b); end. Burada “var” komutunu unutursan, yukarıdaki “var” satırında global değer gibi arar. Burada çıktı 2 3 1 1 2 1 3 ş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. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

Parametreler Program parametre; Var say1,say2: integer; say3:real; Value parametre Program parametre; Var say1,say2: integer; say3:real; Procedure dene (s1,s2: integer; s3:real); Procedure dene (var s1,s2: integer; s3:real); Aktüel parametre Formal parametre Variable parametre Ana program Proc 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. 5 5 Say1 s1 8 8 Say2 s2 2.6 2.6 Say3 s3 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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; 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. 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. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

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); sonfiyat:=fiyat-(fiyat*indir); writeln ('Fiyat : ');read (fiyat); kdv (fiyat); writeln ('KDVli fiyatı : ',sonfiyat:6:2); indirim (fiyat); writeln ('İndirimli fiyatı : ',sonfiyat:6:2); end. “Procedur”ler bizi yüzlerce satır kod yazmaktan ve satır numaralarına atlayan ilkel “goto” komutundan kurtarıyor. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

Otomatik para ödeme 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); yb:=p50 div 50;kl:=p50 mod 50; p20:=kl; procedure yirmi (p20:integer); yb:=p20 div 20;kl:=p20 mod 20; p10:=kl; procedure on (p10:integer); yb:=p10 div 10;kl:=p10 mod 10; p5:=kl; procedure bes (p5:integer); begin yb:=p5 div 5; kl:=p5 mod 5; ptek:=kl; end; 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. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN