Рассмотрим вариант решения задания из учебника Босова, Босова, Лобанов 9 класс, Просвещение: ВАРИАНТ 2 1. Для исполнителя Чертёжник в среде программирования КуМир составьте программу рисования слова БАОБАБ, Для изображения букв воспользуйтесь вспомогательными алгоритмами. использовать Чертежник алг нач . сместиться в точку(2,4) . ББ . сместиться на вектор(5,2) . БА . сместиться на вектор(1,0) . БО . сместиться на вектор(5,0) . ББ . сместиться на вектор(5,2) . БА . сместиться на вектор(3,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) . сместиться на вектор(2,0) . сместиться на вектор(0,4) . сместиться на вектор(-2,0) . поднять перо кон 2. Для подсчёта минимального числа ходов в задаче «Ханойская башня» используется функция S(n), которая вычисляется по следующему алгоритму: S(1) = 1, S(n) = 2 • S(n - 1) + 1 при натуральном n > 1. Вычислите S(9) — минимальное число ходов для перекладывания башни из 9 колец. S(1) = 1 S(n) = 2*S(n - 1) + 1 Ответ: S(9) = 511 3. Дополнительное задание. В среде программирования Паскаль напишите и отладьте программу для нахождения наибольшего общего делителя двух чисел с помощью алгоритма Евклида. Используйте её для нахождения наибольшего общего делителя следующих шести чисел: 6, 12, 30, 42, 80, 132. Паскаль var a, b, c, d, e, f, nd: integer; function nod(x, y: integer): integer; begin while x < > y do if x > y then x := x - y else y := y - x; nod := x end; begin writeln('Введи 6-ть целых числа > > '); readln(a, b, c, d, e, f); //можно объединить три строчки ниже nd := nod(nod(a, b), c); nd := nod(nod(nd, d), e); nd := nod(nd, f); writeln('NOD=', nd) end. Окно вывода: Введи 6-ть целых числа > > 6 12 30 42 80 132 NOD=2 Можно через цикл: var a, b, i: integer; function nod(x, y: integer): integer; begin while x < > y do if x > y then x := x - y else y := y - x; nod := x end; begin write('Введи число > > '); readln(a); for i:=2 to 6 do begin write('Введи число > > '); readln(b); a:=nod(a,b) end; writeln('NOD=', a) end. Окно вывода: Введи число > > 6 Введи число > > 12 Введи число > > 30 Введи число > > 42 Введи число > > 80 Введи число > > 132 NOD=2 Python def nod(a,b): global x while a!=b: if a > b: a=a-b else: b=b-a x=a k=6 x=int(input('Введи число')) for i in range(1,k): y=int(input('Введи число')) nod(x,y) print('NOD =',x) Окно вывода: Введи число 6 Введи число 12 Введи число 30 Введи число 42 Введи число 80 Введи число 132 NOD = 2