Init commit

This commit is contained in:
Administrator 2024-02-22 10:34:16 +00:00
commit 83e6c9e1f0
41 changed files with 1455 additions and 0 deletions

View file

@ -0,0 +1,20 @@
# Принципы структурного программирования
Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры.
* Принцип 1. Следует отказаться от использования оператора безусловного перехода goto.
* Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл.
* Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается.
* Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются.
* Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования.
* Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход.
* Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method).
Следствия и дополнения вышеизложенных принципов:
1. Запрет на использование глобальных переменных
2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции.
3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break
4. Вложенность любых блоков не должна превышать 4
5. Размер функций ограничен по строкам и составляет 40-50 строк
![goto](../misc/eng/images/GOTO.png)