|
1- dars. Mavzu: Masalalarni kompyuterda yechish bosqichlari
|
bet | 83/145 | Sana | 14.02.2024 | Hajmi | 1,92 Mb. | | #156614 |
Bog'liq 1- dars. Mavzu Masalalarni kompyuterda yechish bosqichlari Dars1- misol. «0'zbekiston — vatanim manim!» matnini ekranga 20 marta chiqaruvchi dastur tuzing.
Yechish. Shartga ko'ra ekranga «0'zbekiston — vatanim manim!» matni 20 marta chiqarilishi kerak. Ya'ni WriteLn('Ozbekiston — vatanim manim!') operatori 20 marta takrorlanishi lozim. Quyidagicha dastur tuziladi.
Program Takrorlash;
Var I : Integer;
Begin
For I:=l To 20 Do
WriteLn('0'zbekiston — vatanim manim!');
End.
Ushbu dasturda takrorlash parametri I ning boshlang'ich qiymati 1 ga, oxirgi qiymati 20 ga tengdir. Takrorlash tanasi bitta — WriteLn('0'zbekiston — vatanim manim!') operatoridan iborat. Dastur bajarilganda takrorlash parametri navbat bilan 1, 2, 3,..., 20 qiymatlarni qabul qiladi va har safar WriteLn('0'zbekiston — vatanim manim!'); operatori bajariladi. Natijada ekranga «0'zbekiston — vatanim manim!» matni 20 marta yangi satrdan chiqariladi. Dasturda takrorlash parametrining boshlang'ich qiymatini 41 va oxirgi qiymatini 60 ga o'zgartirilsa ham natija shunday bo'ladi, chunki takrorlanishlar soni 60-41 + 1=20 ta.
2- misol. Ekranga 1 dan 20 gacha bo'lgan butun sonlarni o'sish tartibida chiqaruvchi dastur tuzing.
Program Ketma_ketlik;
Var I, S : Integer;
Begin
S:=0;
For I:=l To 20 Do begin S:=S+1; WriteLn(S); end;
End.
Umuman, takrorlash parametrini takrorlash tanasida ishlatish ham mumkin. Lekin uning qiymatini o'zgartirib bo'lmaydi. 2-misol dasturini tahlil qilib, takrorlanish davomida S o'zgaruvchi I bilan bir xil qiymatlar qabul qilayotganligini ko'rish mumkin. Shunday ekan, ekranga S ning o'rniga I ni chiqarish ham mumkin. U holda dasturda S o'zgaruvchini qo'llashga hojat qolmaydi. Bularni inobatga olib, dastur quyidagicha o'zgartiriladi:
Program Ketma_ketlik;
Var I : Integer;
Begin
For I:=l To 20 Do WriteLn(I);
End.
3- misol. 1 dan 100 gacha bo'lgan butun sonlarni kamayish tartibida chop etuvchi dastur tuzing.
Yechish. Chop etiladigan sonlarni son takrorlash parametri i deb belgilanadi.
Program Sonlar;
Var i,son : Integer;
Begin
son:=101;
For i:=l to 100 Do Begin son:=son~l; WriteLn(son); end;
End.
For operatorida takrorlash parametri katta qiymatdan kichik qiymatga qarab kamayib borishi ham mumkin. Buning uchun To xizmatchi so'zi o'rniga Downto xizmatchi so'zi qo'llaniladi. Buni hisobga olib yuqoridagi dasturni quyidagicha soddalashtirish mumkin:
Program Sonlar;
Var i : Integer;
Begin
For i:= 100 Downto 1 Do WriteLn(i);
End.
4-misol. 1 dan 21 gacha bo'lgan toq sonlar yig'indisini hisoblash dasturini tuzing.
Yechish. 1 dan 21 gacha bo'lgan sonlarni qarab chiqish uchun takrorlash operatori parametrini qo'llash mumkin. S= 1+2+3+...+21 yig'indidagi qo'shiluvchilar 255 dan katta emas, demak, bu holda parametr uchun byte, S butun va manfiy bo'lmagani uchun word turini tanlash mumkin. Indekslarning toqligini tekshirish uchun Odd(x) funksiyasidan foydalanish qulay.
Program Summ;
Var s: word; i: byte;
Begin S:=0;
For i:=l to 21 Do If odd(i) then S:=S+i;
WriteLn('S= S); End.
5-misol. Berilgan A[1..21] massivning juft indeksli elementlari yig'in- disini hisoblash dasturini tuzing.
Yechish. Massivni kiritish va indekslarini qarab chiqish uchun yana takrorlash operatori parametridan, indekslarning juftligini tekshirish uchun NOT(Odd(x)) dan foydalaniladi. Program Massiv; Var i: Integer; s: real; a: array[1..21] of real; Begin
For i:=l to 21 Do Begin WriteLn('a[', i, ']= '); readln(a[i]); end; S:=0;
For i:=l to 21 Do If NOT(odd(i)) then S:=S+a[i];
WriteLn('S= S); readln; End.
Ko'rib turganingizdek, massivlarni kiritish, chiqarish va ularning indekslarini sanash kabi vazifalarni bajarish uchun parametrli takrorlash operatori juda qulaydir.
|
| |