Модель — алгоритм — программа

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


Слово «алгоритм» произошло от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми, описавшего в IX веке правила выполнения вычислений с многозначными десятичными числами. Правила сложения, вычитания, умножения столбиком, деления «уголком», которые мы учим в младших классах, - это алгоритмы аль-Хорезми.

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения — точного предписания, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату.

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

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

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

Алгоритм –последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.

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

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

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

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

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


  • дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов;

  • детерминированность –исполнитель должен выполнять команды алгоритма в строго определенной последовательности, каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего;

  • однозначность– каждая команда определяет однозначное действие исполнителя;

  • понятность – понимание исполнителем команд, в алгоритме используются только команды из системы команд исполнителя;

  • результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;

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


Билет 19 (1). Способы описания алгоритмов

Типовые конструкции алгоритмов:


  • линейная – описание действий, которые выполняются однократно в заданном порядке;

  • циклическая – описание действий или группы действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.

  • разветвляющаяся – алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий;

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


Форма и способ записи алгоритма зависит от того, кто будет исполнителем.

Представление алгоритмов можно разделить на две группы:


  • естественное:

  • словесный способ (алгоритм записан на естественном языке);

  • графический способ (алгоритм изображен в виде блок-схемы);

  • формальное.


Естественное представление алгоритма

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

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

Элементы блок-схем

Элемент блок-схемы Назначение элемента блок-схемы
Модель — алгоритм — программа - student2.ru начало и конец алгоритма
Модель — алгоритм — программа - student2.ru ввод-вывод данных, преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод)
Модель — алгоритм — программа - student2.ru процесс, выполнение команд или группы команд, в результате которых изменяется значение, форма представления или расположение данных
Модель — алгоритм — программа - student2.ru задание и проверка условия, выбор направления выполнения алгоритма, служит для обозначения условий в алгоритмических структурах «ветвление» и «выбор»
Модель — алгоритм — программа - student2.ru применяется для вызова отдельно описанного алгоритма (подпрограммы)
Модель — алгоритм — программа - student2.ru применяется для объявления переменных или ввода комментариев

Формальное представление алгоритмов

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

Алгоритмический язык – это система правил и обозначений для точной и однозначной записи алгоритмов. Такая запись является формализованной. Это означает, что запись подчиняется строгим требованиям синтаксиса языка.

Язык программирования – это система обозначений и правил для записи алгоритмов, предназначенная для использования на ЭВМ.

Программа – запись серии исполняемых команд на заданном языке программирования.

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

В 60-е годы началась разработка языков программирования высокого уровня (Алгол, Фортран, Бейсик, Паскаль и др.), которые позволили существенно облегчить работу программистов. Языки программирования высокого уровня – позволяют создавать программы в привычном для человека виде (в виде предложений). Такие языки программирования строились на основе использования определенного алфавита и строгих правил построения предложений (синтаксиса).

В настоящее время наибольшей популярностью пользуются системы объектно-ориентированного визуального программирования Microsoft Visual Basic, Borland Delphi, C++ (СИ++), JAVA.

В мире насчитывается несколько сотен языков программирования различных структур и возможностей.

Наши рекомендации