Добавить в корзинуПозвонить
Найти в Дзене
SoftSAR

Алгоритмы в программировании: основные понятия

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

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

Все алгоритмы обладают следующим набором характеристик:

  • Дискретность;
  • Конечность;
  • Понятность;
  • Определенность;
  • Массовость.

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

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

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

Определенность или однозначность: каждая команда алгоритма должна быть точно и однозначно определена. Также однозначно должно быть определено, какая команда будет выполняться на следующем шаге. Результат выполнения команды не должен зависеть от их интерпретации исполнителем.

Массовость: алгоритм содержит и обрабатывает в себе определенное набор данных, которое применяются для решения задач одинакового типа.

Алгоритмы можно записать следующими способами:

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

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

Начало и конец алгоритма

-2

Начало и конец выполнения алгоритма обозначается в виде прямоугольника с закругленными углами.

Ввод и вывод данных

-3

Ввод исходный данных и вывод результирующих данных обозначается в виде параллелограмма.

Действие

-4

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

Развилка

-5

Альтернативный блок (развилка) служит для указания выбора одного из двух действий, обозначается в виде ромба.

Цикл

-6

Цикл предназначен для организации циклического процесса с параметром, обозначается в виде шестиугольника.

Процесс

-7

Процесс подпрограмма используется для указания обращения к отдельным модулям подпрограммам.

Печать

-8

Блок печати указывает вывод результатов на печать.

Стрелки

-9

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

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

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am