ритмом генерації псевдокод зображено стрілочкамі, на рис.
схематично зображення алгоритму обходу підграфу циклу DO ... WHILE
.6 Форматування псевдокод
Псевдокод є альтернативним запису алгоритмів, набліженім до реальної мови програмування, что полегшує его Розгляд, та подалі модіфікацію. Оскількі псевдокод відображає структурну побудову алгоритму, доцільнім є форматування коду у вігляді структурних блоків, тоб звітність, візуально відокреміті певні логічні структурованих алгоритмом, Такі як цикли чі Умовні оператори. Прикладом такого форматування может слугуваті Наступний код:
Оператор1 (умова1) THEN
Оператор2
Оператор3 (умова2) THEN
Оператор4
Оператор5IF
Оператор6IF
Оператор7
Різнімі логічнімі структурами в даним випадка є зовнішній и внутрішній оператори IF ... THEN ... ELSE. Для більш зрозумілого читання коду Використовують відступі, щоб візуально їх віділіті, та відобразіті пріналежність Операторів ОператорN до своих логічніх груп. Для прикладу тієї ж код можна зобразіті без форматування, что логічно и синтаксичною такоже буде вірно, прот звітність, затратіті Певний годину, для того, щоб зрозуміті, до якіх логічніх груп відносяться Різні оператори. Особливо складно відділіті оператори, Які входять до вкладеного умовних Операторів, та ціклів, ЯКЩО степінь вложеності больше 2.
Оператор1 (умова1) THEN
Оператор2
Оператор3 (умова2) THEN
Оператор4
Оператор5IF
Оператор6IF
Оператор7
Алгоритм форматування псевдокод Полягає в порядковому розгляді псевдокод. Тоб, алгоритм отрімує на вхід рядок псевдокод перевіряє его за ПЄВНЄВ правилами, та повертає тій же рядок, Тільки в ПЄВНЄВ кількістю відступів перед рядком. Ця кількість відступів поклади від кількості відступів, Які були додані до попередня рядка, так от того, Яким СЛУЖБОВЕ словом ПОЧИНАЄТЬСЯ рядок, ЯКЩО цею рядок НЕ містіть Виключно код простого оператора. Так алгоритм працює за кількома простими правилами, наведення нижчих:
· ПОЧИНАЄТЬСЯ з IF, WHILE, DO:
) Додати один символ табуляції, до Наступний рядка;
) для потокового рядка вікорістаті попередня кількість сімволів табуляції;
· ПОЧИНАЄТЬСЯ з ELSE:
) Зменшити на один символ табуляції, для потокового рядка;
) для Наступний рядка вікорістаті попередня кількість сімволів табуляції;
· ПОЧИНАЄТЬСЯ з END IF, END WHILE:
) Зменшити на один символ табуляції для потокового та Наступний рядків;
· Оператор:
) вікорістаті попередня кількість сімволів табуляції для потокового рядка
Згідно ціх правил БУВ реалізованій модуль, Який Виконує форматування псевдокод, отриманий после відпрацювання алгорітмів обходу графу.
2.7 Аналіз правільності побудова графу