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

Обновлено: 06.07.2024

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

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

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

Вообще говоря, первое определение не передает полноты смысла понятия алгоритм. Используемое слово "последовательность" сужает данное понятие, т.к. действия не обязательно должны следовать друг за другом – они могут повторяться или содержать условие.

  1. Дискретность (от лат. discretus — разделенный, прерывистый) – это разбиение алгоритма на ряд отдельных законченных действий (шагов).
  2. Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, алгоритм проезда к другу, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, скажем, три.
  3. Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения.
  4. Массовость – один и тот же алгоритм можно использовать с разными исходными данными.
  5. Результативность – алгоритм должен приводить к достоверному решению.

Основная цель алгоритмизации – составление алгоритмов для ЭВМ с дальнейшим решением задачи на ЭВМ.

  1. Любой прибор, купленный в магазине, снабжается инструкцией по его использованию. Данная инструкция и является алгоритмом для правильной эксплуатации прибора.
  2. Каждый шофер должен знать правила дорожного движения. Правила дорожного движения однозначно регламентируют поведение каждого участника движения. Зная эти правила, шофер должен действовать по определенному алгоритму.
  3. Массовый выпуск автомобилей стал возможен только тогда, когда был придуман порядок сборки машины на конвейере. Определенный порядок сборки автомобилей – это набор действий, в результате которых получается автомобиль.

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

  1. словесная (запись на естественном языке);
  2. псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
  3. графическая (изображения из графических символов – блок-схема);
  4. программная (тексты на языках программирования – код программы).

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

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

Пример словесной записи:

  1. задать два числа, являющиеся делимым и делителем;
  2. проверить, равняется ли делитель нулю;
  3. если делитель не равен нулю, то найти частное, записать его в ответ;
  4. если делитель равен нулю, то в ответ записать "нет решения".

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

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

Выделяют три наиболее распространенные на практике способа записи алгоритмов:

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

Словесный способ записи алгоритмов

Словесный способ – способ записи алгоритма на естественном языке. Данный способ очень удобен, если нужно приближенно описать суть алгоритма. Однако при словесном описании не всегда удается ясно и точно выразить логику действий.

В качестве примера словесного способа записи алгоритма рассмотрим алгоритм нахождения площади прямоугольника

где S – площадь прямоугольника; а, b – длины его сторон.

Очевидно, что a, b должны быть заданы заранее, иначе задачу решить невозможно.

Словестный способ записи алгоритма выглядит так:

  • Начало алгоритма.
  • Задать численное значение стороны a.
  • Задать численное значение стороны b.
  • Вычислить площадь S прямоугольника по формуле S=a*b.
  • Вывести результат вычислений.
  • Конец алгоритма.

Графический способ описания алгоритмов

Для более наглядного представления алгоритма используется графический способ. Существует несколько способов графического описания алгоритмов. Наиболее широко используемым на практике графическим описанием алгоритмов является использование блок-схем. Несомненное достоинство блок схем – наглядность и простота записи алгоритма.

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

Название символа Обозначение
и пример заполнения
Пояснения
Пуск-останов Начало, завершение алгоритма или подпрограммы
Ввод-вывод данных Ввод исходных данных или вывод результатов
Процесс Внутри прямоугольника записывается действие, например, расчетная формула
Решение a>b
Проверка условия, в зависимости от которого меняется направление выполнения алгоритма
Модификация i=1 to 20 do
Организация цикла
Предопределенный процесс Использование ранее созданных подпрограмм
Комментарий Пояснения

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

Если условие выполняется, то есть a>b, то следующим выполняется действие по стрелке «Да». Если условие не выполняется, то осуществляется переход по стрелке «Нет».

  • блок Модификация используется для организации циклических (повторяющихся) действий.

Модификация

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

В качестве примера графического способа описания алгоритмов с помощью блок-схем запишем алгоритм нахождения площади прямоугольника:

помощью блок-схем запишем алгоритм

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

Последовательность выполнения сверху вниз и слева направо принята за основную.

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

Программный способ записи алгоритмов

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

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

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

Запись алгоритма на языке программирования называется компьютерной программой.

Вспомним некоторые понятия, с которыми вы познакомились в 6-м классе.

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

Любой исполнитель имеет ограниченную систему команд. Все команды исполнителя можно разделить на группы:

  1. 1) команды, которые непосредственно выполняет исполнитель;
  2. 2) команды, меняющие порядок выполнения команд исполнителя.

Компьютер является универсальным исполнителем.

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

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

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

(Схематически данные способы представлены в примере 8.1.)

8.2. Исполнитель Чертежник

В прошлом учебном году вы познакомились с исполнителем Чертежник, который предназначен для построения рисунков и чертежей на координатной плоскости (пример 8.2).

Чертежник имеет перо, с помощью которого он может рисовать отрезки на плоскости. Исходное положение пера исполнителя Чертежник поднято и находится над точкой (0, 0) — началом координат. После завершения рисования перо также должно быть поднято.

Напомним систему команд исполнителя Чертежник:

Переместить перо Чертежника в точку (x,y)

Поднять перо Чертежника

Опустить перо Чертежника

Создать поле размером N x M

Сместить перо Чертежника на а единиц по горизонтали и b единиц по вертикали

Пример 8.3. Составим алгоритм решения задачи.

Прямоугольный участок, длина которого в 2 раза больше ширины, огородили забором длиной 120 м. Определите длину и ширину участка. Напишите программу, выполнив которую исполнитель Чертежник построит чертеж забора этого участка. Масштаб: 1 клетка равна 10 м.

Словесное описание алгоритма:

  1. Длина участка в два раза больше ширины, поэтому в сумме длина и ширина составят три одинаковых части. Забор огораживает участок по периметру. Периметр прямоугольника равен удвоенной сумме длины и ширины, следовательно, он равен шести одинаковым частям.
  2. Значение ширины получим так: 120 : 6 = 20 м.
  3. Длина в 2 раза больше ширины: 20 ∙ 2 = 40 м.

8.3. Алгоритмическая конструкция следование

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

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

Следование использовалось в примере 8.3, в котором описывались алгоритмы вычисления длины и ширины участка и построения прямоугольника исполнителем Чертежник.

Алгоритмическая конструкция следование представлена в примере 8.4 и примере 8.5.

8.4. Вспомогательные алгоритмы

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

Вспомогательный алгоритм — алгоритм, целиком используемый в составе другого алгоритма.

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

Пример 8.6. Напишем программу, выполнив которую исполнитель Чертежник нарисует следующий рисунок:

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

Описание основного алгоритма будет следующим:

  • перемещение в начальную точку;
  • рисование фигуры;
  • перемещение ко второй фигуре;
  • рисование фигуры;
  • перемещение к третьей фигуре;
  • рисование фигуры.

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

Алгоритмы построения чертежей человек разрабатывает с глубокой древности. Появление чертежей связано с практической деятельностью человека — возведением укреплений и городских построек. Первые сведения о чертежах, напоминающих современные, связаны с именем Леонардо да Винчи (1452—1519) —итальянского ученого и художника, который в технических рисунках и эскизах раскрывал свои идеи в области техники и строительства.


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

Пример 8.2. Поле исполнителя Чертежник.


Пример 8.3. Запись алгоритма по действиям:

  1. 1) 1 + 2 = 3 (части);
  2. 2) 3 ∙ 2 = 6 (частей);
  3. 3) 120 : 6 = 20 (м);
  4. 4) 20 ∙ 2 = 40 (м).

Исполнитель Чертежник должен нарисовать прямоугольник длиной 4 клетки и шириной 2 клетки. Программа для исполнителя Чертежник :

Алгоритм это в информатике

Алгоритмы появились вместе с математикой, а первые упоминания о них встречаются в книге математика Мухаммеда бен Мусы аль-Хорезми из города Хорезма. Он описал методы выполнения различных действий с многозначными числами еще в 825 году. Само слово «алгоритм» появилось после того, как книгу ученого перевели на латинский язык в Египте.

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

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

Свойства и виды

Для изучения понятия нужно разобраться в свойствах алгоритма в информатике. Их существует несколько:

Свойства алгоритма в информатике.

  • дискретность;
  • детерминированность или определенность;
  • понятность;
  • завершаемость или конечность;
  • массовость или универсальность;
  • результативность.

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

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

Универсальность или массовость позволяет использовать алгоритм с разными наборами начальных данных. Последнее свойство обеспечивает его завершение в виде определенного числа — результата.

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

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

Виды алгоритмов

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

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

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

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

Алгоритм для быстрого решения задачи.

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

Способы записи

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

  • словесно-формульный;
  • графический;
  • программный.

В первом случае алгоритм записывается простым языком — словами и математическими формулами, что необходимо для понимания его теории. Здесь учитываются исходные данные, действия с ними и условия получения результата. Второй тип записи — компьютерное описание. Для этого применяются языки программирования и сами программы — форсы представления расчетов для их выполнения машиной.

Графическое описание состоит из связанных между собой географических фигур. Основные элементы блок-схем:

  • прямоугольники;
  • эллипсы;
  • ромбы;
  • шестиугольники;
  • стрелки;
  • пунктирные линии;
  • соединительные фигуры.

Графическое описание

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

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

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

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

Правила создания

Правила создания алгоритмов

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

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

Разобраться с действиями помогут простые примеры алгоритмов по информатике. Когда есть ряд чисел от 1 до 100 и необходимо найти из них простые, то выбираются те, что делятся на единицу и себя. В этом случае используется циклическая структура:

  • сначала нужно взять число 1;
  • проверить, меньше ли оно, чем 100;
  • если да, то узнать, простое ли оно;
  • при выполнении условия записать;
  • перейти к числу 2;
  • повторить операцию.

Такие действия проводят со всеми числами. При этом первые четыре шага будут постоянно повторяться. Если попадается число, не являющееся простым (4, 6, 8 и т. д. ), то его нужно просто пропустить. Алгоритм в этом случае обладает предусловиями, то есть проверки происходят в начале цикла.

Анализ работы

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

Анализ работы алгоритма

Гипотеза Ричарда Мейса утверждает, что избежать ошибок легче, чем их устранить. Благодаря доказательству корректности программ можно выявить их свойства, применяемые ко всем видам входных данных. Само понятие делится на две разновидности — частичную и полную. При первом типе корректности алгоритм дает правильный результат только для тех случаев, когда он завершается. Во втором случае программа завершает работу корректно для всего диапазона данных.

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

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

Читайте также: