uses crt;
var x,c,b,y: real;
begin clrscr;
write('c,b,x: ');
readln(c,b,x);
if (x<=0) and (x>10) then y:=(2*c+sqr(b))*x
else if (x>0) and (x<=5) then y:=2*c+x
else if (x>5) and (x<=10) then y:=(2*c-sqr(b))*x;
writeln('Y = ',y);
readln;
end.
Misal 2
program misal2; uses crt; var a, b, y: integer; begin readln(a,b); If a=1 then y:= a+b else y:=a-b; If a=1 then y:= a+b; If a<>1 then y:= a-b; Writeln(‘y=’, y); End.
Tapşırıqlar
MƏŞĞƏLƏ 6 Dövri proseslər. Dövr operatorları. İlkin və son şərtli dövr operatorlar. Nəzəri məlumat. Strukturlu operatorlar. Mürəkkəb operatorlar. 1.Şərt operatorları
2.Dövr operatorları
3. Massivlər
Daxilində başqa operatorlar olmaqla, onların ardıcıl yerinə yetirilməsini idarə edən operatorlar strukturlu operatorlar adlanır.
Turbo Pascalda strukturlu operatorlar mövcuddur:
mürəkkəb operatorlar;
if şərt operatoru;
case şərt operatoru;
ön şərtli WHILE dövr operatoru;
son şərtli repeat dövr operatoru;
For dövr operatoru.
Mürəkkəb operatorlar. Begin və end xidməti sözləri arasında yerləşən operatorlar ardıcıllığı bir operatorlar sayılmaqla mürəkkəb operator adlanır. Operatorun yazılış forması aşağıdakı kimidir:
Begin
operator_1;
operator_2;
....
operator_n;
end.
Məsələn, begin
y:=3*x+a; z:=ln(a*x+15); s:=argtan(sqrt(1-z*z)/z);
end.
kimidir:
I IF THEN və ya
II IF THEN ELSE ;
Burada İf (əgər), then (onda), else ( əks halda) mənasını daşıyır.
IF operatorunun birinci yazılış formasında məntiqi ifadənin qiyməti doğru olduqda then –dən sonrakı operatorlar yerinə yetirilir, yalan olarsa, idarə if operatorundan sonrakı operatora ötürülür.
Misal: Program cem;
Var i,n:integer;
Begin
Y:=0;
For i:=1 to n do
y:=y+sqr(i);
write(‘y=’, y:6:2);
end.
IF operatorunun ikinci yazılış formasında operatorun yerinə yetirilməsi zamanı əvvəlcə nəticəsi yalnız Bul tipi olan məntiqi ifadə hesablanır. Nəticənin qiyməti doğrudursa (true) operatorlar_1, yalandırsa (false) operatorlar_2 yerinə yetilir.
Bu operatorda aşağıdakı sintaksis xüsusiyyətlərə əməl olunmalıdır:
else xidməti sözündən əvvəl “;” qoyulmur;
Then və else xidməti sözlərindən sonra yalnız bir operator olmalıdır. Əgər iki və daha çox operator yazmaq lazım gələrsə, onda mürəkkəb operatordan istifadə olunur.
IF operatorunun iç- içə yazılışı aşağıdakı kimidir:
IF THEN IF < məntiqi ifadə > THEN ELSE ;
CASE şərt operatoru olmasına baxmayaraq tarixən seçim və ya variant operatoru adlandırılıb, bu operator if operatorunun ümumiləşdirilmiş formasıdır. Yəni operator çevirgəcin qiymətindən asılı olaraq, bir neçə əməliyyatdan birini yerinə yetirməyə imkan verir.
Çevirgəc kimi case və of xidməti sözləri arasında yerləşən ifadədən istifadə olunur. İfadənin nəticəsi sıra tipi olmaqla 65535- i aşmamlıdır. Operatorun ümumi strukturu aşağıdakı kimidir:
CASE < ifadə> OF
:;
< sabit_ 2>:< operator _2>;
. . . . . .
< sabit n>:< operator _n>
ELSE < operator _s>
END;
İ fadənin qiyməti operatorlardan hansının yerinə yetiriləcəyini təmin edir. Belə ki, ifadə sabit_1 –in siyahısındakı qiymətlərdən birini alırsa, onda operator_1 icra olunur və o biri operatorlar yerinə yetirilmir, bu proses anoloji olaraq operator_n-ə qədər davam etdirilir. Əgər ifadənin qiyməti sabit_1 –dən sabit_n -ə kimi siyahılardakı qiymətlrin heç biri ilə üst-üstə düşməzsə, operator_s yerinə yetirilir. Case operatorunda else budağı olmaya da bilər. Bu halda ifadənin qiyməti sabitlərdən heç biri ilə üst-üstə düşmürsə, case-də təsvir olunan operatorlardan heç biri yerinə yetirilmir və idarə operatorun sonu olan end xidməti sözündən sonrakı operatora ötürülür.
Təkrarlanan hesablama proseslərini proqramlaşdırarkən təkrarlanma operatorundan istifadə olunur. Üç növ təkrarlama operatoru vardır:
For (parametrli dövr operatoru);
Repeat ( son şərtli dövr operatoru);
While (ön şərtli dövr operatoru)
Dövrlərin sayı məlum olduqda FOR operatorundan, əks halda Repeat və WHILE operatorlarından istifadə olunur.
- Parametrli dövr operatoru aşağıdakı kimi iki formada işlədilə bilər:
1. For :=
ТО < parametrin son qiyməti > ДО <оператор>;
2. For :=< parametrin son qiyməti > DOWNТО < parametrin başlanğıc qiyməti > ДО <оператор>.
Burada - FOR üçün, TO qədər, DO icra et mənasını daşıyır. Dövrün parametrinin qiyməti həqiqi tipə aid ola bilməz.
- - dövrün gövdəsidir. - sadə (tək bir operatordan) və ya mürəkkəb operatordan (BEGIN və END arasında yerləşən operatorlar qrupundan) ibarət ola bilir.
Dövr parametrinin dəyişmə qiyməti +1 olarsa, onda TO açar sözündən, -1 olarsa DOWNTO açar sözündən istifadə edilir. Bu proses dövrün parametri son qiymət alana qədər davam edir. Qeyd etmək lazımdır ki, dövrün gövdəsində dövrün parametrinin qiymətini dəyişmək olmaz. Dövr qurtardıqdan sonra dövrün parametrinin qiyməti son qiymətə bərabər olur. Dövr sona çatmamış dövrün daxilindən idarəni kənara GOTO operatoru vasitəsilə vermək olar. Misal:
FOR I:=1 TO 50 DO
K:=I;
Burada - К=1,2,…50 qiymətlərinin alır.
FOR I:=50 DOWNTO 1 DO
K:=I;
Burada - К=50, 49, … , 1 qiymətlərinin alır.
FOR L:='A’ TO ‘E’ DO
Burada - L ardıcıl olaraq A, B, C, D, E qiymətlərini alır.
Göründüyü kimi, dövrü parametri ancaq vahid qədər artıb-azala bilər. Bu da parametrli dövr operatorunun çatışmayan cəhətidir. Bu çatışmayan cəhəti REPEAT (təkrar et) və WHILE (hələki) operatorlarının köməyilə aradan qaldırmaq mümkündür.
-Son şərtli dövr operatorundan ( REPEAT) təkrarlanmaların sayı məlum olmayan halda istifadə olunur.
Bu operator başlıqdan (REPEAT), dövrün gövdəsindən və dövrün qurtarmasını müəyyən edən şərtdən ( UNTİL) ibarətdir. Operatorun ümumi formatı aşağıdakı kimidir: