Информатика

Тема 3: Алгоритм и исполнители

Урок 5: Типы алгоритмов

  • Видео
  • Тренажер
  • Теория
Заметили ошибку?

Виды алгоритмов


Алгоритмы могут быть простыми, сложными, однако у всех из них есть общие черты. Вот по этим чертам и принято выделять три типа алгоритмов, с которыми мы и познакомимся.

В алгоритмах команды записываются друг за дру­гом в определенном порядке. Выполняются они не обязательно в записанной последовательности. Могут существовать внутренние отсылки к различным командам.

Вообще, выполнение команд по алгоритму чем-то напоминает настольные игры, в которых участники по очереди бросают кубики и ходят по полям. Причем на полях могут быть комментарии в стиле: «Вернитесь на 2 клетки назад» или «Пройдите на 5 клеток вперед» (рис. 1).

Рис. 1. Настольная игра (Источник)

Более сложной моделью выполнения алгоритма является известная игра «Монополия» или «Менеджер» (рис. 2).

Рис. 2. Игра «Монополия» (Источник)

Существенное отличие этой игры от простого выполнения алгоритма состоит в том, что конечной целью участников является не прохождение пути, а накопление денег при помощи определенных действий.

В зави­симости от порядка выполнения команд можно выде­лить три типа алгоритмов:

• линейные алгоритмы;

• алгоритмы с ветвлениями;

• алгоритмы с повторениями.


 

«Монополия»

«Монополия» относится к одной из самых популярных настольных игр. Ее правила достаточно просты и понятны каждому, кто хоть раз в нее играл (рис. 4).

Рис. 4. Игра «Монополия» (Источник)

На момент старта игроки обладают равным количеством наличных денег. Бросая кубики и передвигая свои фишки по закольцованному игровому полю, они приобретают участки недвижимости разных цветов. Оказавшись на приобретенном противником участке, игрок обязан выплатить тому установленную арендную плату. Выкупив все участки одной цветовой группы, участник может строить на них дома и отели, которые увеличивают размеры аренды. Цель всего происходящего банальна – разорить всех соперников.

Согласно официальным источникам – компании Parker Brothers, с 1935 года и по сей день выпускающей «Монополию», – легендарная настольная игра появилась на свет следующим образом. В 1934 году безработный инженер Чарльз Дарроу (рис. 5) предложил вышеуказанной конторе выпустить придуманную им игру о торговле недвижимостью.

Рис. 5. Чарльз Дарроу (Источник)

Обнаружив в настольной игре 52 дизайнерские ошибки, братья Паркеры отказали изобретателю. Тот с чисто американской предприимчивостью отправился в типографию, заказал 5 тысяч экземпляров игры и довольно быстро их распродал. Осознав, что прибыль утекает прямо у них из-под носа, Parker Brothers спешно приобрели права на «Монополию», и уже в следующем году она стала самой продаваемой настольной игрой в США, а Дарроу – живым воплощением американской мечты.

Однако вместе с тем известны и более ранние игры, поразительно напоминающие «Монополию». Выходит, Дарроу просто оказался первым, кто подсуетился и получил патент на «народную» забаву? И да, и нет. Расследования последних лет проливают свет на тайну происхождения «Монополии».

Во второй половине позапрошлого века в Соединенных Штатах жил и работал политэкономист Генри Джордж. Он предлагал заменить все поборы одним-единственным налогом – на землю. Проникшись его идеями, в январе 1904 года Мэги получает патент на настольную игру The Landlord’s Game, которая и правилами, и внешним видом напоминает нынешнюю «Монополию». Считается, что «Игра владельца земли» обладала двумя вариантами правил: сыграв партию по действующим законам налогообложения, игроки переходили к модели, предложенной Джорджем, – и якобы убеждались в ее необходимых преимуществах. Таким образом, игра была не развлечением, но инструментом идеологической борьбы.

До массового производства дело не дошло, зато The Landlord’s Game постепенно распространилась по Северной Америке в кустарных копиях. Всплеск интереса к настольной игре пришелся на годы Великой депрессии: тысячи безработных были рады вообразить себя денежными мешками хотя бы за игровым столом. Появление предприимчивого человека вроде Чарльза Дарроу стало делом нескольких месяцев – и он появился, на многие десятилетия присвоив славу единоличного изобретателя «Монополии».

Нашлись, конечно, и те, кто счел должным урвать кусок у правообладателей. Нелицензионные «Монополии» наводнили Китай. И в нашей стране выпускались и выпускаются стройные ряды клонов – «Маклер», «Кооператив», «Менеджер» (рис. 6)...

Рис. 6. Игра «Менеджер» (Источник)

В свете недавнего переосмысления роли Дэрроу в создании «Монополии» и истечения действия авторских прав засудить такие компании не получится. Даже если предположить, что никакой Элизабет Мэги на свете не было, правила «Монополии» давно перешли в общественное достояние. Впрочем, часть патента Hasbro все еще держит при себе: дизайн фишек, графическое оформление, последовательность клеток на игровом поле.


Линейные алгоритмы


Алгоритм, в котором команды выполняются в по­рядке их записи, то есть последовательно друг за дру­гом, называется линейным.

Рис. 3. Лампочка (Источник)

Например, линейным является следующий алго­ритм замены перегоревшей лампочки (рис. 3):

1. выключить выключатель света;

2. выкрутить перегоревшую лампочку;

3. вкрутить новую лампочку;

4. включить выключатель, чтобы проверить, что лампочка горит.

С помощью блок-схемы данный алгоритм можно изобразить так:

 

(блок-схему (рис. 7.) см. в конце конспекта)

 


Алгоритмы с ветвлениями


Ситуации, когда заранее известна последователь­ность требуемых действий, встречаются крайне редко. В жизни часто приходится принимать решение в за­висимости от сложившейся обстановки. Если идет дождь, мы берем зонт и надеваем плащ; если жарко, надеваем легкую одежду. Встречаются и более слож­ные условия выбора. В некоторых случаях от выбран­ного решения зависит дальнейшая судьба человека.

Логику принятия решения можно описать так:

 

ЕСЛИ <условие>, ТО <действия 1>,

ИНАЧЕ <действия 2>

 

Примеры:

• ЕСЛИ будут деньги, ТО купи хлеба, ИНАЧЕ не покупай.

• ЕСЛИ будешь сегодня в центре, ТО набери меня, ИНАЧЕ не набирай.

• ЕСЛИ уроки выучены, ТО иди гулять, ИНАЧЕ учи уроки.

 

В некоторых случаях <действия 2> могут отсут­ствовать. Это может быть связано как с его очевидностью (как, например, в первом примере – понятно, что если у тебя нет денег, то хлеба ты купить просто не сможешь), так и с отсутствием необходимости в нем.

 

ЕСЛИ <условие>, ТО <действия 1>

 

Пример:

• ЕСЛИ назвался груздем, ТО полезай в кузов.

• ЕСЛИ хочешь быть здоров, ТО закаляйся.

 

Форма организации действий, при которой в зави­симости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последо­вательность действий, называется ветвлением.

 

Изобразим в виде блок-схемы последовательность действий ученика 6 класса, забывшего ключи от квартиры, которую он представляет себе так: «Если мама дома, то я приду и сяду делать домашнее задание. Если мамы дома нет, то я пойду поиграть с друзьями в футбол, пока не придет мама. Если друзей на улице не будет, то покатаюсь на качелях до тех пор, пока не придет мама».

 

(блок-схему (рис. 8.) см. в конце конспекта)


 

Необходимые и достаточные условия

 

Мы уже обсуждали с вами, что существуют необходимые и достаточные условия.

 

Примером необходимого условия может служить такое:

Чтобы стать врачом, необходимо получить медицинское образование.

 

Условие наличия медицинского образования является необходимым для работы врачом, однако не является достаточным. Действительно, не все выпускники медицинских вузов становятся врачами.

 

Примером достаточного условия может стать такое:

Для того чтобы стало прохладнее, достаточно включить кондиционер.

Это условие является достаточным: если включить кондиционер, то действительно станет прохладнее. Однако это условие не является необходимым, ведь для достижения той де цели можно включить вентилятор, открыть окно и т. п.

 

Конечно же, существуют необходимые и достаточные условия одновременно (такие условия называются равносильными). Например:

Для того чтобы наступило лето, необходимо и достаточно, чтобы закончилась весна.

Действительно, если весна закончилась, то наступает лето, а если весна не закончилась, то лето наступить не может. То есть условия окончания весны и начала лета являются равносильными.

 

Понятия необходимого, достаточного и равносильного условий очень важны в таком разделе математики, как математическая логика. К тому же, они очень часто встречаются при доказательстве различных теорем.


Алгоритмы с повторениями


На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо по­вторить несколько раз, пока соблюдается некоторое за­ранее установленное условие.

Например, если вам необходимо перебрать ящик с яблоками, чтобы отделить гнилые от спелых, то нам необходимо повторять следующие действия:

1. Взять яблоко.

2. Посмотреть, не гнилое ли оно.

3. Если гнилое – выбросить, если нет – переложить в другой ящик.

Выполнять этот набор действий необходимо до тех пор, пока не закончатся яблоки в ящике.

 

Форма организации действий, при которой выпол­нение одной и той же последовательности действий по­вторяется, пока выполняется некоторое заранее уста­новленное условие, называется циклом (повторением).

Алгоритм, содержащий циклы, называется цикли­ческим алгоритмом, или алгоритмом с повторениями.

 

Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием.

 

Следует разрабатывать алгоритмы, не допускающие таких си­туаций.

 

Рассмотрим алгоритм работы будильника на телефоне, который должен зазвонить в 8:00 утра, а затем звонить через каждые 10 минут, до тех пор пока его не выключат.

В этом случае его блок-схема выглядит так: (блок-схему (рис. 9.) см. в конце конспекта)

 

На этом уроке мы обсудили три типа алгоритмов – линейные алгоритмы, алгоритмы с ветвлениями и алгоритмы с повторениями.

На следующем уроке мы на практике обсудим составление алгоритмов.


Решето Эратосфена

Вспомним определение простого натурального числа.

Натуральное число называют простым, если оно имеет только два делителя: единицу и само это число. Остальные числа называются составными. При этом число 1 не является ни простым, ни составным.

Примеры простых чисел: 2, 3, 5, 7.

Примеры составных чисел: 4, 6, 8.

 

В III веке до нашей эры греческий математик Эратос­фен предложил следующий алгоритм для нахождения всех простых чисел, меньших заданного числа п:

1. выписать все натуральные числа от 1 до n;

2. вычеркнуть 1;

3. подчеркнуть наименьшее из неотмеченных чисел;

4. вычеркнуть все числа, кратные подчеркнутому на предыдущем шаге числу;

5. если в списке имеются неотмеченные числа, то пе­рейти к шагу 3, в противном случае все подчеркну­тые числа – простые.

 

Это циклический алгоритм. При его выполнении повторение шагов 3–5 происходит, пока в исходном списке остаются неотмеченные числа.

Рассмотрим результат этого алгоритма. Выпишем все простые числа от 1 до 25.

Выпишем числа от 1 до 25.

Вычеркнем 1. Теперь подчеркнем двойку. Вычеркнем все четные числа.

Так как не все числа отмечены, то подчеркиваем 3. Теперь вычеркиваем все числа, которые делятся на 3.

Так как не все числа отмечены, то подчеркиваем 5. Теперь вычеркиваем число 25.

Так как не все числа отмечены, то подчеркиваем 7.

Вычеркнуть ничего нельзя, но не все числа отмечены, поэтому подчеркиваем 11.

Вычеркнуть ничего нельзя, но не все числа отмечены, поэтому подчеркиваем 13. Снова нельзя ничего вычеркнуть – подчеркиваем 17, затем 19 и 23.

Теперь все числа отмечены.

Получаем простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 23.

 

Рис. 7. Блок-схема для смены лампочки

 

Рис. 8. Блок-схема действий шестиклассника

 

 

Рис. 9. Блок-схема работы будильника

 

 

 

Список литературы

1. Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2012.

2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2010.

3. Босова Л.Л., Босова А.Ю. Уроки информатики в 5-6 классах: Методическое пособие. – М.: БИНОМ. Лаборатория знаний, 2010.

 

Дополнительные рекомендованные ссылки на ресурсы сети Интернет

1. Интернет портал «Наша сеть» (Источник)

2. Интернет портал «Гипермаркет знаний» (Источник)

3. Интернет портал «kaz.docdat.com» (Источник)

 

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

1. §3.4 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса).

2. Стр. 81 задание 2, 6 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса).

3. Стр. 82 задание 9, 11, 13, 14 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса).

4. * Стр. 83 задание 15 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса).