![]() |
|
|
#1 (permalink) |
|
Kurmay Albay
![]() ![]() |
Özyinelemeli Altprogramlar: Kendi kendini çağıran altprogramlara özyinelemeli altprogramlar denir. Çözümü güç olan bazı problemler özyinelemeli altprogramlar kullanılarak daha kolay çözülebilir.
Örnek 8: uses crt; var n:integer; function f(k:integer):real; begin if k=0 then f:=1 else f:=k*f (k-1); writeln(k);end; begin readln(n);writeln(f(n));end. Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın 1'den 5' kadar tamsayıların toplamını bulan özyinelemeli fonksiyonun yazılması. Toplam5=5 + Toplam4 Toplam4=4 + Toplam3 Toplam3=3 + Toplam2 Toplam2=2 + Toplam1 Toplam1=1 Yukarıda görüldüğü gibi Toplam5!i bulmak için Toplam4'ü Toplam4'ü bulabilmek için Toplam3'ü ... bulmamız gerekmektedir. Yukarıdaki ifadeleri if deyimi kullanarak aşağıdaki şekilde yazabiliriz: if N=1 then Toplam:=1 else Toplam:= N + Toplam(N-1) Örnek 9: Verilecek sayının faktöriyelini bulan program özyinelemeli olarak yazınız. uses crt; var sayi:longint; function toplam(n:longint):longint; begin if n=1 then toplam:=1 else toplam:= n + toplam(n-1) end; begin write('sayı...:');readln(sayi); writeln(toplam(sayi)); Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın end. Örnek 10: Ana programdan girilen onluk sistemdeki sayıyı 2’lik sisteme çeviren pascal programını yazınız. Sayı ana programdan girilecek hesaplamalar alt programda olacak. uses crt; var sayi:integer; procedure iki(x:integer); procedure b(y:integer); begin if y div 2<>0 then b(y div 2); write(y mod 2);end; egin write(x:8 ’(10)=’); b(x);writeln(‘(2)’);end; begin clrscr; write(‘sayıyı giriniz’); readln(sayı); iki(sayı);readln; end. Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek 11:İstenilen satır kadar pascal üçgeni çizer. uses crt; var k i j:integer;function p(i j:integer):integerbegin if (i=j) or (j=1) then p:=1 else p:=p(i-1 j)+p(i-1 j-1);end;begin clrscr; write('Pascal ücgeni Kac Satir Olsun..: ');readln(k); for i:=1 to k do begin write(' ':20-1*i); for j:=1 to i do write(p(i j):4);end;readln; end. Örnekler; Örnek1:Girilen iki sayının kombinasyonunu bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek2:Katsayıları girilen denklemin deltasını bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek3:Diziye girilen elemanları küçükten büyüğe sıralayan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek4:Girilen sayının faktöriyelini bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek5:Girilen cümledeki harf sayısını bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek6:Girilen sayıyı yazıyla yazan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek7:Üs bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek8:Girilen sayının faktöriyelini (özyinelemeli) bulan Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek9:Pascal üçgeninin 12 atırını yazan (özyinelemeli) Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın Örnek10:Üs bulan (özyinelemeli) Linkleri Üyelerimiz Görebilir. UslanmaM Üyeliği İçin Tıklayın |
|
|
|
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | UslanmaM | Cevaplar | Son Mesaj |
| Alt Programlar:Procedure Alt Programlar | UnİQuE | Pascal | 0 | 06-14-2008 07:02 PM |
