Раз-04-Инф-210700 / КЗ-Раз-4-Инф-210700 / КЗ-04-04
.pdfКонтрольные задания по теме
«Тема 4.4. Программирование алгоритмов разветвляющихся структур»
Перейти к Теме 4.3 Теме 4.5 Огл.
4.4.1. Задание
1.Получить вариант задания.
2.Формализовать задачи 1 и 2 заданного варианта из п.4.4.2.
3.Составить схемы алгоритмов и написать программный код процедур (процедурфункций или процедур-подпрограмм) с соответствующими входными и выходными формальными параметрами для решения заданных задач (в процедурах не должно быть ввода исходных данных и вывода результатов).
4.Написать программный код процедуры ввода необходимых исходных данных и процедуры вывода.
5.Написать программный код вызывающей процедуры (событийной процедуры), в которой описываются исходные данные, происходит инициализация этих данных, задаются конкретные значения переменным, которые являются фактическими параметрами вызывающей процедуры, и вызывается процедура п.3.
4.4.2. Варианты контрольной работы по теме «Программирование алгоритмов разветвляющихся структур»
Вариант №1
|
|
(a +b) |
;Cos |
2 |
(x −1);l gx |
−e |
}+tgx |
3 |
x ≥ 2 |
|||||||||
|
min |
|
x |
|
|
|
|
|||||||||||
1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
max{a |
|
x |
;Cos(x +a)} |
|
|
|
|
2 < x ≤ 4 |
|||||||||
|
z = 1+ |
|
+e |
|
|
|
||||||||||||
|
|
x |
|
|
x |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
max |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
x ≤ 2 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
b |
|
|
c |
|
|
|
|
|
|
|
|
|
|
2.Даны действительные числа x , y. Определить, принадлежит ли точка с координатами (x , y) геометрической фигуре: два круга радиуса 1 с центрами в точках (-1,0) и (-1,0).
a +max{xy ;
1.k = min ax ; by
lg2 (x2 +a2 )
Sin(x + y);eax} x >0, y >1
x >0; y <1
впротивном случае
2.Даны действительные числа a, b, c (a≠0). Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет.
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 33 |
Вариант №3
|
a Sin2 |
|
|
|
|
||
|
|
x +y |
|
|
|||
1. |
|
|
x + y |
|
a +b − x |
||
|
|
||||||
|
s = max x; |
|
|
; |
2 |
|
|
|
x − y |
||||||
|
|
|
|
|
|||
|
min{x;a; y} |
|
|
|
x >0,y >0
x > y
впротивном случае
2.Даны действительные числа x, y. Если x, y имеют отрицательные значения, то каждое число заменить его модулем. Если отрицательно только одно из них, то оба значения увеличить на 0.5. Если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз. В остальных случаях x, y оставить без изменения.
Вариант №4
|
|
x |
2 |
2 |
|
|
|
||||
1. min{a x;max{ |
x;e |
Sin |
x |
;}) x ≥0 |
|
t = max{x;ax ; x +a} |
|
|
|
|
−4 ≤ x <0 |
tg2 x +a2 |
|
|
|
впротивном случае |
|
|
|
|
|
|
|
|
|
|
|
|
|
3.Даны действительные числа x , y. Определить, принадлежит ли точка с координатами (x , y) геометрической фигуре: область, ограниченная кривыми, заданными выражениями x2+(y-1)2=1 и y=1-x2.
Вариант №5
1.
|
|
|
|
|
|
max{ |x|, |y|, |z|} |
x ≤0,y ≤0,z ≤0 |
|||
x |
2 |
+a |
2 |
|||||||
|
|
|
|
|||||||
|
|
|
2 |
|
+ln y +ln |
2 |
z |
3 < x <5, y > 2, z >1 |
||
h = lg x |
|
|
|
|||||||
min{ |
|x|, |y|, |z|} |
впротивном случае |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.Выяснить, можно ли уместить прямоугольник со сторонами a,b внутрь прямоугольника со сторонами c,d.
Вариант №6
|
tg2 x + |
|
|
min{ |
x;ax ;b +x} |
|
x >0 |
|
|
x |
|
|
|||||
1. |
|
|
|
2 |
e |
}} |
|
|
|
|
|
0 ≤ x < 2 |
|||||
|
h = xa max{min{a; z};min{x |
;a |
||||||
|
|
|
|
|
впротивном случае |
|||
|
1+Cosxa |
|
|
|
||||
|
|
|
|
|
|
|
|
2.Даны действительные числа x , y. Определить, принадлежит ли точка с
координатами (x , y) геометрической фигуре: круг радиуса 1 с центром в точке (0,1) (x2+(y-1)2<1) и треугольник с координатами вершин (0,1), (-1,0), (1,0).
Вариант №7 |
a |
;x |
;x +y |
|
} |
0.1≤ x < 2; 1≤ y < 2 |
min{ |
|
|||||
|
y |
y |
|
e |
|
|
|
|
{ |
} |
|
|
||||
1. |
h = max |
|
min{a; x; y};max{ |
a |
; |
x |
} |
x <0.1; y <1 |
|
|
1-x2 |
|
впротивном случае |
|
|||||
2. |
|
|
|
|
|
|
|
|
|
Заданы площади круга и квадрата. Определить, поместится ли квадрат в круге. |
|||||||||
Тема 4.4. |
Программирование алгоритмов разветвляющихся структур |
Страница 34 |
Вариант №8
|
|
|
3 |
2 |
x +a) |
|
|
|
x >0 |
|
|
|||||
|
|
x |
|
+ln( |
|
|
|
|
|
|||||||
1. |
a = |
min max |
{ |
|
x |
|
+a; |
|
y |
|
+b ;min{a; x} |
x ≤0; y ≤0 |
||||
|
|
|
|
|||||||||||||
|
|
|
|
{ |
|
|
|
|
|
|
|
|
} |
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ y2} |
|
впротивном случае |
||
|
|
max{ea+b ;ln2 (x2 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.Даны действительные числа x, y. Определить, принадлежит ли точка с
координатами (x , y) геометрической фигуре: нижняя часть полуокружности, заданной уравнением x2+y2=1 и прямой y=x/2.
Вариант №9
1.
|
|
|
|
|
|
|
|
1+( |
2 |
x >0; z >0 |
|
||
|
y |
xz) |
|
|||
f |
|
|
|
|
|
y >0; z <0 |
= min{a2;ln(x2 + y2 + z2 ); ye} x >0; |
||||||
|
|
|
|
|
впротивном |
случае |
|
ebx+a |
|
||||
|
|
|
|
|
|
|
2.Определить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y.
Вариант №10
|
|
tg(x) |
x [2,3] |
||||
1. |
L = |
|
|
|
|
|
|
min{max{x; y2 |
}; |
|
; |
|
+c} впротивном случае |
||
x |
y |
||||||
|
|
|
|
|
|
|
|
2.Даны действительные числа x,y. Определить, принадлежит ли точка с
координатами (x,y) геометрической фигуре: область, ограниченная кривыми, заданными выражениями y=|x| и x2+y2=1.
Вариант №11
1.
Cos(1+ |
cx2 |
) |
|
0 ≤ x <3 |
|||||
|
|
||||||||
|
|
|
b |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|||
|
|
|
|
x |
|
||||
x;a |
x >0; x <0 |
||||||||
d = max{ |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
min{max{ |
|
+ x;tg(x −c2 )};ln(x2 +c)} впротивном случае |
|||||||
a2 |
|||||||||
|
|
|
|
|
|
|
|
|
2.Даны действительные числа x и y. Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.
Вариант №12
|
|
y |
|
−max{x −tg2 x +1;ax} |
|
|
−4 < x < 2 |
|
|||
|
|
1+ xc+a |
|
|
|
||||||
1. |
|
|
{ |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
max{x;ax};min |
{ |
|
|
x |
} |
|
|
||
|
a = min |
c +ax ; a + x;ce |
|
|
2 ≤ x <5 |
|
|||||
|
|
e1+x2 |
+1 |
|
впротивном |
|
случае |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
2. Станции A, B, C расположены на n-ом, m-ом и p-ом километрах железной дороги, |
|||||||||||
|
соответственно. Определить, какие из этих станций расположены наиболее близко |
||||||||||
|
друг к другу. |
|
|
|
|
|
|
Страница 35 |
|||
Тема 4.4. |
Программирование алгоритмов разветвляющихся структур |
Вариант №13
1. |
min{a2x ;max{x; y2};by + xy} впротивном случае |
||||||
|
|
2 |
2 |
} |
x > 4 |
||
|
b = max |
{Sin |
x;Cosx |
||||
|
|
a3 |
|
|
|
|
|
|
3 |
+ x b −lg x |
|
0 < x ≤ 2 |
|||
|
|
|
|
|
|
|
|
2.Определить, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин.
Вариант №14
|
|
|
3 |
;a};a −b} |
1≤ x < 2; 4 ≤ x <5 |
1. |
min{3 |
min{x |
|||
b = |
+exy+b |
впротивном |
случае |
||
|
1 |
||||
|
|
|
|
|
|
2.Даны действительные числа x,y. Определить, принадлежит ли точка с координатами (x,y) геометрической фигуре: верхняя часть плоскости, ограниченной ломаной линией, проходящей через точки (-∞,1), (-1,1), (0,0), (1,1), (+∞,1).
Вариант №15
1. |
max{min{a; xa ;exa};ax +1} |
x <0 |
||||||
|
2 |
x +Sinx |
2 |
max{x; y} |
0 ≤ x <7 |
|||
|
d = Cos |
|
|
|||||
|
|
|
|
x + y |
|
в противном случае |
||
|
|
|
|
|||||
|
1+3 Cos |
|
||||||
|
|
|
|
|
|
|
|
|
2. Даны действительные числа x,y. Определить, принадлежит ли точка с координатами (x,y) геометрической фигуре: четырехугольник с вершинами (0,0),
(1,0), (-2,-1), (1,-2).
Вариант №16 |
|
|
|
|
||
|
|
min{x2 +ln x +lg(x + y); x2 + y2 −ex} x >0; |
y >0 |
|||
1. |
f |
|
e |
};lg(x + y)} |
x + y >0 |
|
= max{min{x; y |
||||||
|
|
|
|
|
в противном |
случае |
|
|
1+Cosxmin{x;y} |
|
|
||
|
|
|
|
|
|
|
2. Даны действительные числа x,y. Определить, принадлежит ли точка с координатами (x,y) геометрической фигуре: пятиугольник с вершинами (0,0), (1,1),
(1,-2), (-1,-2), (-1,1).
Вариант №17
|
|
|
|
|
2 |
|
x >0; |
y > 2 |
|
|
1. |
min max{lg x; x + y};min Cos(1− cx |
|
);ax |
|
||||||
|
|
|
b |
|
|
|
|
|
||
|
|
+ x |
2 |
|
в |
противном |
случае |
|
||
т= 1 |
|
|
|
|||||||
|
|
+Cosx |
min{x;y} |
|
y >0; x <0 |
|
|
|
||
|
1 |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Даны действительные числа x,y. Определить, принадлежит ли точка с |
||||||||||
координатами (x , y) треугольнику с вершинами в точках (-1,-1), (1,-1), (0,2). |
||||||||||
Тема 4.4. |
Программирование алгоритмов разветвляющихся структур |
Страница 36 |
Вариант №18
a +max{ln y2 ;elg y ;lg(xy)a}
1. φ = b +min{x;y;c}
emin{a;x}
x >1; y >1 |
|
1≤ x < 20; |
1≤ y <10 |
в противном случае
2. Даны действительные числа x,y,R. Определить, принадлежит ли точка с координатами (x , y) геометрической фигуре: фигура, состоящая из треугольника с вершинами в точках (-2,0), (0,1), (0,-1) и правого полукруга радиуса R с центром в начале координат.
Вариант №19 |
|
|
{ |
|
|
} |
{ |
} |
|
|
|||||
|
a +min |
|
ax ; yx ;ex+a |
|
+max lg2 x;Sin3 |
|
x +a |
|
;a |
0 < x <8; |
y >3 |
||||
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
|
|
1. |
α = a + x |
+ y |
|
|
|
|
|
в |
противном |
случае |
|||||
|
|
|
|
|
|
|
|||||||||
|
|
10 − x |
|
|
|
|
|
|
|
|
|
|
|||
|
min{max{x; y}; yx} |
|
|
|
|
x ≤ −0.5; y ≤ −3 |
|
2. Даны действительные числа x,y. Определить, принадлежит ли точка с координатами (x, y) геометрической фигуре: четырёхугольник с вершинами (0,1),
(0.5,0), (0,-1),(-0.5,0).
Вариант №20
|
a +Sin2 x − y |
|
|
−4 |
≤ x < −1; |
y > x |
||
|
|
|
|
|
||||
1. |
min{ex +1; yx} |
|||||||
|
|
;Sinex}; x +a + y} |
|
|
||||
|
|
a + x2 |
|
−1≤ x <5; |
y = x |
|||
|
c = max{min{ln2 |
|
||||||
|
|
|
|
в противном случае |
||||
|
1+ax+y |
|
|
|||||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
2.Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определить, может ли король за один ход перейти с одного из этих полей на другое.
Вариант №21
1.
min{max{x2 + y2;ax + ya}; |
|
|
|
} |
x >a; |
y >0 |
|||||
x |
+ |
ax |
|||||||||
min{a +b;xa+b} |
|
|
x ≤a; 0 ≤ y ≤3x |
||||||||
c = |
|
|
|
|
|
|
|
|
|
||
|
|
1+a +ba |
|
|
|||||||
|
|
|
|
|
|
||||||
|
2 |
x + y |
|
|
|
|
в |
противном |
случае |
||
tg |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
2.Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x, y) геометрической фигуре: треугольник с координатами вершин (-1,1), (1,1) и (0,0) и круг с центром в точке (0,-1) и радиусом 1.
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 37 |
Вариант №22
|
|
|
|
x |
− y |
;Sin2 |
|
|
x >3; y >4 |
||
|
min 1+e |
|
(x + y2 );a −Cosx |
||||||||
1. |
|
x + y +a |
|
|
|
|
|
||||
|
|
|
|
|
|
2 |
(x + y)} |
−1< x ≤5; |
−3 < y ≤0 |
||
|
p = min{a + x;b − y;Sin |
|
|||||||||
|
|
|
x − y |
|
|
|
в |
противном |
случае |
||
|
a +Cos2 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Даны действительные числа x , y. Определить, принадлежит ли точка с координатами (x, y) геометрической фигуре: два треугольника с вершинами в точках (-1,1), (-1,-1), (0,0) и (1,1), (-1,1), (0,0).
Вариант №23
|
1 |
− уx+y min |
a + x2 |
;tg2 x; ye |
−[ |
x >0; |
y >0 |
|||||||
|
|
|
|
|
|
|
|
y |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
lg a |
; y |
ln a |
; x + y} |
|
0 ≤ x ≤3; y <1 |
||||||
1. |
c = max{x |
|
|
|
|
|
||||||||
|
|
|
|
|
|
x |
|
) + y |
|
в |
противном |
случае |
||
|
a +Cosa (Sin |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.На карте координаты начала и конца строящегося прямолинейного участка дороги обозначены как (x1,y1) и (x2,y2). Карьер, откуда можно брать гравий для стройки имеет координаты (x0,y0). Определить минимальное расстояние от строящегося участка шоссе до карьера.
Вариант №24
|
3 |
|
Sin(x + y) |
|
|
|
|
|
||||||
|
a |
|
|
|
|
|
||||||||
x |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
Sin |
2 |
x |
|
|
a |
|
|
||
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||||
1. d = max x |
|
; |
|
|
|
; |
|
|
|
|
|
|||
|
|
|
|
|
|
|
||||||||
|
x |
|
|
2 |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xya |
|
|
|
|
|
|
|
|
|
|
|
1+b
x y < a
a ≤ x y ≤ 4
в противном случае
2.Определить номер квадранта, в котором находится точка, заданная координатами
(x, y).
Вариант №25 |
|
|
|
|
|
|
{ |
} |
|
|
|||
|
|
tg2 (x + yx |
+a2 min |
|
xy ;ex ;a |
−4 < x ≤1; |
y > −2 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. |
t = |
max{x +a2; y} |
|
|
1< x ≤5; |
−2 ≤ y <8 |
|||||||
|
|
|
|
|
|
|
|
||||||
|
min{y Sinx;a} |
|
|
||||||||||
|
|
|
2 |
|
e |
x |
|
|
|
в |
противном |
случае |
|
|
|
|
|
|
|
||||||||
|
|
b +Sin |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Определить, имеются ли среди цифр заданного целого трехзначного числа одинаковые.
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 38 |
Вариант №26
|
|
2 |
|
|
ex |
|
2 |
|
|
|
|
{ |
2 |
} |
|
|
b |
Cosx |
|
−tg(ax |
|
b) max |
|
a;x |
;b |
в противном случае |
|||||
|
|
|
|
|
|
|
|
|
|
|
x}} |
|
|
||
|
|
|
|
|
|
|
|
|
|
2 |
|
x >0; y >2 |
|||
|
|
|
|
|
|
|
|
|
|||||||
1. |
a = min{ax; y;max{ |
|
|
x;Sin |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b +x +a |
|
|
|
|
|
|
|
|
|
0 ≤ x <1; −2 ≤ y <6 |
||||
|
|
|
e |
ay |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Даны координаты (как целые от 1 до 8) двух полей шахматной доски. Определить, может ли конь за один ход перейти с одного из этих полей на другое.
Вариант №27
|
Cos(1+ cx2 ) |
0 ≤ x <3 |
||||
|
|
|
b |
|
||
|
|
|
|
|||
|
|
|
|
|
|
|
|
x;ax } |
x <0 |
||||
1. |
d = max{3 |
|||||
|
|
|
|
|
|
|
|
min{max{ |
|
+ x;tg(x −c2 )};ln(x2 +c} |
в противном случае |
||
|
a |
|||||
|
|
|
|
|
|
|
2.Определить, есть ли в заданном целом трехзначном числе цифры, кратные друг другу.
Вариант №28
|
|
|
|
|
max{x;a} |
; z} |
|
|
||||
1. |
ln(x a +min{xa |
|
|
|
|
|
x <0; z <0 |
|||||
|
|
|
|
|
|
|
|
|
|
в |
противном случае |
|
|
v = b +cx |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+max{ c; |
|
x |
|
; z} |
|
0 ≤ x < 4; 0 ≤ z <3 |
|||||
|
lnb2 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Числа a, b – катеты одного треугольника, |
c,d – катеты другого треугольника. |
|||||||||||||||||
|
Определить, подобны ли эти треугольники. |
|
|
|||||||||||||||
Вариант №29 |
|
|
|
|
|
|
|
x + y |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
min |
x; y; |
|
|
|
|
|
|
x >0; |
y >1 |
|||||||
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
a + z |
|
|
|
|
|
|||||||
1. |
δ = |
min |
;ax ;ex+y ; ya |
} |
|
|
|
x >0; |
y <3 |
|||||||||
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в противном |
случае |
|
|
|
max{y;amin{x;a}} |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Заданы площади круга и квадрата. Определить, поместится ли круг в квадрате. |
||||||||||||||||||
Вариант №30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
tg |
2 x +a |
|
|
|
|
|
|
x >0; |
y >1 |
|
|||||
1. |
min{ax ; |
|
x |
|
;ex+y} |
|
x |
|
|
|||||||||
|
|
|
|
|
||||||||||||||
|
|
|
|
3 ≤ x ≤5; 0 ≤ y ≤1 |
||||||||||||||
|
|
|
|
|||||||||||||||
k = min max{y Sin2 x +3;a}; y −atg |
|
|||||||||||||||||
|
|
|
{ |
|
|
|
|
|
|
|
|
|
2 |
|
} |
|
|
|
|
|
|
max |
{ |
|
|
|
} |
|
|
|
|
||||||
|
x y z |
|
|
|
|
|
в противном |
случае |
||||||||||
|
|
xCosx2; y − x |
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Значения заданных переменных a,b и c перераспределите таким образом, что a,b,c станут, соответственно, наименьшим, средним и наибольшим значениями.
Тема 4.4. Программирование алгоритмов разветвляющихся структур Страница 39
4.4.3. Пример выполнения контрольной работы по теме «Программирование алгоритмов разветвляющихся структур»
1. Найти значение переменной r, выполнив все пункты общего задания 4.4.1:
|
2 |
,sin y,cosz), |
если y < x |
min(x |
|||
r = max(ex+y,lnz2 ), |
если x ≤ y ≤ z |
||
x + y + z, |
впротивномслучае |
||
|
|
|
|
Формализация задания:
Алгоритм решения данной задачи представляет собой комбинацию вычисления сложной функции с условием и выбора наименьшего (наибольшего) из нескольких значений. Он использует все виды разветвлений и программируется с использованием как однострочных, так и блочных операторов If.
Программный код решения задачи:
Данная задача решается с помощью процедуры-функции Razv(), которая, получив в качестве входных параметров аргументы x,y,z, возвращает вычисленное значение. В соответствии с требованиями задания разобьем решение задачи на несколько отдельных задач и создадим процедуры пользователя, реализующие эти задачи:
1)процедуру-функцию Function Razv( ), вычисляющую значение переменной r;
2)процедуру-функцию Function vvod( ) для ввода действительного числа из объекта типа TextBox;
3)Процедуру-подпрограмму Sub vivod( ) для вывода действительного числа в объект типа TextBox;
4)Событийную процедуру, которая должна содержать вызовы всех составленных
процедур.
|
Option Strict On |
|
|
Option Explicit On |
|
|
Imports System.Math |
|
|
Public Class Form1 |
|
|
'Функция вычисления значения r разветляющейся задачи |
|
|
Function Razv(ByVal x As Double, ByVal y As Double, _ |
|
|
ByVal z As Double) As Double |
|
|
Dim r, r1, r2 As Double |
|
|
If y < x Then |
|
|
r1 = Sin(y) : r2 = Cos(z) : r = x ^ 2 |
|
|
If r1 < r Then r = r1 |
|
|
If r2 < r Then r = r2 |
|
|
ElseIf y <= z Then |
|
|
r1 = Log(z ^ 2) : r2 = Exp(x + y) |
|
|
If r1 > r2 Then r = r1 Else r = r2 |
|
|
Elser = x + y + z |
|
|
End If |
|
|
End If |
|
|
Return r |
|
|
End Function |
|
|
'Функция ввода значения вещественного типа из TextBox |
|
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 40 |
Function vvod(ByVal T As TextBox) As Double
Return CDbl(T.Text)
End Function
'Процедура вывода результата в TextBox
Sub vivod(ByVal Z As Double, ByRef T As TextBox)
T.Text = CStr(Z)
End Sub
Private Sub Button1_Click(...) Dim x, y, z, r As Double x = vvod(TextBox1)
y = vvod(TextBox2) z = vvod(TextBox3) r = Razv(x, y, z) vivod(r, TextBox4)
End Sub
End Class
2.Даны действительные числа x0 , y0. Определить, принадлежит ли точка с координатами (x0, y0) геометрической фигуре: ромб с вершинами в точках (0,1), (1,0), (0,-1), (-1,0).
Формализация задания:
Прежде всего, построим заданную геометрическую фигуру:
|
|
y |
|
B |
|
1 |
|
-1 |
0 |
C x |
|
A |
|||
|
1 |
-1 D
Известно, что ax+by=c – это уравнение прямой, а ax+by≤c и ax+by≥c – это два множества, одно из которых лежит над прямой (включая точки этой прямой), а другое под этой прямой. Для того чтобы выяснить, какое из неравенств надо взять, необходимо подставить координаты любой точки M(x1, y1) в это неравенство (лучше взять точку M(0,0), чтобы упростить вычисления). Если ее координаты удовлетворяют этому неравенству, значит, эта точка M принадлежит указанному множеству, в противном случае – нет.
Запишем уравнения прямых – AB, BC, CD, DA: AB: x-y=-1; BC: x+y=1; CD: x-y=1; DA: x+y=-1.
Таким |
образом, |
для того |
чтобы точка M0(x0,y0) принадлежала замкнутой |
|
заштрихованнойобласти, необходимо выполнить следующие условия: |
||||
x - y ≥ -1 |
|
|
|
|
|
|
|
| x - y |≤ 1 |
|
x - y ≤ 1 |
|
. |
||
|
≤ 1 |
|
||
x + y |
|
| x + y |≤ 1 |
|
|
|
|
|
|
|
x + y ≥ -1 |
|
|
|
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 41 |
Программный код решения задачи:
В соответствии с требованиями общего задания 4.4.1 разобьем решение задачи на несколько отдельных задач и создадим процедуры пользователя, реализующие эти задачи:
1)процедуру-подпрограмму Sub Resh( ),которая возвращает по ссылке строку с ответом на вопрос, принадлежит ли точка с передаваемыми через параметры по значению координатами заданной геометрической фигуре;
2)процедуру-функцию Function vvod( ) для ввода действительного числа из объекта типа TextBox;
3)процедуру-подпрограмму Sub vivod( ) для вывода строки в объект типа TextBox;
4)Событийную процедуру, которая должна содержать вызовы всех составленных
процедур.
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
' Процедура решения задачи
Sub Resh (ByVal x0 As Double,ByVal y0 As Double,ByRef z As String) If abs(x0 – y0) <= 1 And abs(x0 + y0) <= 1 Then
z = "Точка принадлежит фигуре"
Else
z = "Точка не принадлежит фигуре"
End If
End Sub
'Функция ввода значения вещественного типа из TextBox
Function vvod(ByVal T As TextBox) As Double
Return CDbl(T.Text)
End Function
'Процедура вывода результата в TextBox
Sub vivod(ByVal Z As String, ByRef T As TextBox)
T.Text = Z
End Sub
Private Sub Button1_Click(...)
Dim x, y As Double
Dim z As String
x = vvod(TextBox1) y = vvod(TextBox2) Resh(x,y,z) vivod(z, TextBox3)
End Sub
End Class
Перейти к Теме 4.3 Теме 4.5 Огл.
Тема 4.4. Программирование алгоритмов разветвляющихся структур |
Страница 42 |