Дополнительное задание Параграф 21 ГДЗ Семакин 8 класс (Информатика)
Решение #1
Рассмотрим вариант решения задания из учебника Семакин, Залогова 8 класс, Просвещение:
ЕК ЦОР: Часть2, глава 6, §36. ЦОР № 6, 12
Домашнее задание №25
Тема: Ветвления в вычислительных алгоритмах
1. Запишите на алгоритмическом языке алгоритм, соответствующий данной блок-схеме:
a,b,c
алг
нач
. цел 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, 2) a=0, b=-2
алг пример
цел a,b,c
нач
ввод a,b
если a > 0 то
если b > 0 то
c:=a+b
иначе
c:=10
кв
иначе
если b > 0 то
c:=a*b
иначе
c:=0
кв
кв
вывод c
кон
1) 7
2) 0
3. Запишите алгоритм нахождения минимума из трёх целых чисел a, b, c.
алг CC_3
нач
. цел A,B,C,D
. ввод A,B,C
D:=A
. если B < D
то D:=B
всё
. если C < D
то D:=C
всё
вывод D
кон
4. Зарисуйте блок-схему для задачи номер 3.
Практическое задание №21
Тема: Ветвление в вычислительных алгоритмах
1 уровень сложности
1. Дано целое число А. Если значение А > 0, то необходимо увеличить его на единицу. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=5, A=-4, A=0.
2. Дано целое число А. Если значение А < 0, то необходимо удвоить его. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=6, A=-10, A=0.
3. Дано целое число А. Если значение А < > 0, то необходимо уменьшить его на 4. Написать программу для решения этой задачи. Протестировать алгоритм для A=2, A=-1, A=0.
4. Дано целое число А. Если значение А > 0, то необходимо увеличить его на единицу, иначе уменьшить на 1. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=3, A=0, A=-12.
5. Дано целое число А. Если значение А = 0, то необходимо увеличить его на 3, иначе присвоить А значение, равное 0. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=0, A=-1, A=8.
6. Даны два действительных числа X и Y. Если X > Y, то вычислить произведение этих чисел, иначе их сумму. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на трёх различных тестах (X > Y, X=Y и X < Y).
1.
Ввод А Вывод А
0 0
-1 -1
8 9
2.
Ввод А Вывод А
6 6
-10 -20
0 0
3.
Ввод А Вывод А
2 -2
-1 -5
0 0
4.
Ввод А Вывод А
3 4
0 -1
-12 -13
5.
Ввод А Вывод А
0 3
-1 0
8 0
6.
алг T_6
нач
. вещ x,y,r
. вывод "введи x, y > "
. ввод x,y
. если x < y
. . то r:=x*y
. . иначе r:=x+y
. все
. вывод r
кон
x y r
6.9 6.5 41.85
5 5 10.0
3.3 4.2 7.5
2 уровень сложности
1. Даны два действительных числа X и Y, не равные друг другу. Заменить меньшее из этих чисел половиной их суммы, а боль-шее – их удвоенным произведением. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на числах 5.5 и -4.3, а также на числах 1 и 14.5.
2. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит заштрихованной области (см. рисунок 1) и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (1.5,2), (0,0), (-1.5, 1), (1,-1.2), (-2,-1).
Рис.1
3. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит заштрихованной области (см. рисунок 2) и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (2.5, 2), (1,1), (0,0), (1,0), (2,-1).
Рис.2
4. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит заштрихованной области (см. рисунок 3) и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (0,0.8), (0,0), (-1.5,1), (1,1.5), (-2,-1).
Рис.3
5. Разработать схему алгоритма для определения минимума из трёх чисел без использования логических операций. Протестировать алгоритм на следующих исходных данных:
а) 2 5 1
б) 0 -2 8
в) -4 5 10
6. Разработать схему алгоритма для подсчета количества отрицательных чисел среди целых чисел a, b, c. Протестировать алгоритм для всех возможных случаев (когда количество отрицательных чисел равно 0, 1, 2 и 3).
1.
алг T_1
нач
. вещ x,y,a,b
. вывод "введи x, y > "
. ввод x,y
. a:=x; b:=y
. если x < y
. . то x:=2*a*b
. . иначе y:=(a+b)/2
. все
вывод x,' ',y
кон
Ввод Вывод
x y x y
5.5 -4.3 -47.3 0.6
1 14.5 7.75 29.0
2.
алг T_2
нач
. вещ x,y
. цел f
. вывод "введи x, y > "
. ввод x,y
. если (x > 0)и(y > 0)
. . то f:=1
. . иначе f:=0
. все
. если f=1 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
Ввод Вывод
x y
1.5 2 Принадлежит
0 0 Не принадлежит
-1.5 1 Не принадлежит
1 -1.2 Не принадлежит
-2 -1 Не принадлежит
3.
алг T_3
нач
. вещ x,y
. цел f
. вывод "введи x, y > "
. ввод x,y
. если (x > 1)и(y > 1)
. . то f:=1
. . иначе f:=0
. все
. если f=1 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
Ввод Вывод
x y
2.5 2 Принадлежит
1 1 Не принадлежит
0 0 Не принадлежит
1 0 Не принадлежит
2 -1 Не принадлежит
4.
алг T_4
нач
. вещ x,y
. цел f
. вывод "введи x, y > "
. ввод x,y
.
. если (y > 0.5)
. . то f:=1
. . иначе f:=0
. все
. если f=1 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
Ввод Вывод
x y
0 0.8 Принадлежит
0 0 Не принадлежит
-1.5 1 Принадлежит
1 1.5 Принадлежит
-2 -1 Не принадлежит
5.
алг T_5
нач
. цел a,b,c,m
. вывод "введи a, b, c > "
. ввод a,b,c
. m:=a
. если b < m
. . то m:=b
. . иначе если c < m то m:=c
. . . все
. все
. вывод m
кон
Ввод Вывод
A B C
2 5 1 1
0 -2 8 -2
-4 5 10 -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
кон
Ввод Вывод
A B C
2 5 1 0
0 -2 8 1
-4 -5 10 2
-1 -6 -3 3
3 уровень сложности
1. Треугольник задан длинами сторон А, В, С. Разработать схему алгоритма, определяющую, существует ли данный треугольник. Если треугольник существует, то установить значение флага 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
2. Разработать схему алгоритма для отыскания 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
3. Точка А задана координатами 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).
Рис. 4
5. Точка А задана координатами 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).
Рис.5
6. Точка А задана координатами 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).
Рис.6
1.
алг T_1
нач
. цел a,b,c,f
. вывод "введи a, b, c > "
. ввод a,b,c
. если (a+b < c)и(c+a < b)и(c+b > a) то f:=1
. . иначе f:=0
. все
. если f=1 то вывод ("Существует")
. . иначе вывод ("Не существует")
. все
кон
Ввод Вывод
A B C
3 4 5 Существует
1 1 1 Существует
0 4 5 Не существует
-3 6 5 Не существует
2 1 8 Не существует
2.
алг T_2
нач
. цел a,b,c,d,max1,min1,min2
. вывод "введи a, b, c, d > "
. ввод a,b,c
. если a > b то min1:=b иначе min1:=a все
. если c > d то min2:=d иначе min1:=c все
. если min1 > min2 то max1:=min1 иначе max1:=min2 все
. вывод max1
кон
Ввод Вывод
A B C D
4 5 6 9 6
2 1 6 9 6
2 1 8 4 4
12 1 6 9 6
3.
алг T_3
нач
. цел f
. вещ x,y
. вывод "введи x,y > "
. ввод x,y
. если (x < -1)или(x > 1) то f:=1
. . иначе f:=0
. все
. если f=1 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
Ввод Вывод
x y
0 0 Не принадлежит
1 0 Не принадлежит
1.5 1 Принадлежит
-1 1.5 Не принадлежит
-2 -1 Принадлежит
2 -1 Принадлежит
1 -1 Не принадлежит
-1 1 Не принадлежит
алг 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 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
5.
Ввод Вывод
x y
0 0 Принадлежит
1.5 1 Принадлежит
2 1 Не принадлежит
1 -1 Не принадлежит
-0.5 0.2 Принадлежит
-2 -1 Не принадлежит
-1 -2 Не принадлежит
-3 1 Не принадлежит
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 то вывод ("Принадлежит")
. . иначе вывод ("Не принадлежит")
. все
кон
Ввод Вывод
x y
0 0 Принадлежит
2 2 Не принадлежит
0.5 0.5 Принадлежит
0.5 -1.5 Принадлежит
-0.5 0.5 Принадлежит
-2 -1 Не принадлежит
-1 -2 Не принадлежит
-1 1 Не принадлежит
2 0 Не принадлежит
ЕК ЦОР: Часть2, глава 6, §36. ЦОР № 14
Программа-конструктор алгоритмов.
Популярные решебники 8 класс Все решебники
*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением