|
Algoritmlar. O’quv-uslubiy majmua
|
bet | 122/179 | Sana | 19.06.2024 | Hajmi | 1,78 Mb. | | #264284 |
Bog'liq AlgoritmlarBelgi
|
Ma’nosi
|
=
|
Teng
|
< >
|
Teng emas
|
<
|
Kichik
|
>
|
Katta
|
< =
|
Katta emas
|
> =
|
Kichik emas
|
Agar mantiqiy ifodalar and, or, not - mantiq amallar yordamida ifodalansa, ular qavslarga olib yoziladi. Masalan
Matematik yozilishi
|
|
Algoritmik tilda yozilishi
|
a = b = 0
|
|
(x > = 6) and (x < 10)
(x >1) and (x < = 4)
(a=0) and (b=0)
|
Shartli o`tish operatorining ishlatilishini misollarda ko`rib chiqamiz.
IF y > 0 THEN d:= SQRT(y) ELSE d:= y;
Bu erda agar y > 0 bo`lsa, u holda d:=sqrt(y) operatori, aks holda d:= y operatori bajariladi.
IF (x mod 2 = 0) and (x > 0) THEN x:= sqrt(x) ELSE x:= sqr(x);
Agar x ning qiymati juft va musbat bo`lsa, uning qiymati ildiz ostidan chiqariladi, aks holda kvadratga oshiriladi. Ayrim hollarda hisoblash jarayonida ayrim amallar ba’zi bir shartlar bajarilganda hisoblanadi, aks holda, hech qanday amal bajarilmaydi. Bu holda shartli o`tish opertorining qisqa ko`rinishidan foydalanamiz. Uning umumiy ko`rinishi quyidagicha:
IF < mantiqiy ifoda > THEN < operator >;
Operatorning bajarilish tartibi quyidagicha: agar mantiqiy ifoda true (chin) qiymat qabul qilsa, operator bajariladi, aks holda keyin turgan operatorlar bajariladi: IF x < 0 THEN y:= sqr(x):
Shartli o`tish operatorining operatori o`rnida, o`z navbatida, yana shartli o`tish operatorning to`la va qisqa ko`rinishlarini ishlatish mumkin:IF B1 THEN A1 ELSE IF B2 THEN A2 ELSE A3;
Bu yerda B1, B2 – mantiqiy ifoda, A1, A2, A3 – operatorlar. Bu operatorning bajarilishi quyidagicha: B1 – mantiqiy ifoda tekshiriladi, agar true qiymat qabul qilsa, A1 operator bajariladi, aks holda B2 – mantiqiy ifoda tekshiriladi, agar true qiymat qabul qilsa, A2 operator, aks holda A3 operator bajariladi.
if x:= a then z:= sin(x) else if x > b then z:= sin(x)/ cos(x) else z:= cos(x);
Agar birinch shart bajarilsa, z:= sin(x) operatori, aks holda ikkinchi shart x > b tekshiriladi va bu shart bajarilsa, z:= sin(x)/ cos(x) operatori, aks holda z:= cos(x) operatori hisoblanadi.Agar shartli o`tish operatorida then yoki else dan keyin bir necha operatorlar guruhi bajarilsa, ular begin va end – tarkibiy operatorda yoziladi. if A < 0 then begin x:= 5; y:= 3 end else begin x:= 0; y:= 0 end ; Misol. ax2+bx+c=0 kvadrat tenglamaning ildizlarini topish dasturini tuzing.
Yechish. Formulasi d = b2 - 4ac; . Agar d >0 bo`lsa, 2 ta ildiz, d=0 da 1 ta ildiz va d< 0 da ildiz mavjudmas. Shulardan foydalanib dastur tuzamiz.
Program KvT;
Label 20;
Var a, b, c, d, x, x1, x2: real;
Begin
Read(a,b,c);
if a=0 then begin x:= -b/c; writeln(x); goto 20 end; else d:= sqr(b)-4*a*c;
if d> 0 then begin x1:= (-b+sqrt(d))/(2*a); x2:= (-b-sqrt(d))/(2*a) end;
else if d=0 then begin x:=-b/(2*a); writeln(x) end; else writeln(‘yechim yo`q’);
20: End.
Tanlash operatori. Tanlash operatorining umumiy ko`rinishi:
CASE C OF M1 : A1; M2 : A2; ……. Mn : An END;
Bu yerda case (tanlash) – xizmatchi so`z, of (dan), C – selektor, Mi – operatorlar belgilari, Ai – operatorlar (i=1 dan n gacha). CASE operatori tarmoqlanish jarayonini berilgan bir necha operatordan birini tanlash yo`li bilan amalga oshiradi. Tanlash operatorida barcha operatorlar, shu jumladan bajarilishi uchun tanlangan operator ham aniq ravishda keltiriladi (berilgan operatorlar ketma – ketligi chegaralangan). Bajarilishi kerak bo`lgan operator yoki operatorlar ketma – ketligi operator selektorining qiymatiga ko`ra aniqlanadi. Shartli o`tish operatorining quyidagi IF B THEN A1 ELSE A2 ko`rinishi tanlash operatorining quyidagi qurilishiga ekvivalentdir: CASE B OF True: A1; False: A2; END;
qisqa ko`rinishdagi shartli o`tish operatorining quyidagi IF B THEN A ko`rinishi tanlash operatorining quyidagi ko`rinishiga ekvivalentdir: CASE B OF True: A; False: END;
Misol.
|
| |