Merhaba,
Bu yazımda Pascal
Programlamada döngüler konusunu inceleyeceğiz.
Döngüler, diğer
programlama dillerinde olduğu gibi Pascal içinde çok önemlidir. Döngüler
sayesinde daha kapsamlı programlar yazmaya başlayacağız.
Program yazarken
tekrarlanması gereken işlemler için döngüler kullanılmaktadır.
Üç adet döngü
inceleyeceğiz. Bunlar; For, While ve Repeat döngüleri
For Döngüsü:
for dögü değişkeni:=başlangıç değeri to bitiş değeri do
begin
{kod satırları}
end;
For döngüsü kullanımı yukarıda görüldüğü gibidir. Döngü değişkeni başlangıç değerinden bitiş değerine kadar artar ve her defasında istenilen işlemler yapılmaktadır.
for dögü değişkeni:=başlangıç değeri downto bitiş değeri do
begin
{kod satırları}
end;
Buradaki for kullanımda ise, başlangıç değeri bitiş değerine kadar azalır ve her defasında istenilen işlemler yapılmaktadır.
Repeat
Döngüsü:
Aşağıda
görüldüğü gibi istenilen şart sağlanana kadar işlemler devam eder.
repeat
{kod satırları}
until (şart);
Repeat döngüsünde birden
fazla satır için begin-end yazılmasına gerek yoktur.
While
Döngüsü:
Aşağıda
görüldüğü gibi istenilen şart sağlanana kadar işlemler devam eder.
while (şart) do
begin
{kod satırları}
end;
While Ve
Repeat Döngüsü Arasındaki Farklar:
- Repeat döngüsünde şart yanlış olduğu sürece, While döngüsünde ise şart doğru olduğu sürece döngü devam etmektedir.
- Repeat döngüsünde şart sonda kontrol edilir. Bu yüzden şartın doğru ya da yanlışlığına bakılmaksızın bir defa işlem yapılır ve şart sağlanmış ise döngü bitirilir. While döngüsünde ise şart döngüden önce kontrol edildiği için şart sağlanmıyorsa işlem yapılmadan döngü bitirilir.
Şimdi faktöriyel hesaplayan programın farklı döngü çeşitleri ile yapılış örneklerinin kodları paylaşacağım.
Program, girilen sayının faktöriyelini hesaplayıp, repeat döngüsü yardımıyla kullanıcının cevabına göre programı devam ettirmektedir.
uses crt;
var
fakto :extended;
i,num :integer;
x :char;
begin
repeat
clrscr;
write('Bir Sayi Girin:');
readln(num);
fakto:=1;
for i:=2 to num do
begin
fakto:=i*fakto;
end;
writeln(num,'!=',fakto);
writeln('devam edeyim mi?(e/h)');
readln(x);
until ((x='h') or (x='H'));
end.
uses crt;
var
fakto :extended;
i,num :integer;
x :char;
begin
repeat
clrscr;
write('Bir Sayi Girin:');
readln(num);
fakto:=1;
for i:=num downto 2 do
begin
fakto:=i*fakto;
end;
writeln(num,'!=',fakto);
writeln('devam edeyim mi?(e/h)');
readln(x);
until ((x='h') or (x='H'));
end.
uses crt;
var
fakto :extended;
i,num :integer;
x :char;
begin
repeat
clrscr;
write('Bir Sayi Girin:');
readln(num);
fakto:=1;
i:=1;
while (i<=num) do
begin
fakto:=i*fakto;
i=i+1;
end;
writeln(num,'!=',fakto);
writeln('devam edeyim mi?(e/h)');
readln(x);
until ((x='h') or (x='H'));
end.
Hiç yorum yok:
Yorum Gönder