Способы описания алгоритмов




Алгоритмы и свойства алгоритмов

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

Поэтому, чтобы привлечь компьютер к исследованию объекта, процесса, явления или к “рутинной” обработке информации, прежде всего надо:

· четко поставить задачу (разработать модель),

· определить исходные данные, форму представления результатов.

· далее необходимо создать алгоритм решения задачи и программу, которая будет понята компьютером.

Возникает классическая для информатики триада:

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

Способы описания алгоритмов

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

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

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

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

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

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

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

· естественное:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-07-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: