Алгоритм. Способы записи алгоритмов

 

Для того чтобы ЭВМ {без участия человека} выполнила некоторые действия необходимо задать последовательность инструкций (команд) на понятном компьютеру языке.

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

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

1. Дискретность – возможность разбиения процесса обработки информации на более простые этапы;

2. Определенность – однозначность выполнения каждого отдельного шага преобразования информации;

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

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

5. Результативность – по окончании работы алгоритма должен быть получен некоторый результат.

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

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

Существуют 3 формы записи алгоритмов:

1) Текстовая;

2) Табличная;

3) Графическая.

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

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

Таблица 3. Основные структурные элементы блок-схем

Начало алгоритма
Конец алгоритма
Операции ввода данных и вывода результатов
Операции алгоритма
Условия алгоритма

 

{С понятием алгоритма человек встречается на каждом шагу своей деятельности, однако часто не отдает себе в этом отчета.} Рассмотрим в качестве примера задачу о выборе наибольшего из трех заданных чисел X, Y и Z (5, 10, 20). Для решения этой задачи достаточно беглого взгляда, но в основе всего этого лежит некоторая заранее предписанная последовательность достаточно простых действий:

1. Сравнить X и Y. Если X≥Y то перейти к пункту 2, в противном случае перейти к пункту 3.

2. Сравнить Z и X. Если Z≥X, то M=Z, в противном случае M=X. Перейти к пункту 4.

3. Сравнить Z и Y. Если Z≥Y, то M=Z, в противном случае M=Y. Перейти к пункту 4.

4. M – наибольшее число. Остановить вычислительный процесс.

Блок-схема данного алгоритма имеет вид:

 

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

{1. Если горит красный свет, то улицу не переходи.

2. Если горит зеленый свет, то улицу переходи до середины, смотря на транспорт слева.

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

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

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

1. Посмотреть на светофор. Если горит зеленый свет – перейти к действию 3, в противном случае – перейти к действию 2.

2. Стоять и ждать зеленого света. Если загорится зеленый свет перейти к действию 3.

3. Переходить улицу до середины, смотря на транспорт слева. Перейти к действию 4.

4. Посмотреть на светофор. Если горит зеленый свет – перейти к действию 6, в противном случае – перейти к действию 5.

5. Стоять и ждать зеленого света. Если загорится зеленый свет перейти к действию 6.

6. Завершить переход улицы до конца, смотря на транспорт справа.

Блок-схема данного алгоритма имеет вид:}

 

 

Вопрос № 18

Алгоритмы делятся на 3 типа: линейные, условные и циклические.

Опр.Линейным называется алгоритм, являющийся последовательностью операторов (команд), которые выполняются один за другим в порядке их написания. Порядок выполнения не зависит от исходных данных.

Пример 12.Построить блок-схему алгоритма вычисления значения функции f(x)=5x2+6x-1.

 

Вопрос № 19

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

Пример 13.Построить блок-схему алгоритма вычисления значения функции f(x)=|x|.

Пример 14.Построить блок-схему алгоритма вычисления значения функции

 

Пример 15.Построить блок-схему алгоритма решения квадратного уравнения ax2+bx+c=0, a≠0.