ALGORİTMA ÖRNEKLERİ Programlamaya Giriş ve Programlamaya Giriş ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Mustafa Eker’in “ALGORİTMAYI ANLAMAK” adlı kitabından, 3 Mustafa Eker’in “ALGORİTMAYI ANLAMAK” adlı kitabından, 3.konudaki algoritma örneklerini tahtaya çizdirerek öğrencilere anlattır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
285 lira çekmek isteyen bir müşteriye paraları nasıl verirsin? Bir bankamatikte : * 100 liralar * 50 liralar * 20 liralar * 10 liralar * 5 liralar var 285 lira çekmek isteyen bir müşteriye paraları nasıl verirsin? 2 adet 100’lük 200 1 adet 50’lik 250 1 adet 20’lik 270 1 adet 10’luk 280 1 adet 5’lik 285 Güle güle harca.... ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Okul önünde bekleyen öğrencileri sıraya sokup içeri sınıflarına alan bir algoritma tasarlayınız. Çoban yanına aldığı ot , kurt ve koyunu bir nehir kenarına geldiğinde karşıya geçirmek zorundadır. Ve nehirde bir kayık ve yalnızca 2 tane nesneyi taşıyacak kadar sağlamdır. Örneğin Çoban ve ot, veya koyun neyse... Otu koyuna, koyunuda kurda kaptırmadan üçünü de karşıya nasıl geçirir? Araba yarışlarında hızla bakım ve tamirat yerlerinin (pit) çalışma algoritmasını yazınız. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
EBOB ve EKOK hesaplama algoritmalarını yazınız. Bir bina inşaatının iş akış algoritmasını (ön raporlar, plan-proje, malzeme, beton ve duvarlar, elektrik, su vs. tesisatları gibi) yazınız. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Programlama örnekleri Pascal dilinden verilecek DOS temelli Turbo Pascal 7.0 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
veya Turbo Pascal for Windows ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Pascal dilinde program yazarken dikkat edilecek hususlar: Orada komut veya işlem olduğu için, değişken veya sabit adı olarak kullanılmaması gereken bazı kelimeler var: AND, ARRAY, BEGIN, CASE, CONST, DIV, DO, DOWNTO, ELSE, END, FILE, FOR, FORWARD, FUNCTION, GOTO, IF, IN, LABEL, MOD, NIL, NOT, OF, OR, PACKED, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, THEN, TO, TYPE, UNTIL, VAR, WHILE, WITH. Bunların dışında input, output, false, true, get, new, read, write, char, integer, real, boolean, text, sin, cos, sqr, sqrt, round vs. gibi veri tiplerini, fonksiyonları, işlemleri, dosyaları belirleyici (identifier) anahtar kelimeler de kullanılamaz. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Pascal dilinde program yazarken dikkat edilecek hususlar: Pascal dilinin bazı yazım kuralları vardır: En başa program adı yazılır; Her satır sonu ve her ifade ; ile biter (End.); Ekrana yazılmasını istediğiniz yazılar ‘...’ içine alınır; Boşluklar görmezden gelinir; Sabitler (Const) değişkenlerden (Var) önce yazılır; Ana program ve alt programlar Begin ile başlar End ile biter; Değişken listesinde ve çıktı listesinde aralara , konur; Pascal BÜYÜK/küçük harf ayrımı yapmaz; Eşleştirmeler := ile gösterilir. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Değişken (variable) ve sabit (constant) kavramları: Program içinde değeri değişecek kavram ve değerler değişken (variable), hiç değişmeden sabit kalacak kavram ve değerler ise sabit (constant) adını alır. Değişkenler tam sayı (integer), küsürlü sayı (real), bir harf (char) veya dizi (string) olabilir. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Program DegiskenlerVeSabitler; uses wincrt; const ad='Mustafa Ergün'; var a,b,toplam:integer; var bolum:real; begin writeln ('Bir sayı girin: '); read (a); writeln ('Bir sayı daha girin: '); read (b); toplam := a+b; bolum := a/b; writeln ('Sayın ',ad); writeln ('Sayıların toplamı :',toplam:10); writeln ('Sayıların bölümü :',bolum:10:2); readln; end. Başla a’yı Oku b’yi Oku toplam= a+b bolum= a/b Çıktıları yaz Son M e r h a b a 3 8 . 3 5 M e r h a b a Write (‘Merhaba’:10,toplam:4:2);{toplam 38.356 ise} Write (‘Merhaba’:10) ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Değişken (Variable) kavramını anlatmak için Adım adım test (trace, walk-through) Program adimadim1; uses wincrt; Var a,b:integer; Begin a:=5; b:=a+4; a:=b-2; b:=a*5; b:=b div 3; Writeln (a:5,b:5); End. İfade a’nın değeri b’nin değeri a:=5; 5 henüz yok b:=a+4 5 9 a:=b-2 7 9 b:=a*5 7 35 b:=b div 3 7 11 Değişkende en son işlemden sonra kalan esastır. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
Değişken (Variable) kavramını anlatmak için Adım adım test (trace, walk-through) Program adimadim2; uses wincrt; Var a,b,c,t:integer; Begin Writeln (‘a sayısını girin:’); read (a); Writeln (‘b sayısını girin:’); read (b); Writeln (‘c sayısını girin:’); read (c); t :=a+b+c; Writeln (‘Toplam:’,t); End. Her adımda değişkenlerin değeri Adımlar a b c t . 1 - - - - 2 4 - - - 3 4 7 - - 4 4 7 5 - 5 4 7 5 16 6 (yaz) 4 7 5 16 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN
(Değer aktaran for döngüsü) FOR... TO.... DO yapısı (Değer aktaran for döngüsü) Program forto1; uses wincrt; var i,j,k:integer; begin for i:=1 to 4 do for j:=1 to 3 do for k:=1 to 2 do writeln ('i=',i:2,' j=',j:2,' k=',k:2); end. Burada 4*3*2=24 döngü yapar. Döngüler içten dışa doğru başlar. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN