1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Дополнительное задание Параграф 21 ГДЗ Семакин 8 класс (Информатика)
Семакин, Залогова
8 класс
Автор
Семакин, Залогова

Дополнительное задание Параграф 21 ГДЗ Семакин 8 класс (Информатика)

Задача

Домашнее задание №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 Программа-конструктор алгоритмов.

Подробный ответ

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) блок-схема строится по этому алгоритму.



Общая оценка
3.6 / 5
Другие учебники
Другие предметы