writeln (‘y=’,y);
writeln (‘a=’,a); {4}
readln; end.
Бағдарламаны орындаңыз. Экранға курсор шығады. Бос орынмен ажыратып екі
сан енгізіңіз. Экранға шыққан х пен у-тің мәндері енгізілген сандарға ие болды ма?
Бағдарламаны бірнеше рет орындап, нәтижесін жазып алыңыз.
Сұрақ: Readln қандай қызмет атқарады? Ол орындалғанда экран қандай түрде
болады? Курсордың орналасуы қалай?
5 жаттығу. Диалогтық программа құру
uses crt;
var s, a, b:string; x,y,z:byte;
begin
clrscr; {1}
Writeln(‘Сәлем!’);
Write(‘Атың кім?’); Readln(s); Writeln;
Write(‘Екі сан енгіз ’); readln(x,y);
Write(‘Бір сан енгіз ’); readln(z); Writeln;
Writeln(‘Үш санның қосындысы = ’, x+y+z); Writeln;
Writeln(‘Сау бол! ’,s); Writeln;
readln; end.
Cұрақ: Write және Writeln айырмашылығы неде?
Өрнектерді бағдарламалау тілінде жазып есептеңіз.
1. p =
35
04
,
1
cos
1
,
3
5
,
4
15
lg
3
ctg
Жауабы: 402.1339
2. k=
7
,
1
50
121
3
,
12
25
e
-
4
3
35
3
78
,
25
5
,
1
)
97
,
48
78
,
458
(
Жауабы: 62.10672
3. c=
7
2
0
3
5
2
100
5
,
3
cos
2
,
1
45
sin
)
25
,
3
75
,
0
(
6
125
tg
Жауабы: 3472.599
4. d=
08
,
255
3564
1254
418
1525
12
412
45
cos
7
8
,
1
0
e
Жауабы: 0.0406535
Пайдаланылатын әдебиет: [4], 5-24 беттер;
№4 зертханалық жұмыс Алгоритм ұғымын формальдандыру.
Тармақты алгоритмдер. Шарттық оператор
Теориялық бөлім
Белгiлi бiр шартты тексеру нәтижесiне байланысты екi түрлi iс-әрекеттiң бiреуi
ғана орындалатын жағдайда шарттық оператор қолданылады. Шарттық оператордың
жазылу форматы:
Толық түрi: If <шарт>
then <1 оператор >
еlse <2 оператор >
;
Шарттық оператор былай орындалады: Ең алдымен шарттағы логикалық
өрнектiң нәтижесi анықталады. Егер нәтиже ақиқат болса <оператор1>
орындалады, ал нәтиже жалған болса <оператор2> орындалады.
Қысқаша түрi: Шарттық операторда шарт орындалмаған жағдайда еш нәрсе
орындау қажет болмаса, else тармағын жазбауға болады:
If <шарт>
then <оператор>;
Тармақты алгоритмдердің орындалу реті блок-схемада анық көрінеді. Блок-схема
дегенiмiз алгоритмдi геометриялық фигуралар арқылы бейнелеу.
Мысал: экранға екi санның үлкенiн шығару керек.
Есептi шығару алгоритмiн блок-схемамен көрнекi түрде көрсетуге болады.
program esep_1;
var x, y, z: real;
х,у-берiлген айнымалылар, z-нәтиже
begin
writeln (‘2 сан енгiз’);
readln (x, y);
бос орынмен 2 сан енгiземiз
if x>y then z:=x
егер x >y болса, онда нәтиже х болады
еlse z:=у;
әйтпесе нәтиже y болады
writeln (z); readln;
end.
Бағдарламаның орындалу барысында 5 және 7 сандарын енгiземiз. Айнымалы х-
басы
х,у
х>у
z:=x;
z:=y;
z
соңы
иә
жоқ
ке 5, у-ке 7 меншiктеледi (х:=5,y:=7). 5>7 шарты орындалмайды, нәтижесi
жалған, сондықтан else –ден кейiнгi оператор орындалады, ол оператор нәтижеге у-
тi меншіктейді. Одан соң z-тің мәнi экранға шығарылады. Экранға 7 жазылады.
Мысал: Енгiзiлген санның [-5;5] аралығында жататындығын анықтау.
Енгiзетiн санды х деп белгiлеймiз, типi – real. Егер х саны үшiн х>-5 және х<5
шарттары бiр уақытта орындалатын болса, онда х саны [-5;5] аралығына тиiстi
болады
program aralyk;
var x: integer;
begin
writeln (‘х санын енгiз’); readln (x);
if (x>-5) and (x<5)
then writeln (‘аралықта жатады’)
еlse writeln (‘аралықта жатпайды’);
readln;
end.
Тапсырма: Енгізілген сан терiс болса, оның таңбасын қарама-қарсыға ауыстыр.
Есептi шешу үшiн мына шарттық операторды қолдан. If x<0 then x:=-x;
Пайдаланылатын әдебиет: [2], 14-25 беттер; [1], 91-98 беттер;
Қабаттасқан шарттық оператор. Кейбiр есептердi шешу кезiнде, бiрнеше
варианттарды қарастыруға тура келедi. Бұл жағдайда, бiрнеше шарттық операторлар
қолданылады, яғни then, else қызметшi сөздерiнен кейiн, жаңа шарттық оператор
жазылады.
Мысал: Бүтiн а, b,с сандары берiлген. Егер а
bс болса, барлық сандарды өз
квадратымен ауыстыр, егер а>b>с болса, әрбiр санды үшеуiнiң iшiндегi ең
үлкенiмен, басқа жағдайда, әрбiр санның таңбасын өзгерт.
Есептiң берiлгенi бойынша: егер а
b с болса, онда a:=a
2
, b:=b
2
, c:=c
2
;
егер а> b >с, онда с:=а, b:=а;
басқа жағдайда, a:=-а, b:=-b, c:=-с;
program esep_3;
var
a , b , c : integer ;
begin
writeln (‘a, b ,с сандарын енгiз’); readln (a , b , c );
if (a<=b) and (b<=c) then
begin
a:=sqr(a); b:=sqr(b); c:=sqr(c);
end
else
if (a>b) and (b>c) then
begin c:=a; b:=a; end
else begin a:=-a; b:=-b; c:=-c; end ;