|
Loyihalash Algoritm – berilgan natijaga erishish uchun qilinishi kerak boʻlgan aniq koʻrsatmalar ketma-ketligi. Algoritm
|
bet | 4/4 | Sana | 14.05.2024 | Hajmi | 240 Kb. | | #232158 |
Bog'liq 1-2 amaliy algoritim (1)Takrorlash operatori.
Yechilayotgan masalaning mohiyatiga qarab, dasturchi tuzuvchi o‘zi uchun qulay bo‘lgan takrorlash operatorini tanlab olishi mumkin.
Takrorlash operatorlarining 3 xil turi mavjud:
· parametrli takrorlash operatori;
· repeat takrorlash operatori;
· while takrorlash operatori.
Dasturlash jarayonida ayrim hollarda bir yoki bir necha amallarni bir necha marotaba takrorlab bajarish zarurati tug‘iladi. Masalan, 1+2+…+2011 yig‘indini hisoblashimiz hisoblash uchun quyidagi dastur tuzadigan bo‘lsak,
..
a:=1; S:=s+a;
a:=2; S:=s+a;
a:=3; S:=s+a;
a:=4; S:=s+a; va hokazo, ya’ni dasturimiz «uzundan-uzun» ko‘rinishga ega bo‘lar edi. E’tibor bilan qaraydigan bo‘lsak a-o‘zgaruvchi har safar 1-ga ortib borib, ega bo‘lgan qiymati S-ga qo‘shilmoqda. Aynan shunday hollar uchun parametrli sikllardan foydalanish dasturchining ishini yengillashtiradi.
Parametrik sikllarning umumiy ko‘rnishi quyidagicha:
For := to do
< operator yoki operatorlar>
Bu yerda a-parametr bosh qiymatiga, b-parametr oxirgi qiymatiga teng.
1-misol:
For i:=1 to 23 do
s:=s+1/I;
Siklning bu holatida parametr i-ning qiymati dastlab 1-ga teng bo‘lib, sungra siklning har bir qadamida ‘+1’-ga orta boradi va 2,3,…,23 ga teng bo‘ladi. Zarur hollarda parametrning qiymatini ‘-1’ ortttirish mumkin bo‘lib, bunda «to» o‘rniga «downto» ishlatiladi.
Misol-1. 1 dan 10 gacha bo’lgan sonlarni chiqaruvchi dastur tuzing.
#include
#include
using namespace std;
int main ()
{
for (int i =1; i<10; i++)
cout <
cout <
return 0;
}
Quyidagi yig’indini hisoblovchi dastur tuzing.
//’Takrorlanuvchi operatori’
#include
#include
using namespace std;
int main ()
{
float S=0;
for (float i = 1; i <=50; i++)
s+=1/i;
cout <return 0;
}
b) while sikli(takrorlanadigan amallar bajarilishi uchun avval shart tekshiriladi). Bu takrorlashning tuzilishi quyidagicha:
While d o
Bu yerda mantiqiy ifoda (shart) qiymati True bo‘lguncha sikl tanasidagi operatorlar bajariladi, aks hollarda sikl tanasidagi amallar bajarilmaydi.
While shartli tarorlash blok-sxemasi
|
Dastur-misol
|
|
var x:integer;
begin
x:=-5;
while (x<15) do
begin
write(sqr(x), ' ');
x:=x+2;
end;
end.
|
Dastur natijasi:
|
Misol. Kiritiladigan ixtiyoriy a,b,c sonlar uchun a+b>c, a+c>b, b+c>a tengsizliklarning barchasi bajarilganda «shartlar qanoatlantirilgan» deb javob beruvchi dastur yarating.
program r2;
uses crt;
var a,b,c,d:integer;
javob:string;
begin clrscr;
readln(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then
writeln('shartlar qanoatlantirilgan');
readln;
end.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Loyihalash Algoritm – berilgan natijaga erishish uchun qilinishi kerak boʻlgan aniq koʻrsatmalar ketma-ketligi. Algoritm
|