Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Программирование алгоритмов

Определение 1

Программирование алгоритмов — это программирование последовательности команд, которые предписывают порядок действий, необходимый для достижения результата.

Введение

Алгоритмом является описание на некотором языке точной и конечной системы правил, задающая назначение и очерёдность выполнения действий над заданными объектами, чёткое исполнение которых позволяет решить поставленную задачу. Само понятие алгоритма, которое является основополагающим в математике и информатике, появилось гораздо раньше, чем были изобретены электронные вычислительные машины. Изначально понятие алгоритм означало метод исполнения арифметических операций над десятичными числами. Но затем этот термин стал применяться, чтобы обозначить любую очерёдность действий, которая приводит к разрешению определённой задачи.

Все алгоритмы сформированы не сами по себе, а предназначаются для определённых исполнителей, которыми могут быть люди, роботы, языки программирования, компьютеры и так далее. Характеристикой всех исполнителей является способность исполнять некоторый набор команд. Командный набор, который конкретный исполнитель в состоянии выполнить, именуется исполнительской системой команд. Алгоритм должен быть описан на основании команд исполнителя, которому предстоит осуществить реализацию этого алгоритма. Объекты, предполагаемые для выполнения исполнителем действий над ними, являются средой исполнителя. Начальные (исходные) данные и итоги всех алгоритмов относятся к среде тех исполнителей, для которых предназначается алгоритм. Алгоритм обладает следующим набором основных свойств:

  • Свойство дискретности.
  • Свойство массовости.
  • Свойство определённости.
  • Свойство результативности.
  • Свойство формальности.

Дискретность - это свойство алгоритма, которое характеризует его структурную организацию. То есть, любой алгоритм может быть поделен на отдельные законченные действия или шаги.

«Программирование алгоритмов» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Массовость – это возможность применения алгоритма к любой задаче определённого типа при любом наборе начальных данных.

Определённость - это свойство алгоритма, которое указывает на то, что все шаги алгоритма чётко определены и невозможно их двоякое истолкование, а также чётко определяется очерёдность исполнения отдельных операций (шагов).

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

Формальность - это свойство алгоритма, указывающее на то, что все исполнители, которые способны понимать и исполнять предписания алгоритма, действуют в формальном режиме, не отвлекаясь на анализ содержания поставленной задачи, а только чётко исполняют инструкции.

Методы описания алгоритмов

Существуют следующие методы описания алгоритмов:

  1. Описание при помощи слов, то есть словесное описание.
  2. Описание при помощи псевдокодов.
  3. Описание при помощи блок-схемы.
  4. Описание на языке программирования.

Словесное описание отображает структурную организацию алгоритма на естественном языке. Не существует набора правил для словесного описания алгоритма. Он может быть описан в произвольном формате на одном из естественных языков, к примеру, на русском.

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

Не существует чётких правил синтаксиса для записи псевдокодов. Это делает значительно более лёгким процесс записи алгоритма при его формировании и даёт возможность описать алгоритм при помощи любого командного набора. При этом в псевдокодах, как правило, применяются отдельные конструкции, которые присущи формальным языкам, а это обстоятельство способно облегчить переход от псевдокодов к формированию алгоритма на каком-либо языке программирования. Общего или формализованного определения псевдокода не существует, и по этой причине допускаются разные псевдокоды, которые могут отличаться совокупностью применяемых слов и конструкций.

Блок-схема является описанием структурной организации алгоритма при посредстве разных геометрических фигур, соединённых линиями связи, определяющими очерёдность исполнения отдельных операций. Данный метод обладает рядом преимуществ. Наглядность обеспечивает лёгкую «читаемость» алгоритма и в явной форме показывает очерёдность исполнения отдельных команд. Блок-схема имеет набор формальных конструкций, каждой из которых ставится в соответствие некоторая геометрическая фигура или же соединённый нужными линиями набор фигур.

Если алгоритм описан в словесной форме, на псевдокоде или при помощи блок-схемы, то это подразумевает определённый произвол при отображении команд. Но при этом они дают возможность человеку уяснить суть и выполнить алгоритм. На практике же, как правило, в качестве исполнителя алгоритма используется компьютер. По этой причине алгоритм, который предназначен для выполнения на компьютере, обязан быть представленным на понятном компьютеру языке, то есть на формализованном языке, именуемом языком программирования.

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

Элементарные алгоритмические шаги обычно объединяются в следующий набор алгоритмических конструкций:

  • Линейные алгоритмы.
  • Разветвляющиеся алгоритмы.
  • Циклические алгоритмы.
  • Рекурсивные алгоритмы.
Дата написания статьи: 20.04.2021
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot