Вариант 1 Самостоятельная работа 6 ГДЗ Самостоятельные и контрольные работы Босова 9 класс (Информатика)
ВСПОМОГАТЕЛЬНЫЕ АЛГОРИТМЫ
ВАРИАНТ 1
1. Для исполнителя Чертёжник в среде программирования КуМир составьте программу рисования слова БАНАН. Для изображения букв воспользуйтесь вспомогательными алгоритмами.
использовать Чертежник
алг
нач
. сместиться в точку(2,4)
. ББ
. сместиться на вектор(5,2)
. БА
. сместиться на вектор(1,0)
. БН
. сместиться на вектор(3,0)
. БА
. сместиться на вектор(1,0)
. БН
кон
алг ББ
нач
. опустить перо
. сместиться на вектор(-2,0)
. сместиться на вектор(0,-4)
. сместиться на вектор(2,0)
. сместиться на вектор(0,2)
. сместиться на вектор(-2,0)
. поднять перо
кон
алг БА
нач
. опустить перо
. сместиться на вектор(-2,-2)
. сместиться на вектор(0,-2)
. сместиться на вектор(0,1)
. сместиться на вектор(2,0)
. сместиться на вектор(0,-1)
. сместиться на вектор(0,4)
. поднять перо
кон
алг БН
нач
. опустить перо
. сместиться на вектор(0,-4)
. сместиться на вектор(0,2)
. сместиться на вектор(2,0)
. сместиться на вектор(0,-2)
. сместиться на вектор(0,4)
. поднять перо
кон
2. Максимальное число L(n) областей, на которые плоскость делится n прямыми, можно вычислить по следующему алгоритму:
L(0) = 1,
L(n) = L(n — 1) + n при натуральном n > 1.
Вычислите L(9) — максимальное число областей, на которые плоскость делится девятью прямыми.
n 0 1 2 3 4 5 6 7 8 9
L(n)
L(0) = 1
L(n) = L(n — 1) + n
Ответ: L(9) = 46
3. Дополнительное задание. В среде программирования Паскаль напишите и отладьте программу нахождения максимального из четырёх чисел, используя функцию поиска максимального из двух чисел.
Паскаль
var
a, b, c, d, max: integer;
function mx(x, y: integer): integer;
begin
if x > y then mx := x
else mx := y
end;
begin
writeln(‘Введи 4-ре целых числа > > ‘);
readln(a, b, c, d);
max := mx(mx(a, b), mx(c, d));
writeln(‘max=’, max)
end.
Python
def mx(a,b):
if a > b:
m=a
else:
m=b
return m
a,b,c,d=map(int,input(‘Введи 4-ре целых числа’).split())
max=mx(mx(a,b),mx(c,d))
print(‘max=’,max)
1. Для рисования слова БАНАН удобно выделить отдельные вспомогательные алгоритмы для букв Б, А и Н. Тогда в основном алгоритме останется только последовательно вызвать их и смещать Чертёжник в нужные точки.
использовать Чертежник
алг
нач
сместиться в точку(2, 4)
ББ
сместиться на вектор(5, 2)
БА
сместиться на вектор(1, 0)
БН
сместиться на вектор(3, 0)
БА
сместиться на вектор(1, 0)
БН
коналг ББ
нач
опустить перо
сместиться на вектор(-2, 0)
сместиться на вектор(0, -4)
сместиться на вектор(2, 0)
сместиться на вектор(0, 2)
сместиться на вектор(-2, 0)
поднять перо
коналг БА
нач
опустить перо
сместиться на вектор(-2, -2)
сместиться на вектор(0, -2)
сместиться на вектор(0, 1)
сместиться на вектор(2, 0)
сместиться на вектор(0, -1)
сместиться на вектор(0, 4)
поднять перо
коналг БН
нач
опустить перо
сместиться на вектор(0, -4)
сместиться на вектор(0, 2)
сместиться на вектор(2, 0)
сместиться на вектор(0, -2)
сместиться на вектор(0, 4)
поднять перо
кон
2. По формуле $$L(0)=1$$, $$L(n)=L(n-1)+n$$ последовательно находим:
| $$n$$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| $$L(n)$$ | 1 | 2 | 4 | 7 | 11 | 16 | 22 | 29 | 37 | 46 |
3. Для нахождения максимума из четырёх чисел используем функцию поиска максимума из двух чисел и применяем её дважды.
var
a, b, c, d, max: integer;function mx(x, y: integer): integer;
begin
if x > y then mx := x
else mx := y
end;begin
writeln(‘Введи 4 целых числа’);
readln(a, b, c, d);
max := mx(mx(a, b), mx(c, d));
writeln(‘max=’, max)
end.
def mx(a, b):
if a > b:
return a
else:
return ba, b, c, d = map(int, input(‘Введи 4 целых числа ‘).split())
max = mx(mx(a, b), mx(c, d))
print(‘max=’, max)