№2-Зертханалық жұмыс.
Алгоритмдердің тармақталған құрылымдарын программалау
Жұмыстың мақсаты: тармақталуы бар процесстерге
алгоритмдер құра білу дағдысын қалыптастыру, есеп шығаруда
белгілерді, тұрақтыарды, жай жəне құрама шарттарды пайдалана білу
іскерлігін қалыптастыру.
Бақылау мысалы. IF шартты операторды қолдана отырып
INTEGER форматындағы а,в мəліметтер үшін берілген бүтін сандық
өрнектердің əдісін табыңдар.Алгоритмның блок –схемасын құру
жəне программасын жазу.
1. X=
(
)
⎪
⎩
⎪
⎨
⎧
<
−
=
−
>
−
;
,
/
3
,
,
7
,
,
2
/
3
b
a
егер
a
a
b
a
егер
b
a
егер
a
b
Program primer2;
Var a, b: integer;
75
X: real;
Begin
Write(‘a=’); readln(a);
Write (‘b=’);readln(b);
If (a=b) then x:=-7 else
If(a>b)then x:=a/b-2 else x:=(sqr(a)*a-3)/a;
Writeln(‘X=’,x:6:2);
End.
2.
⎪
⎪
⎩
⎪⎪
⎨
⎧
>
≤
≤
<
=
1
x
,
x
sin
1
x
0
,
0
0
x
,
e
y
x
Төмендегі
тапсырмаларды
орындауда If шартты операторды
қолдана
отырып
Іnteger
форматындағы a, b мəліметтер
үшін берілген бүтін сандық
өрнектердің
есептеу
əдісін
табыңыз. Алгоритмның блок-
схемасын жəне программасын
жазыңыз.
Жұмысты орындауға арналған тапсырма нұсқалары
1
(
)
(
)
(
)
⎪
⎪
⎩
⎪⎪
⎨
⎧
>
−
≤
<
−
+
+
+
−
≤
−
=
−
0
x
,
x
7
e
0
x
3
,
2
x
5
1
x
5
3
x
,
7
x
2
y
x
4
2
2
⎪
⎩
⎪
⎨
⎧
>
≤
≤
−
<
+
=
5
x
,
tgx
5
x
1
,
2
x
cos
1
x
,
2
x
sin
y
Program primer2_1;
Label m1;
Var i, n:integer; x, y:real;
Begin
Write(‘N ді енгіз’);
Read(n);
i:=1;
m1: Write(‘х ті енгіз);
Read(x);
If x<0
then y:=exp(x)
else
if(x>=0)and(x<=1)
then y:=0
else y:=sin (x);
write (‘Y=’,y:10:3);
i:=i+1;
if i<=n then goto m1
end.
76
3
⎪⎩
⎪
⎨
⎧
≥
+
+
<
+
=
1
x
),
7
,
5
x
cos(
x
3
1
x
,
5
x
y
2
4
⎪⎩
⎪
⎨
⎧
<
+
≤
+
=
b
a
,
ab
2
b
b
a
,
b
a
c
2
5
⎪⎩
⎪
⎨
⎧
≤
>
+
=
0
x
,
x
2
ctg
0
x
,
x
2
x
y
2
6
(
)
⎪⎩
⎪
⎨
⎧
<
+
≥
+
=
0
x
,
5
x
4
0
x
,
5
x
4
lg
y
2
2
7
⎪⎩
⎪
⎨
⎧
<
≥
+
=
2
x
),
x
5
(
ctg
2
x
,
4
x
sin
y
2
8
⎪⎩
⎪
⎨
⎧
<
≥
−
+
=
2
x
,
tgx
2
x
,
2
x
5
x
cos
y
2
9
⎪⎩
⎪
⎨
⎧
≤
+
+
>
+
=
5
x
,
2
x
5
x
5
x
,
5
x
y
2
2
10
⎪⎩
⎪
⎨
⎧
<
−
+
≥
−
+
=
4
x
,
x
5
12
x
4
x
,
4
x
x
2
y
2
4
11
⎪
⎪
⎩
⎪
⎪
⎨
⎧
≥
<
<
−
≤
+
=
1
x
,
x
x
3
1
x
0
,
x
sin
tgx
0
x
),
2
x
x
cos(
y
2
12
⎪
⎩
⎪
⎨
⎧
=
>
−
+
<
+
=
−
5
x
,
x
ctg
5
5
x
,
x
7
sin
)
x
x
(
5
x
,
)
x
2
cos
x
(
y
2
3
2
13
⎪
⎩
⎪
⎨
⎧
=
>
<
−
=
0
x
,
5
0
x
,
x
3
tg
0
x
,
x
cos
x
2
ln
y
2
14
⎪
⎪
⎩
⎪⎪
⎨
⎧
>
+
≤
≤
+
−
<
−
=
+
1
y
),
y
y
(
ctg
1
y
0
),
4
y
sin(
e
0
y
,
3
,
0
y
z
2
4
y
2
15
⎪
⎪
⎩
⎪⎪
⎨
⎧
<
+
>
=
=
0
x
,
3
x
0
x
,
x
cos
0
x
,
x
sin
Y
2
16
⎪
⎩
⎪
⎨
⎧
≤
+
+
−
>
+
+
=
5
x
,
1
x
2
x
7
x
5
5
x
,
x
)
5
x
2
(
Y
2
3
2
3
2
17
⎪⎩
⎪
⎨
⎧
≤
+
>
−
=
0
x
,
x
7
a
2
0
x
),
a
x
(
sin
y
2
18
⎩
⎨
⎧
≤
+
>
+
=
0
x
),
2
x
lg(
0
x
,
2
x
sin
y
19
⎩
⎨
⎧
≤
>
=
7
x
,
x
sin
7
x
,
x
lg
y
3
20
⎩
⎨
⎧
≤
−
>
−
=
7
x
,
tgx
ctgx
7
x
,
x
1
y
21
(
)
⎪⎩
⎪
⎨
⎧
≥
−
+
<
−
+
=
3
x
,
1
x
6
x
7
3
x
,
1
x
6
x
7
y
3
2
2
2
22
⎪
⎩
⎪
⎨
⎧
=
−
<
+
>
−
=
b
a
),
1
b
(
a
b
a
,
b
a
b
a
,
b
a
y
23
⎪
⎩
⎪
⎨
⎧
≥
−
<
+
−
=
b
a
,
b
a
b
a
,
b
a
b
a
y
24
⎪⎩
⎪
⎨
⎧
≥
+
+
<
+
=
2
x
,
7
x
x
2
x
,
5
x
1
,
3
y
3
2
4
77
25
⎪
⎪
⎩
⎪⎪
⎨
⎧
=
>
+
<
+
=
3
x
,
45
3
x
,
1
x
3
x
,
x
sin
5
,
2
e
y
x
2
26
⎪
⎪
⎩
⎪⎪
⎨
⎧
≤
+
>
+
=
b
a
,
b
a
b
b
a
,
b
a
a
y
27
⎪
⎪
⎩
⎪⎪
⎨
⎧
<
−
=
>
+
=
0
x
,
x
x
2
0
x
,
2
0
x
,
x
2
x
y
4
2
28
⎪
⎪
⎩
⎪
⎪
⎨
⎧
<
+
<
≤
+
−
≥
+
+
=
0
x
,
5
x
4
1
x
0
,
x
4
x
2
x
12
1
x
,
3
x
5
x
y
2
4
2
3
29
⎪⎩
⎪
⎨
⎧
>
=
=
0
x
,
x
cos
0
x
,
x
sin
у
2
2
30
⎪⎩
⎪
⎨
⎧
<
+
>
−
=
b
a
,
b
a
b
a
,
b
a
y
2
3
31
Нақты x, y ( x ≠ y ) берілген. Кішісін олардың жарты
қосындысымен, ал үлкенін - екі еселенген көбейтіндісімен
алмастырыңыз.
32
Үш нақты сан берілген. Теріс емес сандарды
квадраттаңыздар.
33
Егер берілген нақты x, y, z сандарының қосындысы 1-ден
кем болса, онда бұл үш санның ең кішісін қалған екі санның жарты
қосындысымен алмастырыңыз, кері жағдайда x жəне y-тің кішісін
қалған екеуінің жарты қосындысымен алмастырыңыз.
34
Нақтыa, b, c, d сандары берілген. Егерa<=b<=c<=d болса,
онда əр санды ең үлкен санмен алмастырыңыз, егерa>b>c>d болса,
садарды өзгеріссіз қалдырыңыз, кері жағдайда барлық сандарды
олардың квадратымен алмастырыңыз.
35
Нақтыx, y, z сандары берілген. Егер xy-ке қалдықсыз
бөлінсе жəне yz-ке қалдықсыз бөлінсе, онда барлық сандарға бірді
қосыңыз, кері жағдайда барлық сандарды нөлге теңестіріңіз.
36
Нақтыa, b, c сандары берілген ( a ≠ 0). ax
2
+bx+c=0
теңдеуінің нақты түбірлері бар екенін тексеріңіз. Егер бар болса
оларды есептеңіз, кері жағдайда экранда “нақты түбірі жоқ”деген
мəлімдеме шығу керек.
37
Нақты x, y сандары берілген. Егер x жəне y оң сан болса,
онда оларды түбірден шығарыңыз; егер тек біреуі оң болса, онда
оларды квадраттаңыз. Егер x жəне y теріс сан болса, онда олардың
абсолют шамасын табыңыз.
38
Нақты x, y сандары берілген. Егер x жəне y теріс сан болса,
онда олардың əрқайсын квадраттаңыз; егер тек біреуі теріс болса,
онда оларды 10-ға кемітіңіз. Егер x жəне y оң сан болса жəне біреуі
78
[1;3] аралығында жатса, онда оларды түбірден шығарыңыз. Қалған
жағдайда “Шарттың ешқайсысы орындалмады” деген мəлімдеме
шығарыңыз.
39
Нақты a, b, c, d сандары берілген. Осы сандардың
терістерін квадраттап, ал оң сандарын түбірден шығарыңыз.
40
Нақты a, b, c, d сандары берілген. Егер кем дегенде бір сан
нөлге тең болса, ол жайлы экранға мəлімет шығарыңыз, кері
жағдайда a-ның b-ға жəне c-ның d-ға қалдықсыз бөлінетіндігін
тексеріңіз.
41
Бүтін a, b, c сандары берілген. Егер a<=b<=c болса, онда
барлық сандарды олардың квадратымен алмастырыңыз; егер a>b>c
болса, онда əр санды ең үлкен санмен алмастырыңыз, кері жағдайда
барлық сандардың таңбасын кері таңбаға ауыстырыңыз.
42
Нақты x, y, z сандары берілген. max ( x + y + z, x*y*z ) + 10
өрнегін есептейтін программа жазыңыз.
43
Нақты x, y, z сандары берілген. max( x
2
+ y
2
, y
2
+ z
2
) – 1
өрнегін есептейтін программа жазыңыз.
44
Бүтінk, l, m сандары берілген. Оң сандардың квадратының
қосындысын есептеңіз. Егер бір де бір оң сан жоқ болса, ол жайлы
экранға мəлімет шығарыңыз.
№3-4. Зертханалық жұмыстар.
Алгоритмнің циклдік құрылымдарын программалау.
Жұмыстың мақсаты: қайталанатын алгоритмдерді программалай
білу дағдысын қалыптастыру, есеп шығаруда қайталану саны белгілі
жəне белгісіз болып келген қайталану процесстерін ұйымдастыра
білу іскерлігін; Паскаль тіліндегі қайталану операторларын дұрыс
пайдалана білу жəне олардың ерекшеліктерін ажырата білу,
операторларды алмастыра пайдалана білу іскерлігін қалыптастыру.
Бақылау мысалы. Y=A*K
2
,егер К 1 мен 10 арасында өзгерсе, бұл
есепті бірнеше жолмен шығарайық
79
Program Primer3_1;
var k: integer; a, y: real;
begin
read (a);
for k := 1 to 10 do
begin
y := a * sqr(k);
writeln(’K=’,k:2,’Y=’,y:10:3)
end
end.
Program Primer3_2;
var k: integer; a, y: real;
begin
read (a);
for k := 10 downto 1 do
begin
y := a * sqr(k);
writeln(’K=’,k:2,’Y=’,y:10:3)
end
end.
Program primer3_3;
var k:integer; a,y: real;
begin
read (a);
k:=1;
while k<=10 do
begin
y := a * sqr(k);
writeln(’K=’,k:2,’Y=’,y:9:3);
k := k + 1
end
end.
80
Program primer3_4;
var k:integer; a,y: real;
begin
read (a);
k:=1;
repeat
y := a * sqr(k);
writeln(’K=’,k:2,’Y=’,y:9:3);
k := k + 1
until k > 10
end.
Берілген n - бүтін жəне x - нақты сандары үшін берілген өрнекті
есептеу алгоритмінің блок-схемасын жəне программасын құрыңыз.
Өрнектердің мəні циклдік операторлар көмегімен есептеледі. №11
тапсырмадан бастап өрнектерді есептеу берілген дəлдікпен
жүргізіледі.
Программа
құру
барысында
əртүрлі
циклдік
операторларды қолдану қажет.
Есептің нұсқалары (№1ден №10 нұсқалар үшін берілген n мен x
үшін өрнектерді есептеу):
1.
∑
=
n
i
i
i
x
1
!
2.
∑
=
+
n
i
i
ix
x
1
2
)
cos(
3.
∏
=
⎟
⎠
⎞
⎜
⎝
⎛ +
n
k
k
kx
1
!
)
sin(
1
4.
∏
=
⎟
⎠
⎞
⎜
⎝
⎛
−
+
n
k
k
x
k
k
1
cos
1
5.
∏
=
+
+
−
+
−
n
k
k
k
x
1
2
1
)
1
)!
1
((
1
)
1
(
6.
∑
=
⎟
⎠
⎞
⎜
⎝
⎛ +
n
i
x
i
1
!
1
7.
∑
=
+
n
i
i
i
ix
x
1
3
)
sin(
8.
∑
=
+
+
n
i
i
x
x
1
3
!
1
9.
∏
=
⎟
⎠
⎞
⎜
⎝
⎛
−
+
n
k
x
k
k
1
2
cos
1
3
2
10.
∏
=
+
−
+
+
n
k
k
k
x
1
2
)
3
)!
1
((
)
1
(
1
№11ден №20 варианттар үшін берілген n мен
ε (ε=10
-6
, берілген
дəлдік) үшін қосындыларды есептеу
11.
∑
∞
=1
2
3
1
k
k
x
12.
∑
∞
=
+
1
3
2
1
k
k
x
13.
∑
∞
=1
2
3
2
k
k
x
14.
∑
∞
=
+
1
2
1
k
k
x
15.
∑
∞
=1
3
3
k
k
x
16.
∑
∞
=
+
+
1
3
1
k
x
k
k
x
17.
∑
∞
=
−
1
)
1
(
k
k
k
k
x
18.
∑
∞
=
+
+
⎟
⎠
⎞
⎜
⎝
⎛
+
−
1
3
4
1
3
*
)!
1
2
(
)
1
(
k
k
k
x
k
19.
∑
∞
=
+
−
1
2
)
1
(
)
1
(
k
k
k
k
x
20.
∑
∞
=
+
−
1
3
)
1
(
)
1
(
k
k
k
k
x
k
.
21. Кестедегі функциялар мəндерін x х
0
-ден х
k
-ға дейін dx
қадамымен өзгерген кезде анықтау керек.
81
Нұсқ
а
Функция
Берілгендері
1
⎪
⎪
⎪
⎩
⎪⎪
⎪
⎨
⎧
>
=
⋅
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
+
<
⋅
−
=
;
,
;
,
sin
;
,
sin
3
2
x
a
егер
e
x
a
егер
x
x
a
x
x
егерa
x
x
a
Y
x
2
10
265
.
0
⋅
=
a
x
0
=10
x
k
=30
dx =1.5
2
⎪
⎪
⎩
⎪
⎪
⎨
⎧
>
⋅
=
⋅
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
+
<
+
=
;
,
;
,
cos
;
,
log
23
.
0
2
2
x
a
егер
tga
x
x
a
егер
x
x
a
xe
x
a
егер
a
x
ax
Y
a
a=1.5
x
0
=-2
x
k
=5
dx =0.5
3
(
)
⎪
⎪
⎩
⎪
⎪
⎨
⎧
>
=
⋅
<
⋅
+
=
⋅
−
;
,
;
,
sin
;
,
4
cos
4
2
2
x
a
егер
e
x
a
егер
x
a
x
a
егер
e
x
a
Y
a
x
x
a
x
a=2.5
x
0
=0
x
k
=3
dx =0.25
4
(
)
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎨
⎧
>
−
+
=
+
−
<
⋅
+
=
;
,
;
,
;
,
cos
ln
3
2
.
1
3
x
а
егер
x
a
x
a
x
а
егер
x
a
e
x
а
егер
x
x
a
Y
a=2.5
x
0
=0
x
k
=3
dx =0.25
5
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎨
⎧
>
=
⋅
+
<
⋅
+
+
=
;
,
;
,
2
;
,
sin
2
3
2
2
2
x
a
егер
a
x
x
a
егер
tgx
a
x
x
a
егер
x
x
а
a
Y
637
.
0
=
a
x
0
=-3
x
k
=3
dx =0.5
0> Достарыңызбен бөлісу: |