Nüve Forum

Nüve Forum > kütüphane > Bilim ve Teknoloji > Bilgisayar > Yazılım > Pascal 'da Döngüler ve For Döngüsü

Yazılım hakkinda Pascal 'da Döngüler ve For Döngüsü ile ilgili bilgiler


[coverattach=1] For - to [downto] - do Döngüsü: Eger bir sayinin degerini belirli bir degerden baslayip yine belirli bir degere kadar 1'er 1'er artirmak ve her artirma isleminde de istenilen

Like Tree2Likes
  • 2 Post By Unrealseptic

Cevapla

 

LinkBack Seçenekler Stil
  #1  
Alt 16.07.09, 20:05
Unrealseptic - ait kullanıcı resmi (Avatar)
Ordinaryüs
 
Üyelik tarihi: Feb 2008
Nereden: kocaeli
İletiler: 14.735
Blog Başlıkları: 2
Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!Unrealseptic öyle bir şöhrete sahip ki kendinden önce namı yürüyor!
Standart Pascal 'da Döngüler ve For Döngüsü

[coverattach=1]For - to [downto] - do Döngüsü:

Eger bir sayinin degerini belirli bir degerden baslayip yine belirli bir degere kadar 1'er 1'er artirmak ve her artirma isleminde de istenilen islemleri yapmak isterseniz bu döngüyü kullanabilirsiniz. Cümle biraz karisik olmus olabilir ama komutun kullanimi gayet basit:
Kod:
For degisken:=baslangiç_degeri to bitis_degeri do islem...
ya da birden çok islem yapacaksaniz:
Kod:
For degisken:=baslangiç_degeri to bitis_degeri do Begin
islem 1
islem 2
islem 3
...
...
End;
seklinde kullanabilirsiniz. Burada her seferinde sayi:=sayi+1 isleminden kurtulmus oluyoruz. For döngüsü (bitis_degeri - baslangiç_degeri+1) kadar yapilacaktir. Mesela baslangiç degeri 3, bitis degeri 7 ise döngü (7-3) 5 defa yapilir. Çünkü döngü 3'den basliyor ve 3,4,5,6,7 olmak üzere 5 deger aliyor. Bu durumda 5 defa yapilir ve her seferinde degiskenin degeri degisir. Lafi uzatmadan 1'den 10'a kadar olan sayilari ekrana yazdiralim:

Kod:
Program GercekDongu;
Uses crt;
var
a:integer;
begin clrscr;
for a:=1 to 10 do writeln(a);
readln;
end.

Iste size çok kisa bir program. Repeat ile daha uzun yazdigimizi hatirlayin. Peki bir de bu sayilarin karesini de yazalim:

Kod:
Program GercekDongu2;
Uses crt;
var
a,kare:integer;
begin clrscr;
for a:=1 to 10 do begin
kare:=a*a;
writeln(a,' -> ',kare);
end; {For döngüsünün sonu}
readln;
end.

hatta buna bile gerek duymadan

Kod:
Program GercekDongu3;
Uses crt;
var
a:integer;
begin clrscr;
for a:=1 to 10 do writeln(a,' -> ',a*a);
readln;
end.

yapabilirsiniz. Peki simdi de bir sayinin faktoriyelini bulalim. Faktoriyel'i biliyorsunuzdur herhalde. Mesela 3 faktoriyel demek 1x2x3 demektir ve sonucu 6 olur. 5 faktoriyel ise 1x2x3x4x5 demektir ve sonucu 120 olur. Simdi girilen bir sayinin faktoriyelini bulalim:

Kod:
Program GercekDongu_FaktoriyelBul;
Uses crt;
var
a, sayi:integer;
fakt:longint;
begin clrscr;
write('Kaç faktoriyel olsun: ');readln(sayi);
fakt:=1;
for a:=1 to sayi do fakt:=fakt*a;
writeln(sayi,'! = ',fakt);
end.

