Дополнительное задание Параграф 21 ГДЗ Семакин 8 класс (Информатика)
Домашнее задание №25
Тема: Ветвления в вычислительных алгоритмах
- Запишите на алгоритмическом языке алгоритм, соответствующий данной блок-схеме.
- Что получится в результате работы следующего алгоритма, если: 1) $$a=2,\ b=5$$; 2) $$a=0,\ b=-2$$?
- Запишите алгоритм нахождения минимума из трёх целых чисел $$a,\ b,\ c$$.
- Зарисуйте блок-схему для задачи номер 3.
Практическое задание №21
Тема: Ветвление в вычислительных алгоритмах
1 уровень сложности
- Дано целое число $$A$$. Если значение $$A>0$$, то необходимо увеличить его на единицу. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для $$A=5$$, $$A=-4$$, $$A=0$$.
- Дано целое число $$A$$. Если значение $$A<0$$, то необходимо удвоить его. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для $$A=6$$, $$A=-10$$, $$A=0$$.
- Дано целое число $$A$$. Если значение $$A\ne 0$$, то необходимо уменьшить его на 4. Написать программу для решения этой задачи. Протестировать алгоритм для $$A=2$$, $$A=-1$$, $$A=0$$.
- Дано целое число $$A$$. Если значение $$A>0$$, то необходимо увеличить его на единицу, иначе уменьшить на 1. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для $$A=3$$, $$A=0$$, $$A=-12$$.
- Дано целое число $$A$$. Если значение $$A=0$$, то необходимо увеличить его на 3, иначе присвоить $$A$$ значение, равное 0. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для $$A=0$$, $$A=-1$$, $$A=8$$.
- Даны два действительных числа $$X$$ и $$Y$$. Если $$X>Y$$, то вычислить произведение этих чисел, иначе их сумму. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на трёх различных тестах: $$X>Y$$, $$X=Y$$ и $$X
2 уровень сложности
- Даны два действительных числа $$X$$ и $$Y$$, не равные друг другу. Заменить меньшее из этих чисел половиной их суммы, а большее — их удвоенным произведением. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на числах 5,5 и −4,3, а также на числах 1 и 14,5.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 1), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(1.5,2)$$, $$(0,0)$$, $$(-1.5,1)$$, $$(1,-1.2)$$, $$(-2,-1)$$.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 2), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(2.5,2)$$, $$(1,1)$$, $$(0,0)$$, $$(1,0)$$, $$(2,-1)$$.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 3), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(0,0.8)$$, $$(0,0)$$, $$(-1.5,1)$$, $$(1,1.5)$$, $$(-2,-1)$$.
- Разработать схему алгоритма для определения минимума из трёх чисел без использования логических операций. Протестировать алгоритм на следующих исходных данных: а) 2, 5, 1; б) 0, −2, 8; в) −4, 5, 10.
- Разработать схему алгоритма для подсчёта количества отрицательных чисел среди целых чисел $$a,\ b,\ c$$. Протестировать алгоритм для всех возможных случаев, когда количество отрицательных чисел равно 0, 1, 2 и 3.
3 уровень сложности
- Треугольник задан длинами сторон $$A,\ B,\ C$$. Разработать схему алгоритма, определяющую, существует ли данный треугольник. Если треугольник существует, то установить значение флага $$F=1$$, иначе $$F=0$$. Для решения этой задачи использовать сложные логические условия. Протестировать алгоритм для следующих исходных данных: а) $$A=3,\ B=4,\ C=5$$; б) $$A=1,\ B=1,\ C=1$$; в) $$A=0,\ B=4,\ C=5$$; г) $$A=-3,\ B=6,\ C=5$$; д) $$A=2,\ B=1,\ C=8$$.
- Разработать схему алгоритма для отыскания $$\max(\min(a,b),\min(c,d))$$, не используя сложные логические условия и вложенные ветвления. Числа $$a,\ b,\ c,\ d$$ — целые. Протестировать алгоритм для следующих исходных данных: а) $$a=4,\ b=5,\ c=6,\ d=9$$; б) $$a=2,\ b=1,\ c=6,\ d=9$$; в) $$a=2,\ b=1,\ c=8,\ d=4$$; г) $$a=12,\ b=1,\ c=6,\ d=9$$.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 4), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(0,0)$$, $$(1,0)$$, $$(1.5,1)$$, $$(-1,1.5)$$, $$(-2,-1)$$, $$(2,-1)$$, $$(1,-1)$$, $$(-1,1)$$.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 5), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(0,0)$$, $$(1.5,1)$$, $$(2,1)$$, $$(1,-1)$$, $$(-0.5,-0.2)$$, $$(-2,-1)$$, $$(-1,-2)$$, $$(-1,1)$$, $$(-3,1)$$.
- Точка $$A$$ задана координатами $$X,Y$$. Разработать схему алгоритма, который устанавливает значение флага $$F=1$$, если точка принадлежит заштрихованной области (см. рисунок 6), и значение флага $$F=0$$ в противном случае. Вывести значение $$F$$. Протестировать алгоритм для точек $$(0,0)$$, $$(2,2)$$, $$(0.5,0.5)$$, $$(0.5,-1.5)$$, $$(-0.5,0.5)$$, $$(-2,-1)$$, $$(-1,-2)$$, $$(-1,1)$$, $$(2,0)$$.
1. Алгоритм по блок-схеме:
алг
нач
. цел A, B, C, D
. ввод A, B, C
. если A < C
. . то D := A
. всё
. если B < C
. . то A := D
. всё
. D := D + A
. вывод D
кон
2. Работа алгоритма:
1) при $$a=2$$, $$b=5$$: $$a>0$$ и $$b>0$$, значит $$c=a+b=2+5=7$$.
2) при $$a=0$$, $$b=-2$$: $$a>0$$ — ложь, $$b>0$$ — ложь, значит $$c=0$$.
3. Алгоритм нахождения минимума из трёх целых чисел:
алг CC_3
нач
. цел A, B, C, D
. ввод A, B, C
. D := A
. если B < D
. . то D := B
. всё
. если C < D
. . то D := C
. всё
. вывод D
кон
4. Блок-схема для этого алгоритма должна содержать: ввод $$A, B, C$$, присваивание $$D:=A$$, затем два последовательных условия $$B<D$$ и $$C<D$$ с возможным изменением $$D$$, после чего вывод $$D$$.
Выполнение
1 уровень сложности:
1. Если $$A>0$$, то $$A:=A+1$$.
Проверка:
- $$A=5 \rightarrow 6$$
- $$A=-4 \rightarrow -4$$
- $$A=0 \rightarrow 0$$
2. Если $$A<0$$, то $$A:=2A$$.
Проверка:
- $$A=6 \rightarrow 6$$
- $$A=-10 \rightarrow -20$$
- $$A=0 \rightarrow 0$$
3. Если $$A\neq 0$$, то $$A:=A-4$$.
алг
нач
. цел A
. ввод A
. если A <> 0
. . то A := A — 4
. всё
. вывод A
кон
Проверка:
- $$A=2 \rightarrow -2$$
- $$A=-1 \rightarrow -5$$
- $$A=0 \rightarrow 0$$
4. Если $$A>0$$, то $$A:=A+1$$, иначе $$A:=A-1$$.
Проверка:
- $$A=3 \rightarrow 4$$
- $$A=0 \rightarrow -1$$
- $$A=-12 \rightarrow -13$$
5. Если $$A=0$$, то $$A:=A+3$$, иначе $$A:=0$$.
Проверка:
- $$A=0 \rightarrow 3$$
- $$A=-1 \rightarrow 0$$
- $$A=8 \rightarrow 0$$
6. Если $$X>Y$$, то $$R:=X\cdot Y$$, иначе $$R:=X+Y$$.
алг T_6
нач
. вещ x, y, r
. вывод «введи x, y > «
. ввод x, y
. если x > y
. . то r := x * y
. . иначе r := x + y
. всё
. вывод r
кон
Проверка:
- $$x=6.9$$, $$y=6.5 \rightarrow r=6.9\cdot 6.5=44.85$$
- $$x=5$$, $$y=5 \rightarrow r=10$$
- $$x=3.3$$, $$y=4.2 \rightarrow r=7.5$$
2 уровень сложности:
1. Если числа не равны, меньшее заменить половиной суммы, большее — удвоенным произведением.
алг T_1
нач
. вещ x, y, a, b
. вывод «введи x, y >»
. ввод x, y
. a := x; b := y
. если x < y
. . то x := (a + b) / 2
. . иначе y := 2 * a * b
. всё
. вывод x, ‘ ‘, y
кон
Проверка:
- $$x=5.5$$, $$y=-4.3 \rightarrow x=-47.3,\ y=0.6$$
- $$x=1$$, $$y=14.5 \rightarrow x=7.75,\ y=29.0$$
2. Флаг принадлежности точки заштрихованной области:
алг T_2
нач
. вещ x, y
. цел f
. вывод «введи x, y >»
. ввод x, y
. если (x > 0) и (y > 0)
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(1.5, 2) \rightarrow 1$$
- $$(0, 0) \rightarrow 0$$
- $$(-1.5, 1) \rightarrow 0$$
- $$(1, -1.2) \rightarrow 0$$
- $$(-2, -1) \rightarrow 0$$
3. Для области на рисунке 2:
алг T_3
нач
. вещ x, y
. цел f
. вывод «введи x, y >»
. ввод x, y
. если (x > 1) и (y > 1)
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(2.5, 2) \rightarrow 1$$
- $$(1, 1) \rightarrow 0$$
- $$(0, 0) \rightarrow 0$$
- $$(1, 0) \rightarrow 0$$
- $$(2, -1) \rightarrow 0$$
4. Для области на рисунке 3:
алг T_4
нач
. вещ x, y
. цел f
. вывод «введи x, y >»
. ввод x, y
. если y > 0.5
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(0, 0.8) \rightarrow 1$$
- $$(0, 0) \rightarrow 0$$
- $$(-1.5, 1) \rightarrow 1$$
- $$(1, 1.5) \rightarrow 1$$
- $$(-2, -1) \rightarrow 0$$
5. Минимум из трёх чисел без логических операций:
алг T_5
нач
. цел a, b, c, m
. вывод «введи a, b, c >»
. ввод a, b, c
. m := a
. если b < m
. . то m := b
. . иначе если c < m то m := c
. . всё
. всё
. вывод m
кон
Проверка:
- $$2,\ 5,\ 1 \rightarrow 1$$
- $$0,\ -2,\ 8 \rightarrow -2$$
- $$-4,\ 5,\ 10 \rightarrow -4$$
6. Подсчёт количества отрицательных чисел:
алг T_6
нач
. цел a, b, c, k
. вывод «введи a, b, c >»
. ввод a, b, c
. k := 0
. если a < 0 то k := k + 1 всё
. если b < 0 то k := k + 1 всё
. если c < 0 то k := k + 1 всё
. вывод k
кон
Проверка:
- $$2,\ 5,\ 1 \rightarrow 0$$
- $$0,\ -2,\ 8 \rightarrow 1$$
- $$-4,\ -5,\ 10 \rightarrow 2$$
- $$-1,\ -6,\ -3 \rightarrow 3$$
3 уровень сложности:
1. Треугольник существует, если выполняются все неравенства треугольника:
алг T_1
нач
. цел a, b, c, f
. вывод «введи a, b, c >»
. ввод a, b, c
. если (a + b > c) и (a + c > b) и (b + c > a)
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Существует»)
. . иначе вывод («Не существует»)
. всё
кон
Проверка:
- $$3, 4, 5 \rightarrow 1$$
- $$1, 1, 1 \rightarrow 1$$
- $$0, 4, 5 \rightarrow 0$$
- $$-3, 6, 5 \rightarrow 0$$
- $$2, 1, 8 \rightarrow 0$$
2. Для выражения $$\max(\min(a,b), \min(c,d))$$:
алг T_2
нач
. цел a, b, c, d, max1, min1, min2
. вывод «введи a, b, c, d >»
. ввод a, b, c, d
. если a > b то min1 := b иначе min1 := a всё
. если c > d то min2 := d иначе min2 := c всё
. если min1 > min2 то max1 := min1 иначе max1 := min2 всё
. вывод max1
кон
Проверка:
- $$4, 5, 6, 9 \rightarrow 6$$
- $$2, 1, 6, 9 \rightarrow 6$$
- $$2, 1, 8, 4 \rightarrow 4$$
- $$12, 1, 6, 9 \rightarrow 6$$
3. Для области на рисунке 4:
алг T_3
нач
. цел f
. вещ x, y
. вывод «введи x, y >»
. ввод x, y
. если (x < -1) или (x > 1)
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(0, 0) \rightarrow 0$$
- $$(1, 0) \rightarrow 0$$
- $$(1.5, 1) \rightarrow 1$$
- $$(-1, 1.5) \rightarrow 0$$
- $$(-2, -1) \rightarrow 1$$
- $$(2, -1) \rightarrow 1$$
- $$(1, -1) \rightarrow 0$$
- $$(-1, 1) \rightarrow 0$$
5. Для области на рисунке 5:
алг T_5
нач
. цел f
. вещ x, y
. вывод «введи x, y >»
. ввод x, y
. если ((x > -3) и (x < 2) и (y > 0) и (y < 2)) или ((y <= 0) и (x * x + y * y < 1))
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(0, 0) \rightarrow 1$$
- $$(1.5, 1) \rightarrow 1$$
- $$(2, 1) \rightarrow 0$$
- $$(1, -1) \rightarrow 0$$
- $$(-0.5, -0.2) \rightarrow 1$$
- $$(-2, -1) \rightarrow 0$$
- $$(-1, -2) \rightarrow 0$$
- $$(-1, 1) \rightarrow 0$$
- $$(-3, 1) \rightarrow 0$$
6. Для области на рисунке 6:
алг T_6
нач
. цел f
. вещ x, y
. вывод «введи x, y >»
. ввод x, y
. если ((x > -1) и (x < 1) и (y <= 0) и (y < 2)) или ((y >= 0) и (x * x + y * y < 1))
. . то f := 1
. . иначе f := 0
. всё
. если f = 1 то вывод («Принадлежит»)
. . иначе вывод («Не принадлежит»)
. всё
кон
Проверка:
- $$(0, 0) \rightarrow 1$$
- $$(2, 2) \rightarrow 0$$
- $$(0.5, 0.5) \rightarrow 1$$
- $$(0.5, -1.5) \rightarrow 1$$
- $$(-0.5, 0.5) \rightarrow 1$$
- $$(-2, -1) \rightarrow 0$$
- $$(-1, -2) \rightarrow 0$$
- $$(-1, 1) \rightarrow 0$$
- $$(2, 0) \rightarrow 0$$
Ответ
1) $$D$$ — значение, полученное по алгоритму; 2) $$7$$ и $$0$$; 3) алгоритм нахождения минимума приведён выше; 4) блок-схема строится по этому алгоритму.












