6-Mavzu: Siklga kiritish uchun mantiqiy ifoda tuzish Sharti avval tekshiriladigan takrorlanish jarayoni


Download 18 Kb.
Sana17.10.2023
Hajmi18 Kb.
#1705410
Bog'liq
6-Mavzu Siklga kiritish uchun mantiqiy ifoda tuzish


6-Mavzu: Siklga kiritish uchun mantiqiy ifoda tuzish


Sharti avval tekshiriladigan takrorlanish jarayoni.
Takrorlauvchi jarayonning bu ko`rinishi takrorlanish soni oldindan noma’lum bo`lgan hollarda, ya’ni takrorlanishdan chiqish ma’lum shartga bog`liq hollarda ishlatiladi. Takrorlanishning bu jarayonida takrorlanishdan chiqish sharti takrorlanish tanasini bajarishdan oldin tekshiriladi. Ushbu operatorning ko`rinishi quyidagichadir: WHILE <mantiqiy ifoda > DO < operatorlar > ; bu yerda, while – toki, do – bajarish ma’nosini anglatuvchi xizmatchi so`zlar, operatorlar takrorlanish tanasini belgilaydi. Takrorlanish tanasida bitta yoki bir necha opeatorlar guruhi bo`lishi mumkin. Bunda operatorlar guruhi, begin va end ga olib yoziladi.


1-misol. a haqiqiy son berilgan bo`lsin. Shunday eng kichik butun musbat k sonini topish talab qilinsinki, bu son 3 k > a shartni qanoatlantirsin.


Yechish. Masalaning dasturini tuzish uchun 3k ifodaning qiymatini saqlaydigan qo`shimcha o`zgaruvchi kattalik kiritishimiz lozim. Agar uni S bilan belgilasak, u holda k=0 da S=1 dan boshlab, bitta qadam bilan o`zgarishda yuqoridagi formulani S=S*3 rekkurent formula bilan almashtiramiz. U holda takrorlanishdagi hisobdan chiqish sharti S > a bo`ladi.
Algoritim dasturlarinini tuzamiz.


Program wel;
Var k: integer; S, a: real;
Begin S:= 1; k:= 0; a:= 30;
While S<= a do
Begin S:= S*3; k:= k+1;
Writeln(‘k=‘, k, ‘S=’, S);
end; End.
Natijada a = 30 son uchun eng kichik k son 4 ekan.


2 – misol. Quyidagi ifodaning qiymatini toping. .


Yechish. Bunda h=0,1 x ning o`zgarish qadami, a va b lar esa uning boshlang`ich va oxirgi qiymatlari. Dasturni tuzamiz.


Program prew (input, output);
Uses printer;
Var x, y, a, b, h: real;
Begin writeln(‘kiritilsin – a, b, h’);
read(a, b, h);
x:= a;
while x<= b do
begin y:= (exp(3*ln(x))-4*x+1)/(sqr(x)+2*x+1);
writeln(‘y=’, y);
x:= x+h;
end;End.
Download 18 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling