Наша цель — научить компьютер решать те задачи, которые он самостоятельно и изначально решать не умеет. Что же для этого нужно?
А что, например, следует сделать, если нужно привлечь к решению задачи человека (назовем его исполнитель), не знакомого с ее решением? В общем виде последовательность действий здесь следующая:
а) выбрать способ (метод) решения задачи и изучить
его во всех подробностях;
б) сообщить исполнителю выбранный метод в абсолют
но понятном для него виде.
Первый этап этого процесса обычно не вызывает затруднений, так как для большинства встречающихся задач метод решения либо известен из практики, либо подсказывается здравым смыслом, либо описан в литературе. Главная трудность этого этапа — выбрать из нескольких методов более подходящий для решения данной задачи: наименее трудоемкий, максимально эффективный и т.д.
Второй этап значительно сложнее. Дело в том, что если способ (метод) решения задачи описан произвольно, то нет гарантии, что он будет верно понят исполнителем.
УРОК 16. Графические возможности среды программирования (8 класс)
Попробуйте, например, небольшую игру. Попросите товарища на время забыть все, что он знает, например, о процессе варки картофеля. Если же выбранный вами помощник еще никогда не варил картошку, то эксперимент будет максимально «чистым». Опишите ему процесс приготовления этого нехитрого блюда и попросите его приготовить, точно следуя вашим инструкциям.
После чего удалитесь с кухни и подождите результата в другой комнате. Ну как картошечка? Надеюсь, вы не забыли сказать вашему другу, чтобы он предварительно почистил ее.
Именно поэтому описание метода следует выполнять в соответствии с определенными правилами, а именно: — выделить величины, являющиеся исходными для задачи;
— разбить процесс решения задачи на такие этапы, которые известны исполнителю и которые он может выполнить однозначно без всяких пояснений;
— указать порядок выполнения этапов;
— указать признак окончания процесса решения задачи;
— указать во всех случаях, что является результатом решения задачи.
Описание метода, выполненное в соответствии с этими правилами, называется алгоритмом решения задачи.
Составить такое описание обычно нелегко, но, следуя ему, механически выполняя все указанные в нем этапы в требуемом порядке, исполнитель может всегда правильно решить задачу.
Итак, мы подошли к центральному понятию информатики — алгоритму .Более строго это понятие можно дать следующим образом.
Алгоритм — это метод (способ) решения задачи, записанный по определенным правилам, обеспечивающим однозначность его понимания и механического исполнения при всех значениях исходных данных (из некоторого множества значений).
Или более коротко: алгоритм — это строго определенная последовательность действий, необходимых для решения данной задачу..
Примером алгоритма может служить уже упоминавшийся кулинарный рецепт — алгоритм варки картофеля:
1. Подготовить исходные величины — воду, картофель, соль, посуду (кастрюлю с крышкой для варки), нож.
УРОК 21. Составление алгоритмов для работы с графикой (8 класс)
2. С помощью ножа очистить картофель и промыть его водой.
3. Нарезать картофель для варки.
4. Поместить картофель в кастрюлю.
5. Залить содержимое кастрюли водой.
7. Довести воду до кипения.
8. Убавить огонь.
9. Варить картофель до готовности (приблизительно в течение 20-30 минут).
10. Снять кастрюлю с огня и слить воду.
11. Картофель готов. Процесс прекратить.
Свойства алгоритма
Для углубления понятия алгоритма выделим и раскроем его основные свойства, вытекающие из определения.
1. Дискретность алгоритма. Это свойство означает, что решение задачи, записанное в виде алгоритма, разбито на отдельные простейшие команды, которые расположены в порядке их выполнения.
2. Определенность алгоритма. Это свойство означает, что каждая команда алгоритма должна быть понятна исполнителю, не оставлять места для ее неоднозначного толкования и неопределенного исполнения.
3. Результативность алгоритма. Свойство алгоритма, состоящее в том, что он всегда приводит к результату через конечное число шагов.
4. Массовость алгоритма. Это свойство заключается в том, что каждый алгоритм, разработанный для решения некоторой задачи, должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных.
Действительно, рассмотрим приведенный выше алгоритм варки картофеля с точки зрения его свойств.
Вставь пропущенные слова 1) Алгоритм — это подробный ______ последовательности действий, описывающий способ решения задачи.
2) _________________________ действий может быть названым алгоритмом, если оно обладает необходимыми свойствами. 3) Алгоритм может быть представлен на ________ в виде текста на естественном языке или в графической форме — блок-схеме. 4) Если в задаче есть слова <<если . то . >> то алгоритм с её решением будет алгоритмом с ______.
5) Система ______ исполнителя-компьютера — заданный список команд, которые он может выполнить. 6) Исполнителем алгоритма может быть ________ , который понимает команды и может их выполнить. 7) Алгоритм на естественном _____ и блок-схема — это две разные модели решения одной и той же задачи.
Источник: uchi.ru