Как всегда, нужно оформить предыдущее домашнее задание. Вот только в этом задании есть блок-схема, которую нужно нарисовать. Рисовать будем в векторном графическом редакторе ~OpenOffice.org Draw. Запустите редактор, нарисуйте блок-схему из ((20090924 домашнего задания)). Сохраните в файле ~~~/2009/September/28/scheme.odg.
Затем в текстовом редакторе записываете домашнее задание. Вставить рисунок из ~OpenOffice.org Draw можно двумя способами - либо выделив все объекты рисунка (Ctrl-A - выделить всё), скопировав в буфер обмена и вставив в текстовом редакторе, либо сохранив рисунок в формате EPS, затем вставив картинку в редакторе.
Файл сохраните под именем ~~~/2009/September/28/homework.odt и распечатайте. Сдайте распечатанную работу.
===Задания=== Рассматриваем алгоритмы: **нц** **пока** положительное **если** четное **то** разделить на 2 **иначе** вычесть 1 разделить на 2 **все** **кц** Нарисовать блок-схему для этого алгоритма. Почему данный алгоритм будет давать верный результат?
===Домашнее задание=== **нц** **пока** положительное **нц** **пока** четное разделить на 2 **кц** вычесть 1 **кц** а) Нарисуйте блок-схему, соответствующую данному алгоритму. б) Верно ли, что этот алгоритм получает число 0 из любого положительного числа? в) Примените этот алгоритм к числам 13, 1024, 1023. Сколько раз будет выполнен цикл "пока положительное" для каждого из этих чисел? ---- Дан алгоритм: **нц** **пока** положительное вычесть 1 **нц** **пока** четное разделить на 2 **все** **кц** а) Нарисуйте блок-схему, соответствующую этому алгоритму. б) Корректен ли этот алгоритм? Если некорректен, то приведите пример числа, для которого этот алгоритм работает некорректно. ---- Дан алгоритм: **нц** **пока** положительное **если** нечетное **то** вычесть 1 **все** **нц** **пока** четное разделить на 2 **все** **кц** а) Нарисуйте блок-схему, соответствующую этому алгоритму. б) Корректен ли этот алгоритм? Если некорректен, то приведите пример числа, для которого этот алгоритм работает некорректно.
%%(comments) Дан алгоритм: **нц** **пока** положительное **если** нечетное **то** вычесть 1 **иначе** разделить на 2 **все** разделить на 2 **кц** а) Нарисуйте блок-схему, соответствующую этому алгоритму. б) Почему этот алгоритм некорректен? в) Приведите пример числа, большего 1000, для которого этот алгоритм не будет выполнен корректно. г) Приведите пример числа, большего 1000, для которого этот алгоритм получит число 0. ---- Дан алгоритм. **нц** **пока** положительное **если** четное **то** разделить на 2 **все** вычесть 1 **кц** 1. Нарисуйте блок-схему для данного алгоритма. 2. Ответьте на вопрос - "Решает ли этот алгоритм задачу получения числа 0 из любого положительного числа?". 3. Если ответ - на предыдущий вопрос - да, приведите пояснения. Если ответ - нет, приведите пример числа, для которого алгоритм неверно решает поставленную задачу. ---- Дан алгоритм. **нц** **пока** положительное вычесть 1 **если** четное **то** разделить на 2 **все** **кц** 1. Нарисуйте блок-схему для данного алгоритма. 2. Ответьте на вопрос - "Решает ли этот алгоритм задачу получения числа 0 из любого положительного числа?". 3. Если ответ - на предыдущий вопрос - да, приведите пояснения. Если ответ - нет, приведите пример числа, для которого алгоритм неверно решает поставленную задачу.
Дано число a. Придумайте эффективный алгоритм получения из числа a чисел 2a, 2a+1, 2a-1, 3a, 3a+1, 3a+2. %%
++Продолжительность занятия - 2 часа++
---- адрес оригинала: ((/Информатика/Архив/2010/7Б/20090928))