Как составить алгоритм в словесном виде

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

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

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

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

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

S=a*b,

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

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

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

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

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

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

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

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

Пояснения:

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

Процесс

  • блок Решение обозначает проверку условия

Решение

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

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

Модификация

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

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

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

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

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

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

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

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

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

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

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

Словесная форма представления алгоритма

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

Разветвляющиеся алгоритмы:

5. Если <условие>, то перейти к пункту
6, иначе перейти к пункту 7.

6. операторы, перейти к пункту № (операторы,
следующие за ветвлением)

7. операторы

Циклические алгоритмы:

Первый способ организации цикла (цикл
с предусловием):

1. Установка начальных значений переменных,
использующихся (изменяющихся) в цикле.

2. ПРОВЕРКА: продолжить цикл?

ДА выполняется тело цикла;

изменяется значение переменной цикла;

возвращаемся на проверку в пункт 2.

НЕТ выходим из цикла на пункт 3.

3. Операторы.

Второй способ организации цикла (цикл
с постусловием):

1. Установка начальных значений переменных,
использующихся (изменяющихся) в цикле.

2. Выполнение тела цикла.

Изменение переменной цикла.

3. ПРОВЕРКА: закончить цикл?

ДА выход из цикла на пункт 4.

НЕТ возвращаемся на пункт 2.

4. Операторы, следующие за телом цикла.

Второй способ организации цикла (цикл
с параметром):

5. Для iот 1 доnперейти к пункту 6

6. Для jот 1 доnперейти к пункту 7

7. операторы

Да операторы

Нет операторы

8. Операторы, следующие за телом цикла.

Пример 1 – алгоритм
Евклида.

Задача, даны два
целых положительных числа, найти их
наибольший общий делитель (НОД).

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

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

1. задать два числа;

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

3. определить большее из чисел;

4. заменить большее из чисел разностью
большего и меньшего из чисел;

5. повторить алгоритм с шага 2.

2.
Ввести (М, N).

3.
Если MN,
то перейти к п.4, иначе перейти к п. 7

4.
Если M>N,
то прейти к п. 5, иначе перейти к п. 6.

5.
М: = М-N;
перейти к п. 3.

6.
N:
= N-М;
перейти к п. 3.

7. НОД: =М.

8. Печатать (НОД).

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

  • такие описания строго не формализуемы;

  • страдают многословностью записей;

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица 1. Условные
графические обозначения, применяемые
при составлении схем алгоритмов.

п/п

Назва-ние
символа

Сим-вол

Отображаемая
функция

1

Блок
вычислений

Вычислительное
действие или последовательность
вычислительных действий

2

Логический
блок

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

3

Блоки
ввода – вывода

Общее
обозначение ввода или вывода данных

Вывод
данных, носителем которых служит
документ

4

Начало-конец

Начало
или конец программы, останов, вход
или выход в подпрограммах

5

Предоп-ределен-ный
процесс

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

6

Блок
модифи-кации

Выполнение
действий, изменяющих пункты алгоритма

7

Соединитель

Указание
связи между прерванными линиями
потока информации в пределах одной
страницы

8

Межстраничный
соедини-тель

Указание
связи между частями схемы, расположенными
на разных листах

9

Магнит-ный
диск

Ввод-вывод
данных, носителем которых служит
магнитный диск

10

Коммен-тарий

Связь
между элементами схемы и пояснением

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

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

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

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

Рис. 1. Соединитель

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

Рис. 2. Межстраничный
соединитель

Внутри блоков и
рядом с ними делают записи и обозначения
(для уточнения выполняемых ими функций)
так, чтобы их можно было читать слева
направо и сверху вниз независимо от
направления потока. Например, на рис. 3
вид 1 и вид 2 читаются идентично.

Рис. 3.

Порядковые номера
блоков проставляют в верхней части
графического символа в разрыве его
контура (рис. 1 и 4).

Рис. 4

При
выполнении схем алгоритмов необходимо
выдерживать минимальное расстояние 3
мм между параллельными линиями потоков
и 5 мм между остальными символами. В
блоках приняты размеры:
=10,
15, 20 мм;=1.5(рис.3).
Если необходимо увеличить размер схемы,
то допускается увеличиватьна число кратное пяти.

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

Вопросы занятия:

·                  
Способы
записи алгоритмов;

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

·                  
Блок-схемы.

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

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

·                  
Словесные

·                  
Графические

·                  
Способы
записи на алгоритмическом языке.

Давайте обратимся к
истории развития алгоритмов. Здесь весомое место принадлежит нашему
соотечественнику Андрею Андреевичу Маркову. В начале 1950-х годов в работах А.
А. Маркова получила развитие та идея, что все математические алгоритмы можно
свести к повторению простых однотипных операций, выполняемых в строгом порядке
по определённому предписанию, которое после объяснения на обычном языке или
даже демонстрации на примерах становится понятным каждому.

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

Первые предписания,
направлены на изменение информации (функциональные операторы)

Вторые предписания,
определяют дальнейшие направление действий (логические операторы)

Эти предписания лежат в
основе большинства способов записи алгоритмов.

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

Данный способ является
самым простым способом записи алгоритма, так как алгоритм записывается на
обычном разговорном языке в виде определённых высказываний.

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

Рассмотрим пример.

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

Итак, для того, чтобы
построить треугольник по двум сторонам и углу между ними нужно:

·                  
Провести
прямую.

·                  
На
прямой, от выбранной точки А, отложить отрезок, равный первому данному отрезку.

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

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

·                  
Соединить
концы отрезков.

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

То есть для записи
алгоритма необходимо соблюдать следующие правила:

·                  
Каждое
предписание записывается с новой строки

·                  
Шаги
алгоритма нумеруются

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

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

Например:

·                  
Обозначить
первое из заданных чисел Х, второе обозначить У.

·                  
Если
𝑋=У,
то перейти к п. 8.

·                  
Если
𝑋
> У, то перейти к п. 4, иначе перейти к п. 6.

·                  
Заменить
𝑋
на 𝑋
− У.

·                  
Перейти
к п. 2.

·                  
Заменить
У на У − 𝑋.

·                  
Перейти
к п. 2.

·                  
Считать
𝑋
искомым результатом.

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

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

Блок-схема
– это графический документ, глядя на который легко понять порядок работы
алгоритма.

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

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

Линии связи справа налево
и сверху вниз изображаются с помощью стрелок.

Рассмотрим некоторые
обозначения, используемые в блок-схемах.

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

Из начального блока
выходит одна линия связи, в конечный блок также входит одна линия связи.

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

В блок данных входит одна
линия связи и выходит одна линяя связи.

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

В блок Процесс также
входит и выходит одна линяя связи.

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

В данный блок входит одна
линяя связи, а выходят две линии, возле которых записываются результаты
проверки условия.

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

Рассмотрим блок-схему
кипячения воды.

Как видно из блок-схемы
для получения результата необходимо поочерёдно выполнить три процесса:

·                  
Налить
воду в чайник

·                  
Поставить
чайник на плиту

·                  
Включить
плиту

Причём, обратите
внимание, что из каждого блока действия выходит одна линия связи.

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

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

Перейдём к практической
части урока.

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

Система команд
исполнителя Вычислитель состоит из двух команд:

·                  
+1

·                  
*2.

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

Алгоритм решения этой
задачи может быть, например, таким:

0+1*2+1*2 *2*2+1*2.

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

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

Дыня, которая окажется на
нижней части весов будет тяжелее, отложим её в сторону.

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

Третье взвешивание.
Сравним две самые тяжёлые дыни, послу двух взвешиваний.

Дыня, которая окажется на
нижней чаши весов, является самой тяжёлой, ставим её на первое место.

Четвёртое взвешивание.
Сравниваем самые лёгкие дыни. Дыня, которая окажется на верхней части весов
является самой лёгкой, ставим её на четвёртое место.

Пятое взвешивание.
Сравним оставшиеся две дыни. Кладём их на чаши весов.

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

Пришло время подвести
итоги урока.

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

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

Графический способ
– изображение алгоритма в виде блок-схем.

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

Понравилась статья? Поделить с друзьями:
  • Как найти друзей в гта5
  • Как на дроме найти мотоцикл
  • Как найти мужика если у тебя ребенок
  • Как составить басню для 3 класса
  • Как найти сына васо николаса