Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bakit-pasсал-лек.doc
Скачиваний:
45
Добавлен:
01.05.2015
Размер:
665.6 Кб
Скачать

1. Шартты оператордың жалпы түрі:

if <шарт> then begin <1-операторлар тобы> end;

else begin <2-операторлар тобы> end;

Орындалу ережесі. Егер if сөзінен кейінгі шарт ақиқат болса, онда then сөзінен кейін орналасқан 1-операторлар тобы орындалады. Ал 2-операторлар тобы орындалмайды.

Егер if сөзінен кейінгі шарт жалған болса, онда else сөзінен кейін орналасқан 2-операторлар тобы орындалады. Ал 1-операторлар тобы орындалмайды.

Қысқаша түрі: if <шарты> then begin <1-операторлар тобы> end;

1-есеп. Екінші дүние жүзілік соғыстың қай жылы басталғандығын анықтау бағдарламасын жазыңдар. Егер қолданушы қате жауап берсе, бағдарлама дұрыс жауапты шығару керек.

Экран көрінісі мынадай:

Екінші дүние жүзілік соғыс қай жылы басталды?

Жылды енгізіңдер және <Enter>-ді басыңдар.

→ 1939

Дұрыс.

program misal_1;

var y : integer; { жауабы }

begin

writeln (' Екінші дүние жүзілік соғыс қай жылы басталды? ');

writeln (' Жылды енгізіңдер және <Enter>-ді басыңдар ');

write ('→');

readln (y);

if y = 1939 then writeln ('Дұрыс')

else begin

write ('Сен қателестің,');

write ('Екінші дүние жүзілік соғыс 1939 ж. басталды, ');

end;

readln;

end.

2-есеп. Функция мәнін есептейтін бағдарлама жазыңдар.

sin(cosx) + , x≥0,9

y =

cos(sinx) + , x<0,9

program prog_2;

var x, y : real;

begin

write('x-тің мәнін енгізіңдер =');

readln(x);

if x>=0,9 then y:=sin(cos(x)) + sqrt(x*x+4)

else y :=cos(sin(x) ) + sqrt(abs(x))+2;

writeln('y=', y);

end.

3-есеп. Функция мәнін есептейтін бағдарлама жазыңдар.

lg|x-1| + 1,2, x<-1

y = , -1≤x<3, 2

, x≥3, 2

program prog_3;

var x, y : real;

begin

write (' х-тің мәнін енгізіңдер =' ); readln(x);

if x<-1 then y:=lg(abs(x-1))+1.2

else if (x>=-1) and (x<3.2) then y:=5/exp(x+1)

else y:= sqrt(abs(3*x));

writeln('y=', y);

end.

4-есеп. Функция мәнін есептейтін бағдарлама жазыңдар.

Шартты оператордың қысқаша түрін пайдаланайық.

3x+y3+1,7 , x>0, y>0

, x>0, y<0

y = x+ln(1+2y) , x<0, y>0

, x<0, y<0

program prog_4;

var x, y, z : real;

begin

write (‘x-тің мәнін енгізіңдер =’); readln(x);

write (‘y-тің мәнін енгізіңдер =’); readln(y);

if (x>0) and (y>0) then z:=3*x+exp(3*ln(y))+1.7;

if (x>0) and (y<0) then z:=sqrt(2+sqr(x)+sqr(y));

if (x<0) and (y>0) then z:=x+ln(1+2*y))

if (x<0) and (y<0) then z:=sqr(y)*(cos(x)/sin(x));

writeln(‘z=’, z);

end.

5-есеп. Функция мәнін есептейтін бағдарлама жазыңдар.

Шартты оператордың қысқаша түрін пайдаланайық.

sin2x+, x>2

y =

1/(x2+5) , x≤2

program prog_5;

label 1, 2;

var x, y : real;

begin

write (‘ х-тің мәнін енгізіңдер = ‘ ); readln(x);

if x>2 then goto 1;

y:=1/(sqr(x)+5);

writeln(‘y=’, y); goto 2;

1 : y:=sqr(sin(x)) + sqrt(x);

2 : end.

6-есеп. Функция мәнін есептейтін бағдарлама жазыңдар.

sin2y+cos3y, y≤0

F(y) =

y2 + 1,15 y>0

мұндағы у мына формуламен анықталады:

-x+3, x<-4

y = sin2x+4, - 4≤x<3

, x≥3

program prog_6;

var x, y : real;

begin

write(‘x-тің мәнін енгізіңдер =’); readln(x);

if x<-4 then y:=- x+3

else if (x>-4) and (x<3) then y:=sin(2*x)+4

else y := sqrt(sqr(x)+9);

if y<=0 then F:=sin(2*y)+exp(3*ln(cos(y)))

else f:=sqr(y)+1, 15;

writeln(‘f(‘, y, ‘)=’, f);

end.

7-есеп. Жалпы түрде берілген квадрат теңдеудің түбірлерін табыңдар.

ax2+bx+c=0, a≠0, a, b, c ∈ R

Келесі белгілеулерді енгізейік: a,b,c - теңдеудің коэффициенттері; D-дискриминант; х1, х2 – түбірлері.

program prog_7;

var a, b, c, x1, x2, D : real;

begin

writeln(‘a, b, c-мәндерін енгізіңдер’); read(a, b, c);

writeln(‘a=’, a, ‘b=’, b, ‘c=’, c);

D:=sqr(b)-4*a*c;

If D<0 then writeln (‘Теңдеудің түбірлері жоқ’)

else begin x1:=(-b+sqrt(D))/(2*a);

x2:=(-b-sqrt(D))/(2*а); end;

writeln(‘x1=’, x1, ‘x2=’, x2);

end.

2. Таңдау операторы. Таңдау операторының жалпы түрі:

case <өрнек> of

<1- тұрақтылар тізімі > : <1-оператор>;

<2- тұрақтылар тізімі > : <2-оператор>;

… …

<n- тұрақтылар тізімі > : <n-оператор>;

else

<оператор>;

end;

мұндағы, өрнек – бұл бүтін, символдықб саналатын немесе логикалық типтердегі жай айнымалы;

Тұрақтылар тізімі – тұрақтылар немесе өрнектің типімен сәйкес келетін типтегі диапазондар (мысалы, 1, 2, …, 5).

Орындалу ережесі. Алдымен өрнектің мәні есептелінеді де осы мән тұрақтылармен салыстырылады. Егер өрнектің мәніне тең келетін тұрақты бар болса, онда осы тұрақтының тұсындағы оператор орындалады. Case oператоры жұмысын аяқтайды.

Егер өрнектің мәні бірде-бір тұрақтымен сәйкес келмесе, онда else сөзінен кейінгі оператор орындалады (else операторы тармағын жазу міндетті емес).

Егер бірнеше тұрақты үшін тек бір оператор қажет болса, онда бұл тұрақтыларды үтір арқылы жазуға болады. Сонымен қатар «диапазон» түрінде көрсетуге болады.

8-есеп. Апта күндерінің номерін енгізу арқылы аптаның атын жауапқа шығаратын бағдарлама жазыңдар.

program misal_8;

var n : integer;

begin

write (‘Апта күнін енгізіңдер 1≤n ≤7=’);

readln (n);

case n of

1 : writeln (‘дүйсенбі’);

2 : writeln (‘сейсенбі’)

3 : writeln (‘сәрсенбі’)

4 : writeln (‘бейсенбі’)

5 : writeln (‘жұма’)

6 : writeln (‘сенбі’)

7 : writeln (‘жексенбі’)

else

writeln (‘мұндай номерлі апта күні жоқ!’)

end;

end.

9-есеп. Ай номерін енгізу арқылы жыл мезгілдерін жауапқа шығаратын бағдарлама жазыңдар.

program misal_9;

uses сrt;

var x : integer;

begin

write (‘Ай номерін енгізіңдер 1≤х≤12’=);

readln (x);

case x of

12, 1, 2 : writeln (‘қыс’);

3..5 : writeln (‘көктем’);

6..8 : writeln (‘жаз’);

9..11 : writeln (‘күз’)

else

writeln (‘мұндай номерлі ай болмайды’)

end;

end.

4-лекция. Қайталанатын құрылымдарды бағдарламалау. Циклдік операторлар

Кейбір алгоритмдердің белгілі бір бөліктері бірнеше рет қайталанып орындалуы мүмкін. Мұндай алгоритмдерді циклдік құрылымға ие алгоритмдер дейді. Қайталанатын бөліктерді, яғни циклдерді әртүрлі тәсілмен құрастырады.

Цикл – бұл белгілі бір жарлықтар жиынтығын бірнеше рет қайталап орындау.

Цикл – бұл бағдарламаның орындалу барысында бірнеше рет қайталанатын бөліктері. Циклдерді пайдалану арқылы салыстырмалы түрде қысқа бағдарламалар жазуға бағдарламаның көлемін едәуір қысқартуға болады. Бірақ осы бағдарлама арқылы ЭЕМ өте үлкен көлемдегі есептеулерді орындайды. Қайталанушы алгоритмдерді бағдарламалау үшін үш түрлі жарлық қолданылады: параметрлі, шартты алдын-ала тексеру және шартты соңында тексеру жарлықтары. Сонымен циклдік құрылымды бағдарламалау үшін шартты цикл операторлары және шартсыз цикл операторы қолданылады. Олар:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]