ПСЕВДОКОДЫ
Один из методов представления алгоритмов является представление в псевдокодах. Данное представление – это частичный возврат к сценарию. Также как и в представлении в виде сценария запись алгоритма в псевдокодах разбивается на предложения, при этом каждое предложение описывает некоторый шаг алгоритма.
Для записи предложений используются:
- русский язык,
- формальные языки предметных областей, в которых решается исходная задача;
- ключевые слова псевдокодов.
Для реализации псевдокодов, в них резервируются следующие ключевые слова:
АЛГОРИТМ,
НАЧАЛО_алгоритма,
КОНЕЦ_алгоритма,
ПОДАЛГОРИТМ,
НАЧАЛО_вспомогательного алгоритма,
КОНЕЦ_вспомогательного алгоритма,
НАЧАЛО_описания переменных,
КОНЕЦ_описания переменных,
НАЧАЛО_если <условие>,
ТО,
ИНАЧЕ,
КОНЕЦ_если,
НАЧАЛО_цикла с предусловием <условие входа в цикл>,
КОНЕЦ_цикла с предусловием,
НАЧАЛО_цикла с постусловием,
КОНЕЦ_цикла с постусловием <условие выхода из цикла>,
НАЧАЛО_цикла с параметром <параметр, его диапазон и шаг>,
КОНЕЦ_цикла с параметром <параметр цикла>.
Основное внимание при представлении алгоритма в псевдокодах уделяется структуре алгоритма. Особенность псевдокодов заключается в том, что каждое предложение начинается со звездочки или нескольких звездочек. В псевдокодах звездочка используется как индикатор начала строки. В псевдокодах вместо звездочек, в принципе, можно использовать любые другие символы (например: пробел, – как это делается в школьном алгоритмическом языке, но это менее наглядно). Число звездочек определяет уровень вложенности (о вложенности структур алгоритма читай далее) данного предложения в алгоритме, то есть одна звездочка – первый уровень вложенности, две звездочки – второй уровень вложенности и т.д. Исключением является только нулевой уровень, в котором звездочки отсутствуют. Звездочки используются по той простой причине, что данный символ, используемый в языках программирования как символ умножения, никогда не стоит в начале предложения, но в данном случае позволяют структурировать алгоритм, то есть подчеркнуть, выделить структуры алгоритма, уровень их вложенности.
Звездочки в псевдокодах позволяют решить (попутно) еще одну задачу. При кодировании алгоритма в конкретном языке программирования звездочки кодируются пробелами, тем самым структура алгоритма будет определять структуру блока операторов.
ПРАВИЛО ЗВЕЗДОЧЕК.
Правила звездочек:
1)число звездочек в первом и последнем предложениях должно быть одинаково;
2)количество звездочек от одного предложения к другому не изменяется, если только в них не встречаются ключевые слова НАЧАЛО…, КОНЕЦ….
3)число звездочек в предложениях, следующих после предложения, словом НАЧАЛО … увеличивается на одну;
4)число звездочек в предложениях, имеющих слово КОНЕЦ…, уменьшается на одну по сравнению с предыдущим.
В качестве примера представим в псевдокодах алгоритмы решения задач, представленных в графическом виде.
ЗАДАЧА №1. Алгоритм задачи представлен в графическом виде:
Представить его в псевдокодах.
РЕШЕНИЕ.
В псевдокодах данный алгоритм будет иметь вид:
НАЧАЛО алгоритма
{------– ВВОД А, В, С ------------}
* ВЫВОД('ВВЕДИТЕ ДЛИНЫ ТРЕХ СТОРОН ТРЕУГОЛЬНИКА')
* ВВОД(а, в, с)
{------– линейный блок расчета полупериметра и площади ----------}
* P:= 0.5*(a+в+c)
* S:= SQRT( P*(P-a)*(P-в)*(P-c) )
{---------– Вывод результата -----------}
* ВЫВОД('ПЛОЩАДЬ ТРЕУГОЛЬНИКА =>', S:5:2)
КОНЕЦ алгоритма
КОНЕЦ ЗАДАЧИ.
В {…} даны комментарии к шагам алгоритма.
ЗАДАЧА N2. Алгоритм решения задачи представлен в графическом виде:
Представить его в псевдокодах.
РЕШЕНИЕ.
В псевдокодах данный алгоритм будет иметь вид:
НАЧАЛО алгоритма
{-------------– ВВОД ЗНАЧЕНИЯ Х ----------------}
* ВЫВОД('ВВЕДИТЕ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ Х')
* ВВОД(Х)
{-------------– Определение значения Y -----------}
* НАЧАЛО если x<=0
* * ТО Y:=X*X
* * ИНАЧЕ Y:=X+1
* КОНЕЦ если
{--------------– Вывод результата ----------------}
* ВЫВОД(Y)
КОНЕЦ алгоритма
КОНЕЦ ЗАДАЧИ.
ЗАДАЧА N3. Алгоритм заданный в графическом виде имеет вид:
Представить заданный алгоритм в псевдокодах.
РЕШЕНИЕ.
В псевдокодах данный алгоритм может быть реализован в виде:
НАЧАЛО алгоритма
{------– начало линейного блока -----------}
* S:=0
* I:=1
{-------– цикл получения результата ------------}
* НАЧАЛО цикла с предусловием, если I<=10
** S:=S+I
** I:=I+1
* КОНЕЦ цикла с предусловием
{-------– Вывод результата -------------}
* ВЫВОД(S)
КОНЕЦ алгоритма
ЗАДАЧА РЕШЕНА.
ЗАКЛЮЧЕНИЕ.
Псевдокоды – это один из методов представления алгоритмов. В псевдокодах алгоритм разбивается на предложения, каждое из которых описывает некоторый шаг алгоритма. Основное внимание уделяется структуре алгоритма. Каждое предложение начинается со звездочки или нескольких звездочек. Звездочка используется как индикатор начала строки. Число звездочек определяет уровень вложенности данного шага алгоритма. При кодировании алгоритма в языке программирования звездочки кодируются пробелами, тем самым структура алгоритма будет определять структуру блока операторов.