7Б 2009-10-01

Задания


Дан алгоритм:
нц пока положительное

если нечетное
то вычесть 1
иначе разделить на 2
все
разделить на 2

кц
а) Нарисуйте блок-схему, соответствующую этому алгоритму.
б) Почему этот алгоритм некорректен?
в) Приведите пример числа, большего 1000, для которого этот алгоритм не будет выполнен корректно.
г) Приведите пример числа, большего 1000, для которого этот алгоритм получит число 0.


Дан алгоритм.
нц пока положительное

если четное
то разделить на 2
все
вычесть 1

кц
1. Нарисуйте блок-схему для данного алгоритма.
2. Ответьте на вопрос – "Решает ли этот алгоритм задачу получения числа 0 из любого положительного числа?".
3. Если ответ – на предыдущий вопрос – да, приведите пояснения. Если ответ – нет, приведите пример числа, для которого алгоритм неверно решает поставленную задачу.


Дан алгоритм.
нц пока положительное

вычесть 1
если четное
то разделить на 2
все

кц
1. Нарисуйте блок-схему для данного алгоритма.
2. Ответьте на вопрос – "Решает ли этот алгоритм задачу получения числа 0 из любого положительного числа?".
3. Если ответ – на предыдущий вопрос – да, приведите пояснения. Если ответ – нет, приведите пример числа, для которого алгоритм неверно решает поставленную задачу.

Домашнее задание

Дано неотрицательное число A и неотрицательное число B, причем A>=B.


Придумайте эффективный алгоритм для исполнителя "Раздвоитель", который может получить из любого числа A любое другое число B.


Алгоритм нужно записать на алгоритмическом языке и в виде блок-схемы, при этом можно придумывать свои условия (например, "пока A>B"...).


Форматтер highlight/comments отсутствует

Продолжительность занятия – 1 час