Paskal chiziqli dasturlar



Yüklə 77,5 Kb.
səhifə5/6
tarix11.12.2023
ölçüsü77,5 Kb.
#145886
1   2   3   4   5   6
PASKAL CHIZIQLI DASTURLAR

а, в,с, х

у=ах2+bх+с

у=

tamom


a=1.21; b=3.12; c=-0.2; x=0.45.



Dasturi quyidagicha bo’ladi.

Program t1(input,output);
Var a,b,c: real;
x, y: real;
Begin
Write(‘ a=’); read(a);
Write(‘ b=’); read(b);
Write(‘ c=’); read(c);
Write(‘ x=’); read(x);
y:=a*SQR(x)+b*x+c;
Writeln(‘ натижа y=’,y);
end.
Натижа y=1.449025

Ko’rinib turibdiki blok-sxemada bloklar ketma-ket (Chiziqli) bajariliyapdi.


Takrorlanuvchi algoritmlarni dasturlash
Siklik (takrorlanuvchi) tuzilmali dastur bir paytda bir yoki bir nechta parmetrlar o’zgarishida, bir guruh operatorlar hisoblashini ko’p marta takrorlash imkonini beradi. Masalani quyilishiga karab takrorlanishlar soni oldindan ma‘lum bo’lgan va takrorlanishlar oldindan noma‘lum bo’lgan tsiklga bo’linadi.
Tsiklik strukturali dasturlar shartli operatorlar yordamida tashkil etilishi mumkin. Bu holda tsiklik parametrini boshlangich qiymatini berish keraq tsiklda esa bu parametr bilan hisoblashni amalga oshirish kerak. Agar tsikl tugamagan bo’lsa, unda hisoblashlarni davom ettirish kerak.

Takrorlanish soni avvaldan ma‘lum bo’lganda ishlatiladigan operatorlar


Tsikl operatori FOR takrorlanishlar soni oldindan ma‘lum bo’lgan tsikllarni tashkil etish uchun ishlatiladi. Operatorning umumiy ko’rinishi:
for i:=m1 to m2 do s; yoki for i:=m1 downto m2 do s;
Bu yerda: i -tsikl parametri -u xakikiy turda bo’lishi mumkin emas; m1 va m2 -tsikl parametrining boshlangich va oxirgi qiymatlari; S -tsikl tanasi (sodda yoki tarkibiy operator). TO xizmatchi so’zida tsikl parametrining o’zgarish kadami 1ga teng. DOWNTO da esa -1ga teng.

Takrorlanish soni avvaldan ma‘lum bo’lmaganda ishlatiladigan operatorlar

WHILE operatori hisoblashlarni takrorlashlar soni yozilgan shartga bog’liq bo’lgan tsikllarni tashkil etish imkonini beradi.
Operatorning umumiy ko’rinishi:
while b1 do s; b2 bu yerda b1 mantiqiy ifoda (shart, operator) b2 ifoda yoki operator bo’lishi mumkin. S -sodda yoki taqribiy operatordan iborat tsikl tanasi.
Agar mantiqiy ifoda TRUE qiymatga ega bo’lsa (bajarilsa), unda tsikl operatorlar bajariladi. Mantiqiy ifoda FALSE qiymatini qabul qilishi bilan tsikl operatorlarining bajarilishi tugallanadi.
Misol. S= ni hisoblash algoritm blok-sxemasi va dasturini WHILE operatoridan foydalanib tuzamiz.



boshlash



N<=50

S=

tamom





Program N1(input, output);
Var s: real;
n: integer;
begin
s:=o; n:=1;
while n<=50 do
begin s:=s+1/n;
n:=n+1;
end;
writeln(‘yigindi qiymati s=’,s);
end.

bu yugindini hisoblash dasturida takrorlanish jarayoni n ning qiymati 50ga teng bo’lguncha davom etadi.


N ning qiymati 50 dan katta bo’lganidan yigindini kymatlarini hisoblash jarayoni tuxtatiladi va natija ekranga chiqariladi.

Natija s=4.499...





boshlash

S=s+1/n

S=

tamom



n=1…500



Endi ushbu dasturni for operatoridan foydalanib tuzamiz

Program N2(input, output);
Var s: real;
n: integer;
begin
s:=0;
for n:=1 to 50 do
s:=s+1/n;
writeln(‘yigindi qiymati s=’,s);
end.

yigindini qiymati s=4.499…



FOR va WHILE operatorlaridan tashqari REPAET operatori yordamida ham takrorlanish jarayonini tashkil etish mumkin. REPAET operatorining umumiy ko’rinishi quyidagicha:


repaet a until b; Bu yerda а-operatorlar tsikl tanasi, b-mantiqiy ifoda.
Agar b shart bajarilsa boshqarish V dan keyingi operatorga utadi, V bajarilmasa tsikl davom etishi tuxtaydi.

Ichma–ich joylashgan tsikllarni dasturlash


Bitta tsikl ichiga bir yoki bir nechta boshqa tsikllar kirsa, karrali tsikl strukturali dasturlar hosil bo’ladi, ya‘ni ichma-ich tsikllar hosil bo’ladi.
Bunda ichki tsiklning ta‘sir doirasi uni o’z ichiga oluvchi tsiklda joylashadi.
Misol A(10,15) matritsaning musbat elementlarining yozuvga chiqarish dasturini tuzamiz.
Har bir qatorda matritsaning berilgan qatoriga mansub elementlarni yozuvga chiqarsin. Agar qatorda musbat elementlar bo’lmasa, u bush bo’lishi kerak.
Dastur quyidagi ko’rinishda bo’ladi:
program matr (input, output);
const imax=10;ymax=15;
var y,i:integer;
a: array [1..imax,1..ymax] of real;
begin
for i=1 to imax do
begin
for y:=1 to ymax do
begin
read (a[i,y]);
if (a[i,y])>0 then write (a[i,y]:2:2)
end;
writeln
end;
end.

Yüklə 77,5 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə