Урок 1. понятие алгоритма и его свойства

МОУ «Средняя общеобразовательная школа № 14

С углубленным изучением отдельных предметов»

РАБОЧАЯ ТЕТРАДЬ

По информатике

ученика(цы) 6 класса ____

_________________________

I часть

Автор: Кудимова Н. В.

Г. Балахна

Г.

Перед вами рабочая тетрадь по информатике. Она посвящена одним из основных понятий этой науки – алгоритму и исполнителю.

Само слово алгоритм происходит от имени средневекового узбекского ученого Аль?Хорезми, который в своих трудах описал правила действий при выполнении арифметических операций. Эти правила в последствии стали называть алгоритмами. Сейчас алгоритм определяют как последовательность действий или операций, направленных на решение поставленной задачи или на достижение указанной цели.

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

В этой тетради мы будем учиться находить алгоритмы в том, что происходит вокруг нас, посмотрим, какими свойствами обладают алгоритмы и как применяются. Мы изучим основные алгоритмические конструкции, способы их записи и исполнения. Шаг за шагом мы будем знакомиться с различными алгоритмами, что поможет нам развивать алгоритмический стиль мышления. И на протяжении всего курса основным помощником в нашем обучении будет исполнитель Робот.

Урок 1. Понятие алгоритма и его свойства

Прежде, чем что-нибудь сделать, надо составить план, – говорила Алиса из сказки Льюиса Кэрролла. И в жизни мы все время составляем планы наших действий, например, утром большинство из нас действует по такому плану:

  • встать;
  • одеться;
  • умыться;
  • позавтракать;
  • выйти из дома в школу или на работу.

Можно ли данный план видоизменить? Можно ли добавить новые действия или изменить порядок уже записанных?

Урок 1. понятие алгоритма и его свойства В аналогичном виде можно записать план для того, чтобы совершить следующие действия:

  • заварить чай;
  • сделать бутерброд с колбасой;
  • приготовить яичницу;
  • посадить дерево.

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

Разбей ножом яйцо над сковородкой.
Поставь сковородку на плиту.
Включи плиту.
Жарь яичницу 5 минут.
Возьми нож.
Выбрось скорлупу в мусорное ведро.
Растопи на сковороде масло.
Начало.
Достань яйцо и масло.
Конец.
Выключи плиту.

Запиши план действий «Посади дерево»:

Обратите внимание, что в информатике принято выделять начало и конец плана действий в отдельные команды, поэтому и мы с вами в дальнейшем будем придерживаться этого правила.

В информатике план действий называют алгоритмом. Алгоритм состоит из отдельных шагов – команд. Ни одну из них нельзя пропустить, чаще всего никакие команды нельзя поменять местами (что при этом произойдет?).

Для каждого шага алгоритма можно предложить более подробный план.

Например, для действия позавтракать можно записать такой план:

  • вскипятить чайник;
  • сделать бутерброд;
  • съесть бутерброд с чаем;
  • вымыть посуду.

Урок 1. понятие алгоритма и его свойства

Запишите более подробный план для одного из действий алгоритма «Посади дерево»:

Урок 1. понятие алгоритма и его свойства
Урок 1. понятие алгоритма и его свойства

Урок 1. понятие алгоритма и его свойства

Каждый шаг этого алгоритма, в свою очередь, тоже можно расшифровать – на каждый шаг плана можно составить более подробный план. Где же остановиться? Ответ прост – это зависит от того, кто будет выполнятьэтот алгоритм. Надо остановиться на таком плане, в котором ему будет понятно, как выполнить каждый шаг.

Мы с вами записали алгоритм в виде текстового описания действия. Как вы думаете это единственный способ записи? Конечно, нет! Выделяют три основных способа записи алгоритмов:

1. В виде блок–схем.

2. В виде программ.

3. В виде текстовых описаний.

Немного подробнее остановимся на первом способе представления алгоритмов, в виде блок–схем. Блок–схема это графическое представление алгоритма с использованием стандартных графических объектов (овалов, прямоугольников, ромбов и т.д.), обозначающих команды, действия и т.п.

Познакомимся с первыми основными элементами блок–схемы.

Урок 1. понятие алгоритма и его свойства Начало или конец алгоритма. Внутри фигуры пишут соответственно «начало» или «конец».

Урок 1. понятие алгоритма и его свойства Выполняемое действие, которое и записывается внутри прямоугольника.

Тогда алгоритм «Позавтракать» в виде блок–схемы будет выглядеть следующим образом:

Урок 1. понятие алгоритма и его свойства

Урок 1. понятие алгоритма и его свойства

Запишите теперь алгоритмы «Посади дерево» и «Пожарь яичницу» в виде блок–схем.

Да, но любую ли последовательность каких-либо шагов мы сможем назвать алгоритмом? Наверное, нет. Следовательно, необходимо знать свойства алгоритма, чтобы можно было определить, является ли та или иная последовательность действий алгоритмом.

Свойства алгоритма:

1. Массовость – алгоритм должен быть пригоден для решения всех, или, во всяком случае, для большинства задач данного типа.

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

3. Результативность – алгоритм должен за конечное число шагов привести к получению нужного результата.

4. Формальность – любой исполнитель, способный воспринимать и выполнять указания алгоритма, возможно не понимая его смысла, должен правильно выполнить весь алгоритм.

5. Дискретность – всякий алгоритм представляет собой последовательность выполняемых один за другим отдельно законченных шагов (определенных, простых шагов).

Задания:

1. Напишите алгоритм «Соберись в школу».

В виде текстового описания

В виде блок схемы

2. Подробно распишите пункт «Собери портфель» из предыдущего алгоритма.

В виде текстового описания

В виде блок схемы

Урок 1. понятие алгоритма и его свойства
Урок 2. Исполнители

Исполнители часто встречаются в сказках. В одной из них Иван-Царевич говорит Избушке-На-Курьих-Ножках: “Избушка, избушка! Встань к лесу задом, ко мне передом!”. При этом команда должна быть задана очень точно,чтобы исполнитель ее понял. В сказке “Али-Баба и сорок разбойников” волшебная дверь открывалась по команде “Сезам, откройся!”. Жадный Касым, тайно проникший в пещеру, забыл эту фразу и не смог выйти из пещеры.

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

Исполнитель – человек, животное или машина, способные понимать и выполнять некоторые команды.

Исполнителями могут быть:

  • машины:станки, роботы, бытовые приборы (стиральная машина, магнитофон, плеер и т.п.), компьютеры;
  • растения:подсолнух (разворачивается к солнцу), кувшинки (закрываются на ночь);
  • животные:дрессированная собака (санитар, розыскная, охотничья), кошка, лошадь;
  • люди:ученик, рабочий, солдат, учитель, …

Животные и человек как исполнители отличаются от всех остальных исполнителей тремя основными признаками:

1. Они могут понимать команды в различных вариантах (например Сядь!, Садись!, Присядь!).

2. Они могут отказаться исполнять команду, если она им не нравится (Ешь манную кашу!, Выстрели в окно из рогатки!, Отдай кость!). То есть человек, и, в определенной степени, животное, обладают волей и отвечают за свои действия.

3. Они могут в разное время одни и те же команды выполнять по-разному (например, пол можно вымыть руками, а можно с помощью швабры).

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

Вспомним одно из свойств алгоритма, а именно формальность. Оно означает, что исполнитель может не понимать смысла алгоритма, но все равно правильно его выполнить. Всегда ли так может поступить человек или животное? Наверное, нет.

Человек не исполняет алгоритм бездумно и формально, то есть зачастую здравый смысл берет верх над инструкциями, на сколько бы строгими они не были (например, идите прямо до перекрестка и никуда не сворачивайте, это не означает, что вы станете наступать на прохожих и опрокидывать предметы). Сможет ли робот огибать препятствия, если в его алгоритме об этом ничего не сказано? Вряд ли.

И, наконец, человеку (и в какой степени и животному), как правило, известна конечная цель, и он к ней стремится, порою уточняя и дополняя алгоритм. Например, алгоритм Как добраться до библиотеки: необходимо идти по одной улице, на перекрестке перейти на соседнюю, у следующего светофора повернуть налево и дальше идти прямо, пока не увидите здание библиотеки. Однако это не означает, что, увидев здание библиотеки, вы остановитесь и дальше не пойдете. А как поступил бы на вашем месте робот?

Следовательно, нельзя сказать, что человек и животные исполняют алгоритм формально, вот и будем считать, что они – неформальные исполнители.

Тогда понятие формального исполнителя можно сформулировать следующим образом: Формальный исполнитель не обладает ни жизненным опытом, ни здравым смыслом, он не стремится к конечному результату и все инструкции алгоритма выполняет буквально, так, как они записаны в алгоритме.

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

Каждый исполнитель характеризуется двумя основными параметрами: среда исполнителя и система команд исполнителя.

Среда исполнителя – это объекты, которые окружают исполнителя и с которыми он взаимодействует.

Система команд исполнителя (СКИ) – набор команд, понятных исполнителю. Исполнитель может выполнять только те команды, которые входят в его СКИ.

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

Существует три вида ошибок исполнителей:

“НЕ ПОНИМАЮ” Данной команды нет в списке команд исполнителя, и он ее не понял. Вероятно, мы ошиблись в записи текста команды.
“НЕ МОГУ” Исполнитель понял команду, но не может ее выполнить. Например, роботу дана команда “вперед”, а впереди стоит стенка и он не может идти. Или собаке скомандовали “Сядь!”, а она уже сидит.
ЛОГИЧЕСКИЕ ОШИБКИ Исполнитель понял команду и выполнил ее, но результат получился не тот, что мы от него ожидали. Причина этого – наша ошибка в составлении задания (алгоритма).

Задания:

3. Дана блок-схема алгоритма, определите, что выполняет данный алгоритм.

Урок 1. понятие алгоритма и его свойства

Ответ:

Обратите внимание, в этом алгоритме мы столкнулись с новым элементом блок-схемы. Это параллелограмм. Как вы думаете, какую роль он играет в данном алгоритме?

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

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

Урок 1. понятие алгоритма и его свойства

5. Пусть у нас есть числовая ось.

Урок 1. понятие алгоритма и его свойства

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

Урок 1. понятие алгоритма и его свойства

К

Он может прыгать на три единицы вперёд и на две единицы назад.

Урок 1. понятие алгоритма и его свойства

Запишите систему команд исполнителя Кузнечик.

Составьте алгоритм, который переводит Кузнечика из точки 0 в точку 7.

Перевести Кузнечика из точки 0 в точку 2.

Кузнечик начал выполнение программы в точке 0, а закончил в точке 2. Затем та же программа была выполнена ещё раз. Где теперь оказался кузнечик?

Ответ:

Придумайте такой алгоритм, при выполнении которого Кузнечик бы выдал вам ошибку «НЕ МОГУ».

Урок 1. понятие алгоритма и его свойства Урок 1. понятие алгоритма и его свойства
Урок 3. Что такое программа для исполнителя?

Человек способен понимать алгоритм, записанный в разных формах, может понимать смысл команды и часто может “додумать”, что от него хотели даже тогда, когда команда задана неточно. Для того чтобы алгоритм был понятен роботу, компьютеру или другой машине, его необходимо записать в формальном виде.

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

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

Итак, алгоритм стирки белья:

  • Урок 1. понятие алгоритма и его свойства взять грязное белье и замочить его в воде со стиральным порошком;
  • тереть белье в воде, пока оно не станет чистым;
  • слить грязную воду и залить чистую;
  • прополоскать белье;
  • отжать.

Программы для исполнителей:

а) человек б) стиральная машина

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

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

Программа – это алгоритм, записанный в форме, понятной исполнителю.

Рассмотрим следующую задачу:

Есть двое песочных часов: на 3 минуты и на 8 минут. Для приготовления эликсира здоровья его надо варить 2 минуты. Как это сделать?

Для начала придумаем систему команд исполнителя Колдун, умеющего обращаться с песочными часами.

Урок 1. понятие алгоритма и его свойства
Урок 1. понятие алгоритма и его свойства

Теперь необходимо записать последовательность команд этого исполнителя при изготовлении эликсира. Придумайте, как описывать состояние системы для контроля над ситуацией и оформите решение в виде таблицы:

№ команды Команда Состояние системы
Начало
Конец

Для приготовления эликсира бессмертия его надо варить непрерывно ровно 7 минут. Оформите решение в виде таблицы:

№ команды Команда Состояние системы
Начало
Конец

Задания:

6. Автоматическое устройство имеет 2 кнопки и экран. При включении на экране загорается число 0. При нажатии на одну кнопку число на экране удваивается (команда х2). При нажатии на другую кнопку число увеличивается на 1 (команда +1). Было произведено несколько нажатий на эти кнопки, определите состояние экрана в каждом из случаев:

№ команды Команда Состояние экрана
Начало
+1
х2
+1
х2
х2
+1
х2
+1
х2
х2
+1
х2
+1
х2
х2
Конец
№ команды Команда Состояние экрана
Начало
+1
х2
х2
х2
х2
х2
+1
х2
+1
х2
+1
Конец

7. Автоматическое устройство имеет 2 кнопки и экран. При включении на экране загорается число 0. При нажатии на одну кнопку число на экране удваивается (команда х2). При нажатии на другую кнопку число увеличивается на 1 (команда +1). Но устройство не позволяет нажимать на кнопку +1 более одного раза подряд. Как надо нажимать на кнопки, чтобы на экране появилось:

а) число 5; б) число 99;

№ команды Команда Состояние экрана
Начало
Конец
№ команды Команда Состояние экрана
Начало
Конец

8. Имеются три емкости для жидкости — А, Б и В, вместимостью соответственно 8, 5 и 3 литров, и автомат, который может переливать жидкость из одной емкости в другую. Автомат управляется нажатием кнопок: А-Б, А-В, Б-В, Б-А, В-Б и В-А.

Емкость 8 литров полностью заполнена жидкостью, остальные две пусты. При этом емкости не имеют делений и поэтому можно либо полностью вылить из них всю жидкость, либо заполнить полностью другую емкость. Напишите программу для этого исполнителя, с помощью которой через конечное число шагов: а) в емкости А остается ровно 7 литров жидкости; б) в емкости А и Б по 4 литра.

Проливать жидкость или добавлять ее из внешнего источника не разрешается.

№ команды Команда Состояние системы
А Б В
Начало
Конец

Решение оформите в виде таблицы:

№ команды Команда Состояние системы
А Б В
Начало
Конец

9. Имеются три емкости для жидкости — А, Б и В. Вместимостью соответственно 14, 8 и 5 литров, и автомат, который может переливать жидкость из одной емкости в другую. Емкость 14 литров полностью заполнена жидкостью, остальные две пусты. Определите состояние системы на каждом шаге исполнителя.

Информатика 9 класс. Алгоритм и его свойства


Похожие статьи.

Понравилась статья? Поделиться с друзьями: