
- •5.1. Понятие алгоритма
- •5.1.1. Алгоритм и его свойства
- •5.1.2. Способы описания алгоритма
- •Изображение алгоритма в виде блок-схемы
- •Виды алгоритмов
- •Контрольные задания:
- •5.2. Компьютер как формальный исполнитель алгоритмов
- •5.2.1. Исполнитель и система команд исполнителя
- •5.2.2. Компьютер — автоматический исполнитель алгоритмов
- •Контрольные задания:
- •5.3. Алгоритмические конструкции:
- •5 Рис. 5.8. Линейный алгоритм .3.1. Линейный алгоритм
- •5.3.2. Разветвляющийся алгоритм
- •5.3.3. Циклические алгоритмы
- •5.3.3.1. Цикл со счетчиком
- •5 Рис. 5.17. Цикл с предварительным условием .3.3.2. Циклы с условием
- •Контрольные задания:
Основы алгоритмизации
ВОРОНЕЖСКИЙ ОБЛАСТНОЙ ИНСТИТУТ
ПОВЫШЕНИЯ КВАЛИФИКАЦИИ И ПЕРЕПОДГОТОВКИ
РАБОТНИКОВ ОБРАЗОВАНИЯ
МУНИЦИПАЛЬНОЕ
ОБЩЕОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
СТРЕЛИЦКАЯ
СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА
А. Н. Цицилин
Информатика
и ИКТ.
Основы
алгоритмизации
9 класс
УЧЕБНО-МЕТОДИЧЕСКОЕ
ПОСОБИЕ
ВОРОНЕЖ
2008
Основы алгоритмизации
Решение любой задачи на ЭВМ принято разбивать на следующие этапы:
разработка алгоритма решения задачи;
составление программы решаемой задачи на понятном ЭВМ языке;
ввод программы в ЭВМ;
отладка программы (исправление ошибок);
выполнение программы на ПК;
анализ полученных результатов.
Эта глава будет посвящена первому этапу решения задачи - разработке алгоритма.
5.1. Понятие алгоритма
5.1.1. Алгоритм и его свойства
Алгоритмы могут описывать процессы преобразования самых разных объектов. Широкое распространение получили вычислительные алгоритмы, которые описывают преобразование числовых данных. Само слово «алгоритм» происходит от algorithmi – латинской формы написания имени выдающегося математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических операций.
Алгоритм - четкое описание последовательности действий, которые необходимо выполнить при решении задачи, записанных с помощью понятных исполнителю команд.
Можно сказать, что алгоритм описывает процесс преобразования исходных данных в результаты, так как для решения любой задачи необходимо:
Ввести исходные данные;
Преобразовать исходные данные в результаты (выходные данные);
Вывести результаты.
Разработка алгоритма решения задачи - это разбиение задачи на последовательно выполняемые этапы, причем результаты выполнения предыдущих этапов могут использоваться в качестве исходных данных для последующих. При этом должны быть четко указаны как содержание каждого этапа, так и порядок их выполнения. Отдельный этап алгоритма представляет собой либо более простую, чем исходная, задачу, алгоритм решения которой известен (разработан заранее), либо достаточно простую и понятную без пояснений последовательность действий.
Алгоритмы состоят из отдельных команд, которые исполнитель выполняет одну за другой в определенной последовательности. Разделение информационного процесса в алгоритме на отдельные команды является важным свойством алгоритма и называется дискретностью.
Каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае эта команда и, следовательно, весь алгоритм в целом, не может быть выполнена. Данное свойство алгоритма указывает на его понятность.
Команды, образующие алгоритм, должны быть предельно четкими и однозначными. Их результат не может зависеть от какой-либо дополнительной информации извне алгоритма. Это свойство алгоритма называется детерминированностью (или определённостью).
Должны быть определены начальное состояние объекта и его конечное состояние (цель преобразования). Алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное за конечное число шагов. Такое свойство алгоритма называется результативностью и конечностью.
Один и тот же вид алгоритма подходит для решения большого количества задач. Это свойство называется массовостью и корректностью.
Каждый исполнитель обладает определенным набором, системой команд, которые он может выполнить. Алгоритм должен быть понятен исполнителю, то есть должен содержать только те команды, которые входят в систему его команд.
5.1.2. Способы описания алгоритма
Если алгоритм – это последовательность каких-то вполне определённых действий, то как тогда эти действия можно записать? Давайте себе представим следующую ситуацию: Вы приехали к своему другу в город. Ваш друг живёт на 16 этаже. Подниматься по лестнице долго и нудно, и что мы делаем?… Конечно же, вызываем лифт. А дальше? ... Получился набор команд, которые вам нужно выполнить.
Способ описания алгоритма, в котором используется простое перечисление команд, понятных пользователю (но не компьютеру!), называют записью алгоритма на естественном языке.
Вот вы сами решили задачу по составлению простейшего алгоритма – "Подняться на лифте на 16 этаж". А если, скажем, нам нужно подняться не на 16 этаж, а на 5 или 12, что тогда? Что изменится в нашем алгоритме? Да ничего! Нужно в кабине лифта вместо кнопки с цифрой "16" нажать на кнопку с цифрой "5" или "12". Все остальные действия останутся теми же самыми. Вот что означает свойство массовость.
Основные способы записи алгоритмов являются:
словесный (мы его рассмотрели выше);
словесно-формульный (часто используемый в математике);
на учебном алгоритмическом языке (в настоящее время редко где используется);
графический (блок-схема);
на языке программирования высокого уровня.
В информатике большее распространение получил способ описания алгоритма с помощью фигур геометрии и на языке программирования высокого уровня.
Запись алгоритма с помощью фигур геометрии называют блок-схемой.