Приветствую Вас, Гость

Тема 7 «Алгоритмизация и основы объективно-ориентированного программирования» (20 ч)

Урок 37. Блок-схемы алгоритмов

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

Блок-схема - это графическое представление алгоритма. Для ее составления используются следующие блоки:

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

Запись алгоритма на словесном языкеБлок-схема
1. Задать координаты начала x1,y1 и координаты конца x2, y2 отрезка
2. Вычислить расстояние  d=((x2-x1)^2+(y2-y1)^2)^0.5
3. Вывести значение d на экран

А вот так выглядит алгоритм решения квадратного уравнения. 

Запись алгоритма на словесном языкеБлок-схема

1. Задать коэффициенты а, b, c

2. Вычислить дискриминант по формуле D=b^2-4*a*c

3. Если D<0, то уравнение корней не имеет

4. В противном случае найти корни уравнения по формулам x1=(-b+D^0.5)/(2*a),  x2=(-b-D^0.5)/(2*a)

5. Вывести значение корней х1 и х2 на экран 


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

Алгоритм называется линейным, если каждое действие выполняется ровно один раз

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

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

Что делает данный алгоритм?

Составим таблицу значений переменных. Так как значения x, y, z должны задаваться пользователем, то зададим их произвольно

x111
y222
z333
p123

Начальное значение р=х=1. Сравниваем р и у. Так как p<y, то заменяем значение в ячейке р на 2. Сравниваем р и z. Так как p<z, то заменяем значение в ячейке р на 3. Результат р=3.

Проверим выполнение алгоритма для других чисел.

x151515
y888
z323232
p151533

Здесь при сравнении р и у не происходит замены в ячейке р, так как p>y. Поэтому число в ячейке р на втором шаге не меняется. А вот при втором сравнении p<z, и число в ячейке р меняется на большее.
Из двух проведенных испытаний можно сделать вывод, что алгоритм сравнивает и отбирает большее из трех введенных пользователем чисел.

Задание

Определите результат работы алгоритма