Все предметы
ВНО 2016
Конспекты уроков
Опорные конспекты
Учебники PDF
Учебники онлайн
Библиотека PDF
Словари
Справочник школьника
Мастер-класс для школьника

Информатика

Алгоритмизация

Технологии программирования

Для облегчения работы со сложными задачами процесс подготовки задачи для решения на компьютере можно разделить на два этапа: создание укрупненного алгоритма (требования к исходных данных и результата, постановка задачи, описание точной схемы решения с указанием всех особых ситуаций) и написание программы.
Разрабатывая программы для решения сложных современных задач, применяют различные технологии программирования, например нисходящее программирование («сверху вниз»), восходящее программирование («снизу вверх»), пакетное программирование, объектно-ориентированное программирование.
Структурный подход к проектированию алгоритмов
Понятие о структурный подход. Для разработки алгоритма сложных задач используется принцип структурного проектирования алгоритмов.
Структурный подход к созданию алгоритмов - это метод разработки алгоритма, который обеспечивает легкость чтения алгоритма, простоту проверки правильности выполнения алгоритма, удобство в его модификации. Этот метод предусматривает:
• конструирование алгоритма с использованием трех базовых алгоритмических структур;
• использование метода пошаговой детализации, то есть дробления задачи на более простые задачи, затем измельчение этих задач на еще более простые составляющие и т. д. (разработка алгоритма «сверху вниз»);
• анализ алгоритма, т.е. контроль правильности каждой структуры алгоритма и взаимосвязей структур.
Преимуществом структурного подхода является его модульность. Модуль - это последовательность логически связанных команд, которая оформлена в виде отдельного алгоритма. Эти вспомогательные алгоритмы можно конструировать и анализировать отдельно и независимо, используя их потом в основном алгоритме или других вспомогательных алгоритмах.
Структурный подход привел к идее распределения работы среди разработчиков алгоритмов. Структурный подход применяется при использовании процедурных языков программирования.
Метод пошаговой детализации. Для создания алгоритма сложной задачи применяется метод пошаговой детализации («проектирование сверху вниз»). При этом методе сложная задача разбивается на несколько простых. Эти задачи, в свою очередь, могут разбиваться на серию еще более простых и т. д. Процесс пошаговой детализации считается законченным, когда задачи очередного уровня становятся достаточно простыми для независимого решения. Затем результаты проектирования простых задач компонуются в общий алгоритм.
Вспомогательные алгоритмы. При структурировании алгоритма возникает необходимость в решении дополнительных задач. Назовем алгоритм для выполнения основной задачи основным алгоритмом. Тогда алгоритм для решения вспомогательной задачи, выделенной в отдельную структуру, назовем вспомогательным алгоритмом. Этот алгоритм предназначен для достижения вспомогательной цели на пути решения основной задачи. Один и тот же вспомогательный алгоритм может быть использован и в основном, и в другом вспомогательном алгоритме.
Каждый вспомогательный алгоритм имеет свое уникальное имя, по которому его можно распознать среди других вспомогательных алгоритмов и на это имя вызвать его с другого алгоритма с помощью команды вызова вспомогательного алгоритма.
Выполнение вспомогательного алгоритма с нужными начальными данными и/или передачу результатов в основной алгоритм осуществляется с помощью параметров алгоритма.
Параметры, которые необходимо задать перед началом работы вспомогательного алгоритма, называются аргументами алгоритма. Эти параметры дают возможность изменить входные данные перед началом работы вспомогательного алгоритма.
Параметры, значения которых определяются в результате работы алгоритма, называются результатами алгоритма. Вспомогательный алгоритм может совсем не иметь параметров или иметь какой-то один тип параметров. Параметры, используемые для описания входных и выходных данных алгоритма, называются формальными. Формальные параметры составляют список формальных параметров.
При конкретном выполнении вспомогательного алгоритма формальные параметры заменяются на фактические, то есть при вызове вспомогательного алгоритма нужно указать фактические параметры алгоритма.
Результатом выполнения некоторого вспомогательного алгоритма может быть одна или несколько результирующих величин, которые содержатся в списке параметров, или некоторое действие (например вывода звука) без результирующей величины. Такие вспомогательные алгоритмы называются алгоритмами-процедурами.
Алгоритмы-функции - это вспомогательные алгоритмы, которые выполняют некоторые действия, результатом выполнения которых является один-единственный результат, который присваивается непосредственно имени функции. Имя функции используется в командах как имя обычной переменной или константы.
Алгоритмы-процедуры и алгоритмы-функции обеспечивают возможность практической реализации метода структурного программирования.
Вызов вспомогательного алгоритма имеет разный вид в случае вызова алгоритма-функции или алгоритма-процедуры:
• вызов вспомогательного алгоритма-процедуры осуществляется с помощью специальной команды;
• вызов алгоритма-функции осуществляется непосредственным указанием имени функции с фактическими аргументами в некотором выражении.
Выполнение этих команд происходит так:
• формальные аргументы вспомогательного алгоритма заменяются фактическими значениями, указанными в команде вызова алгоритма в списке фактических параметров; если в списке фактических аргументов присутствуют выражения - они сначала вычисляются;
• выполняются все команды вспомогательного алгоритма с использованием фактических аргументов;
• полученные результаты сопоставляются с фактическим именам результатов (именам фактических переменных, которые используются как фактические результаты в алгоритмах-процедурах или имени самого алгоритма-функции).
После выполнения вспомогательного алгоритма выполняется команда алгоритма, записанная после команды вызова вспомогательного алгоритма.