Способы описания алгоритмов. Решение задач.
Домашнее задание
484.21K
Категория: ИнформатикаИнформатика

Способы описания алгоритмов. Решение задач

1. Способы описания алгоритмов. Решение задач.

2.

Пример 1. Вася хочет позвонить Пете
Пример
1. Вася
хочет Необходимо
по городскому
телефону.
позвонить
Пете по описывающую
городскому
составить блок-схему,
телефону.
Необходимо
порядок действий
Васи.
составить
блок-схему,
Решение. Чтобы позвонить по
описывающую
порядок
городскому телефону,
нужно знать
действий
Васи.
номер Пети.
Значит, сначала надо
Решение.
позвонить
по
найти номерЧтобы
телефона
Пети, набрать
его
и поговорить
с Петей.
На этом
городскому
телефону,
нужно
цель
(поговорить
с Петей по
знатьВаси
номер
Пети. Значит,
телефону)
достигнута.
сначала надобудет
найти номер
Результат блок схемы представлен на
телефона Пети, набрать его и
рис. 2.1.
поговорить с Петей. На этом
цель Васи (поговорить с Петей
по телефону) будет достигнута.
Результат блок схемы
представлен на рис. 2.1.

3.

Пример 2. Ученику
купить
учебник.
.требуется
Необходимо
составить
блокСоставить блок-схему,
схему,
описывающую
описывающую
порядок
действийпорядок
Васи.
действийЧтобы
ученика.
Решение.
позвонить по
Решение.телефону,
Сначала
ученику
городскому
нужно
знать
номер
Пети.
Значит,
сначала
надо
нужно
взять
деньги,
потом
найти номер телефона Пети, набрать
прийти в книжный магазин
его и поговорить с Петей. На этом
и заплатить
за учебник.
цель
Васи (поговорить
с ПетейНа
по
этом цель (покупка
телефону)
будет
достигнута.
Результат
блокбудет
схемы представлен на
учебника)
рис. 2.1.
достигнута. Результат блок
схемы представлен на рис.
2.2.

4.

Пример 3 Джон звонит Полу по
городскому телефону, но трубку
может взять не только Пол.
Составить блок-схему,
описывающую действия Джона в
этом случае.
Решение. В отличие от примера 1,
здесь присутствует условие – Пол ли
взял трубку телефона. На данное
условие можно однозначно ответить:
"да", Пол, или "нет", кто-то другой.
Если трубку взял Пол, то Джону
нужно с ним поговорить, и цель
будет достигнута. Если трубку взял
кто-то другой, то необходимо позвать
Пола к телефону, поговорить с ним, и
цель также будет достигнута.
Третьего варианта, например, "не
туда попали" или "его нет дома" мы
не рассматриваем. Результат блоксхемы представлен на рис.

5.

Пример 4. Ученику требуется купить
учебник. В магазине в наличие оказался
нужный учебник в жесткой и мягкой
обложке. Составить блок-схему,
описывающую действия ученика.
Решение. В данном примере
присутствует условие: "Нужна жесткая
обложка".
Ученик может согласиться с этим
высказыванием, тогда он выполнит
действие, соответствующее стрелке "да"
и купит учебник в жесткой обложке.
Если ученик не соглашается с данным
условием, то будет выполняться
действие, соответствующее стрелке
"нет", и в этом случае ученик купит
учебник в мягкой обложке.
И в том, и в другом случае, цель будет
достигнута и задача будет выполнена,
т.к. ученик купит учебник.

6.

Пример 5. Даны числа . Вычислить
сумму и разность чисел и .
Сравнить полученные значения и и
указать большее из них.
Решение. Как и в примере 3, сначала
необходимо задать значения и .
Затем рассчитать сумму и разность
по формулам: , и вывести
полученные числа на экран (блок
вывода данных). Когда значения и
будут получены, следует сравнить их
между собой. Условие запишется в
виде: . Если полученная сумма будет
больше разности , то мы пойдем по
стрелке "да" и выведем фразу "".
Если же условие окажется ложным
(т.е. ), то пойдем по стрелке "нет" и
выведем фразу "". Результат блок
схемы представлен на рис

7.

Пример 6. Вася звонит
Пете, но у Пети может быть
занята линия. Составить
блок-схему действий Васи в
этом случае.
Решение. Когда телефонная
линия занята, то
необходимо снова и снова
набирать номер, пока Петя
не закончит предыдущий
разговор, и телефонная
линия не окажется вновь
свободной. Блок-схема
представлена на рис.

8.

Пример 7. Ученику требуется
купить учебник. Составить
блок-схему, описывающую
действия ученика в случае, если
учебника нет в ряде магазинов.
Решение. Действия ученика в
данном примере очевидны: когда
он приходит в первый и любой
последующий магазины, то
возможны два варианта –
учебник имеется в наличии или
учебника нет в продаже. Если
учебника нет в продаже, то
ученику следует пойти в другой
книжный магазин и спросить
данный учебник, и т.д. пока
учебник не будет куплен

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

«Рассчитать площадь и периметр прямоугольника по двум известным сторонам».
Блок-схема:
2. Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км.
Какое расстояние будет между ними через T часов, если автомобили движутся в разные
стороны?
3. Написать алгоритм сбора съедобных грибов, и составить к этому алгоритму блок-схему.
– Какая команда будет выполняться не всегда? Когда ее нужно пропустить? (команда «сорви гриб» не
выполняется, если гриб несъедобный.) обвести прямоугольник с этой командой зеленым
карандашом.
– Есть ли цикл в этом алгоритме? Какие команды будут выполняться больше одного раза? («найди
гриб», «гриб съедобный», «сорви гриб», «все грибы обошел?».)
– Сколько раз будут выполняться эти 5 команд? («хитрость этого вопроса в том, что команды в цикле
будут выполняться не одинаковое число раз: сорвать гриб нужно столько раз, сколько будет
найдено съедобных грибов, а остальные 4 команды нужно выполнять столько раз, сколько будет
найдено всех грибов.)
– В каком ромбе записано условие повтора?
(во втором ромбе, который нужно обвести красным карандашом.)
4. Составить алгоритм разбора фасоли из мешка. Если фасоль белая, то её положить в круглую
корзину, а если не белая, то в овальную корзину.
(Учесть, что задание допускает разное расположение команд на схеме).
Ответить на вопросы:
– Какие команды будут выполняться не всегда?
– Какие команды будут выполняться больше одного раза?
– Сколько раз будет выполнена каждая из этих команд?
– Какой вопрос на схеме является условием повтора?
1.

10.

5. Составь блок-схему алгоритма для решения задачи.
Красная Шапочка гуляла по лесу и собирала цветочки. Она сорвала 5 колокольчиков, 6 незабудок
и 4 василька. Вдруг сзади кто-то захихикал. Красная Шапочка оглянулась и увидела Серого
Волка.
- Милая Красная Шапочка, поделись со мной цветами: если у тебя больше 7 цветочков, дай мне 5,
а иначе подари, хотя бы 3.
Сколько цветов осталось в букете у Красной Шапочки?
6. Составить алгоритм запуска программы Paint в ОС Windows 7.
Решение:
Вспомним из курса информатики 5 класса порядок действий для запуска программы Paint.
1. Войти в меню «Пуск».
2. Войти в пункт «Все программы».
3. Войти в пункт «Стандартные».
4. Выбрать программу «Paint».
Данный алгоритм в виде блок-схемы имеет следующий вид:
7. Составьте алгоритм для перехода дороги на светофоре.
Решение:
Возможны следующие ситуации: в тот момент, когда мы подошли к дороге горел красный или
зелёный свет. Если горел зелёный свет, то можно переходить дорогу. Если же горел красный
свет, то необходимо дождаться зелёного – и уже тогда переходить дорогу.
Таким образом, алгоритм имеет следующий вид:
1. Подойти к светофору.
2. Посмотреть на его свет.
3. Если горит зелёный, то перейти дорогу.
4. Если горит красный, то подождать, пока загорится зелёный, и уже тогда перейти дорогу.
Блок-схема данного алгоритма имеет вид:

11.

8. Составить алгоритм перевода чисел из десятичной системы в двоичную.
Решение:
То есть, алгоритм будет выглядеть так:
1. Если число равно 0 или 1, то это и будет его двоичное представление.
2. Если число больше 1, то мы делим его на 2.
3. Полученный остаток от деления записываем в последний разряд двоичного
представления числа.
4. Если полученное частное равно 1, то его дописываем в первый разряд
двоичного представления числа и прекращаем вычисления.
5. Если же полученное частное больше 1, то мы заменяем исходное число на него
и возвращаемся в пункт 2).
Блок-схема этого алгоритма выглядит следующим образом:

12.

9. По
заданной блок-схеме выполнить действия
алгоритма для числа 23.

13.

10. Наверное,
все помнят из детства сказку, в которой рассказывается о
местонахождении смерти Кощея Бессмертного: «Смерть моя – на конце иглы,
которая в яйце, яйцо – в утке, утка – в зайце, заяц в сундуке сидит, сундук на крепкий
замок закрыт и закопан под самым большим дубом на острове Буяне, посреди моряокеяна …»
Предположим, вместо Ивана-царевича бороться с Кощеем был брошен Иван-дурак.
Давайте поможем Василисе Премудрой составить такой алгоритм, чтобы даже Ивандурак смог убить Кощея.
1. Конечно же, сначала необходимо разыскать остров Буян (на такие вещи, будем считать,
Иван-дурак способен).
2. Поскольку сундук закопан под самым большим дубом, то сначала необходимо найти
самый большой дуб на острове.
3. Затем нужно выкопать сам сундук.
4. Прежде чем доставать зайца, необходимо сломать крепкий замок.
5. Теперь уже можно достать зайца.
6. Из зайца нужно достать утку.
7. Из утки достать яйцо.
8. Разбить яйцо и достать иголку.
9. Иголку поломать.
Это тоже линейный алгоритм, хотя и более длинный, чем алгоритм запуска программы
Paint.
Его блок-схема выглядит так:.

14.

11. И снова обратимся к сказочным персонажам в поисках примеров
различных алгоритмов. Когда речь идёт об алгоритмах с
ветвлениями, то, конечно, нельзя не вспомнить о богатыре, стоящем
на распутье возле камня.
На камне написано:
«Направо пойдёшь – коня потеряешь, себя спасёшь; налево пойдёшь –
себя потеряешь, коня спасёшь; прямо пойдёшь – и себя и коня
потеряешь».
Попробуем составить алгоритм действий, который составил автор
надписи на камне для путников?
1. Если мы пойдём направо, то потеряем коня. Если же мы не пойдём
направо, то у нас остаётся два варианта (мы считаем, что назад
возвращаться путник не будет): пойти прямо и налево.
2. В случае, если мы пойдём налево, то потеряем себя, а коня спасём.
3. Если же мы пойдём прямо, то потеряем и себя, и коня.
Блок-схема этого алгоритма выглядит так:

15.

12. Русские народные сказки не оставили нас и без циклического алгоритма.
И, как ни странно, спрятался он в одной из самых незамысловатых сказок –
«Репке».
Вспомним сюжет сказки: дед тянет-потянет – вытянуть не может. Затем на
помощь к деду по очереди подходят новые персонажи – и так до тех пор, пока не
приходит мышка.
Попытаемся составить алгоритм действий всех персонажей сказки для того,
чтобы они всё-таки смогли вытянуть Репку.
1. Изначально к Репке подошёл дед и попытался вытянуть.
2. Поскольку вытянуть Репку не получилось, то понадобилась помощь
следующего персонажа.
3. И так происходит до тех пор, пока не появилась мышка (или, другими
словами, до тех пор, пока Репку не вытащили).
В виде блок-схемы этот алгоритм выглядит следующим образом:
English     Русский Правила