6) operatorlar (begin…… end);
Paskal tilida operatorlar oddiy va murakkab bo’ladi. Oddiy operatorlar ichida boshqa operatorlar qatnashmaydi. Murakkab operatorlar bir nechta oddiy operatorlardan tashkil topgan bo’ladi. Paskal tilida oddiy operatorlarga ta’minlash operatori, o’tish operatori, bo’sh operatori va procedura operatorlari kiradi. Murakkab operatorlar shartli operator, sikl operatorlari, variant (tanlash) operatori va birlashtirish operatorlaridan iborat. Paskal tilining asosiy operatorlari bilan tanishib chiqamiz.
1. Ta’minlash (o’zlashtirish) operatori. Bu operator o‘zgaruvchilarga tegishli qiymatlarni dasturning o‘zida berish uchun ishlatiladi. Operatorning unumiy ko’rinishi qyuidagicha: o‘zgaruvchi: = ifoda. Bu yerda «:=» belgisi ta’minlash amalini bajaradi. Masalan. X:=2: z:=x*x-2; t:=SQR(x+y); z:=true; t:=(z>z1) and (x<0); 2. Ma’lumotlarni kiritish operatori. Bu operator dasturda boshlang‘ich qiymatlarni berish uchun ishlatiladi: read (b1,b2,…,bn); readln (b1,b2,…,bn). Bu yerda b1,b2,…,bn qiymatlari kiritilishi talab etilgan o‘zgaruvchilarni nomi. Masalan. Read (a,b,c); readln (a,b,c). readln (x1, x2, x3);
3. Ma’lumotlarni chiqarish operatori.
Dasturda hosil bo‘lgan natijalarni chiqarish uchun chiqarish operatori ishlatiladi: write (a1, a2, …, an); write; writeln (a1, a2, …, an);. Bu yerda a1,a2,…,an qiymati chiqarilishi kerak bo‘lgan o‘zgaruvchilarning nomi.
Masalan. write (x,y); writeln (x1,x2); write (’matn=’ , x ); writeln(x,’’:n,y); writeln(x:5:3,’’:3,y:5:2); .
II-bob. Dastur tuzishga doir amaliy masalalar.
Chiziqli dastur tuzish
Chiziqli dastur deganda masalaning algoritmiga mos keluvchi buyruqlar ketma-ketligi dasturda uchrash tartibiga mos ravishda bajariladigan dasturlar tushuniladi. Dasturning bitta satrida bir nechta buyruqlar kelishi mumkin. Bunda ular birbiridan «;» belgisi bilan ajratiladi. Paskal tilidagi dastur qo‘yilgan masala-ning yechish algoritmidagi buyruqlarni kompilyatorga «tushunarli» bo‘lgan ko‘rinishda yuqoridagi umumiy sxemaga muvofiq ifodalash natijasida hosil bo‘ladi.
1-masala. a=19, b=2, d=1950 bo'lganda, quyidagi ifodalarning qiymatini xotiraga qulay usulda kiritib hisoblash dasturini tuzing:
a) y=a+b2+ad; b) t = a + b-3 d - a; d) s=b*cosa+sind; e) z =ad2+ab.
a) program masala_a;
uses crt;
var a,b,d, y: integer;
begin
CrScr; Write(‘a ning qiymatini kiriting=’); Readln(a);
Write(‘b ning qiymatini kiriting=’); Readln(b); Write(‘d ning qiymatini kiriting=’); Readln(d); y:=a+b*b+a*d; writeln(‘y=’,y); readln; end.
|
b) program masala_b;
uses crt;
var a,b,d: integer; t: real;
begin ClrScr; Write(‘a ning qiymatini kiriting=’); Readln(a);
Write(‘b ning qiymatini kiriting=’); Readln(b); Write(‘d ning qiymatini kiriting=’);Readln(d);
t:=sqrt(a+b)-exp(ln(d-a)/3); writeln(‘t=’,t); readln; end.
|
d) program masala_d;
uses crt;
var a,b,d: integer; y: real;
begin ClrScr; Write(‘a ning qiymatini kiriting=’); Readln(a);
Write(‘b ning qiymatini kiriting=’); Readln(b);
Write(‘d ning qiymatini kiriting=’); Readln(d); s:=b*cos(a)+sin(d); writeln(‘s=’,s); readln; end.
|
e) program masala_e;
uses crt;
var a,b,d, z: integer;
begin ClrScr; Write(‘a ning qiymatini kiriting=’); Readln(a);
Write(‘b ning qiymatini kiriting=’); Readln(b);
Write(‘d ning qiymatini kiriting=’); Readln(d); z:=a*d*d+a*b; writeln(‘z=’,z); readln; end.
|
2-masala. y=23x+2 funksiyaning qiymatini x ning -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 qiymatlarida qulay usulda kiritib, hisoblash dasturini tuzing.
-
dasturi
|
Program masala_2;
Uses crt;
Var x,y: integer;
Begin ClrScr; Write(‘x ni kiriting=’); Readln(x); Y:=23*x+2;
Writeln(‘y=’;y);
Readln; End.
|
3- masala. y=21x2+7x+1963 funksiyaning qiymatini x ning -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 qiymatlarida qulay usulda kiritib, hisoblash dasturini tuzing.
-
dasturi
|
Program masala_3;
Uses crt;
Var x,y: integer; Begin
ClrScr; Write(‘x ni kiriting=’); Readln(x);
Y:=21*x*x+7*x+1963;
Writeln(‘y=’;y);
Readln;End.
|
4-masala. Berilgan radius bo’yicha aylana uzunligi va u bilan chegaralan-gan doira yuzini toping.
-
dasturi
|
program yuza;
var L,R,S:real;
begin writeln(‘aylana radiusini kiriting’); readln(R); write(‘aylana uzunligi-‘);L:=2*Pi*R;
writeln (‘L=’;L); write(‘doira yuzasi-‘); S:= Pi* R* R; writeln(‘ S =’, S);
end.
|
Ushbu dasturni komputerda bajarish uchun, avval Turbo Paskal muhitini ishga tushiramiz. So‘ngra dastur matnini kiritamiz. Bu matnni xatoliklarga tekshiramiz,ya’ni kompilyasiya qilamiz. Buning uchun ALT + F9 yoki ALT + C tugmalaridan foydalanamiz. Matnni kiritishda yo‘l qo‘yilgan xatoliklar mavjud bo‘lsa, ularni bartaraf etamiz. Xatoliklar qolmagandan so‘ng, dasturni bajarishga ko’rsatma beramiz. Buning uchun CTRL + F9 yoki ALT + R tugmalaridan foydalanish mumkin.
5-masala. a,b,c tomonlari bilan berilgan uchburchakni yuzasini hisoblash algoritmi va dasturini tuzing.
Hisoblashda a, b, c, p va S haqiqiy turdagi miqdorlar qatnashayapdi. O’zgaruvchilar nomi o’zgaruvchilarni tavsiflash bo’limida tavsiflanadi. Operatorlar bo’limida eng avval a,b,c qiymatlarni kiritish operatori, so’ngra p va S larni hisoblash operatorlari va S natijani chiqarish operatori yoziladi. Bu masalani yechish uchun Geron formulasidan foydalanamiz
Dasturning umumiy ko’rinishi quyidagicha bo’ladi:
-
dasturi
|
Program uchyuza;
var a,b,c,p,S:real;
begin writeln(‘Uchburchak tomonlarini kiritng;); readln(a,b,c); writeln(‘Uchburchak peremetri’);
P:=(a+b+c)/2; writeln(‘p=’,2*p); writeln(‘uchburchak yuzasi’); S:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln(‘S=’,S); end.
|
6-masala. Arifmetik progressiyaning birinchi hadi va ayirmasi berilgan bo’lsa uning n-hadi va n ta hadlari yig’indisini hisoblash algoritmi va dasturini tuzing.
Bu yerda arifmetik progressiyaning birinchi hadi a1, ayirmasi d va hadlar soni n berilgan bo’lsin. U holda uni yechish algoritmi va dasturi quyidagicha bo’ladi.
-
dasturi
|
Program arifprogressiya;
var a1, d, Sn : real; n:integer;
begin write(‘Arifmetik progressiyaning birinchi hadi a1=’;); readln(a1);write(‘ayirmasi d=’);readln(d);
write(‘hadlar soni n-’);readln(n);
write( ‘Arif.progressiyning ’, n,’- hadi=’); an:=a1+(n-1)*d; writeln(‘an=’,an);write( ‘Arif.progressiyning ’, n,’ ta hadi yig’indisi=’); Sn:=(a1+an)/2*n; writeln(‘Sn=’,Sn); end.
|
7-masala. Uchburchakning tomonlari a, b va ular orasidagi burchak α berilgan. Uchburchakning yuzini hisoblash dasturini tuzing.
-
dasturi
|
Program masala_7;
Uses crt;
Var a, b, alfa: real; Begin
ClrScr;
Write(‘a tomon uzunligini kiriting=’); Readln(a);
Write(‘b tomon uzunligini kiriting=’); Readln(b);
Write(‘ burchak kattaligini kiriting=’); Readln(alfa);
s:=a*b*sin(alfa)/2;
Writeln(‘Uchburchak yuzi S=’;s);
Readln; End.
|
8-masala. Boshlang`ich tezligi v0 bo`lib, a tezlanish bilan harakat qilayotgan moddiy nuqtaning t vaqt ichida bosib o`tgan yo`lini toping.
-
dasturi
|
Program masala_8;
Uses crt;
Var s, v0, a, t: real;
Begin
Write(‘boshlang`ich tezlik v0=’); readln(v0); Write(‘tezllanish=’); readln(a);
Write(‘vaqt t=’); readln(t); S:=v0*t+a*t*t/2; Writeln(‘S=’,s); Readln; End.
|
9-masala. Yer sirtiga nisbatan α burchak ostida v0 boshlang`ich tezlik bilan otilgan jismning uchish masofasini aniqlash dasturini tuzing.
-
dasturi
|
Program masala_9;
Uses crt; Var a, v0; real;
Begin
g:=9.8;
Write(‘Boshlang`ich tezlik v0=’); readln(v0);
Write(‘Burchak kattaligi=’); readln(a);
S:=v0*v0*sin(2*a)/`g
Writeln(‘S=’,S);
Readln End.
|
10-masala. . Tashqi chizilgan aylananing radiusi R bo'lgan n tomonli muntazam ko'pburchakning tomonini hisoblash dasturini tuzing.
-
dasturi
|
Program masala_10;
Uses crt; Var n: integer; R, an; real;
Begin
Write(‘Tononlar sonini kiriting=’); readln(n);
Write(‘Tashqi chizilgan aylananing radiusini kiriting=’); readln(R);
an:=2*R*sin(pi/n);
writeln(‘Ko`pburchak tomonining uzunligi=’,an);
readln;
end.
|
11-masala. Uzunligi 1 m bo`lgan matematik mayatnikning tebranish davrini topish dasturini tuzing.
-
dasturi
|
Program masala_11;
Uses crt;
Var T, g: real;
Begin
g:=9.8; T:=2*pi/sqrt(g);
writeln(‘T:=’,T);
Readln;
end.
|
III-bob. Chiziqli dastur tuzishga doir mustaqil topshiriqlar
Dostları ilə paylaş: |