Simdiye kadar neredeyse hep matematiksel islemler yaptik. Simdi de görsel birsey yapalim. Mesela bir yaziyi ekranin sol üst kösesinden baslayarak saga dogru kaydiran bir program yapalim:

Kod:
Program Yaziyi_Kaydir;
Uses crt;
var
a:byte;
yazi:string;
begin clrscr;
yazi:='www.seckin.canavari.com';
for a:=1 to 50 do begin
gotoxy(a,1);write(yazi);delay(50);clrscr;
end;
end.

Eger yazi çok hizli kayiyorsa delay(50); degerini artirin, yavas kayiyorsa azaltin. Delay'i sonra anlatiriz. Simdi de bir yaziyi çapraz olarak ekrana yazalim. Ama yazi en fazla 24 harf olsun:

Kod:
Program Yazdir_Bakalim;
Uses crt;
var
a:byte;
yazi:string;
uz:byte;
begin clrscr;
write('Bir yazi yazin (En fazla 24 harf): ');readln(yazi);
uz:=length(yazi);
clrscr;
for a:=1 to uz do begin
gotoxy(a,a);write(yazi[a]);
gotoxy(80-a,a);write(yazi[a]);
gotoxy(40,a);write(yazi[a]);
end;
readln;
end.

Yaziyi ekrana üç farkli sekilde yazdiriyoruz. Burada kullandigimiza yazi[a] 'yi önceden anlatmistik. mesela yazi[5] o yazinin 5. harfidir. Örnegin yazi:='Seckin'; ise yazi[2]='e' olur.
For döngüsünün ikinci kullanimi da to yerine downto iledir. Bu sekilde sayi 1'er 1'er artacaginza 1'er 1'er azalir. Bunun için baslangiç degeri bitis degerinden büyük olmalidir. Simdi de 200'dan 1'e kadar olan sayilari yan yana yazalim.

Kod:
Program asagigit;
uses crt;
var
a:byte;
begin clrscr;
for a:=200 downto 1 do write(a:4);
readln;
end.
Bir de girilen 10 tane sayidan 10'dan büyük olan sayilar ile 10'dan küçük olan sayilarin sayisini bulan programi yapalim:

Kod:
Program bul_bakalim;
Uses crt;
var
b,k,o:byte;
a:byte;
sayi:byte;
begin clrscr;
k:=0;b:=0;o:=0;
for a:=1 to 10 do begin
write('Bir sayi giriniz: ');readln(sayi);
if sayi<10 then k:=k+1;
if sayi>10 then b:=b+1;
if sayi=10 then o:=o+1;
end;
clrscr;
writeln('10''dan küçük olanlar: ',k,' tane.');
writeln('10''dan büyük olanlar: ',b,' tane.');
writeln('Girilen 10 sayisi: ',o,' tane.');
readln;
end.

Devamı ektedir...

Kaynak
Eklenmiş Resimin Önizlemesi
Pascal 'da Döngüler ve  For Döngüsü-pascal.jpg  
Eklenmiş Dosya
Dosya tipi: pdf 5-Donguler.pdf (324,8 KB (Kilobyte), 846x kez indirilmiştir)
__________________

Güzel Sanatlar Fakültesi/Lisesi Yetenek Sınavlarına Hazırlık Kursu
Resim Yağlı Boya Hobi Kursu
Hızlı ve Etkili Okuma Kursu
Çocuklar için Hızlı Okuma Kursu
Çocuklar için Resim Kursu
Diksiyon Kursu
Nefes Teknikleri Kursu
Kişisel Gelişim Kursları

Konu Unrealseptic tarafından (16.07.09 saat 20:09 ) değiştirilmiştir..
Alıntı ile Cevapla
Cevapla

Tags
'da, döngüler, döngüsü, pascal

Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Bütün zaman ayarları WEZ +2 olarak düzenlenmiştir. Şu anki saat: 22:51 .