Здесь показаны различия между двумя версиями данной страницы.
msx:basic_programming_guide:08 [2020-03-14 14:33] |
msx:basic_programming_guide:08 [2020-03-21 22:46] |
||
---|---|---|---|
Строка 1460: | Строка 1460: | ||
выходом. | выходом. | ||
- | При конструировании программы с использованием рассмотренных типов блоков, эти блоки образуют линейную цепочку так, что выход одного блока подсоединяется к входу следующего. Таким образом, программа имеет линейную структуру, причём порядок следования блоков соответствует порядку, в котором они выполняются. Такая структура значительно облегчает чтение и понимание программы, а также упрощает доказательство её правильности. Так как | + | При конструировании программы с использованием рассмотренных типов блоков, эти блоки образуют линейную цепочку так, что выход одного блока подсоединяется к входу следующего. Таким образом, программа имеет линейную структуру, причём порядок следования блоков соответствует порядку, в котором они выполняются. Такая структура значительно облегчает чтение и понимание программы, а также упрощает доказательство её правильности. Так как линейная цепочка блоков может быть сведена к одному блоку, то любая программа может в конечном итоге рассматриваться как единый функциональный блок с одним входом и одним выходом. |
- | линейная цепочка блоков может быть сведена к одному блоку, то любая программа может в конечном итоге рассматриваться как единый функциональный блок с одним входом и одним выходом. | + | |
Перечислим теперь основные //принципы и методы// структурного программирования. | Перечислим теперь основные //принципы и методы// структурного программирования. | ||
Строка 1546: | Строка 1545: | ||
В методе пошаговой детализации можно выделить следующие существенные этапы [[bibliography#b8|[8]]]: | В методе пошаговой детализации можно выделить следующие существенные этапы [[bibliography#b8|[8]]]: | ||
- На уровне 1 создаётся общее описание программы в целом. Определяются основные логические шаги, требуемые для решения задачи, даже если пока неизвестно, как их выполнить. Эти логические шаги могут отражать различные физические шаги решения или могут быть удобными групповыми именами для тех действий, выполнение которых представляется довольно смутно. Последовательности шагов, требуемых для решения задачи, записываются на обычном языке или на //псевдокоде// (см. ниже). | - На уровне 1 создаётся общее описание программы в целом. Определяются основные логические шаги, требуемые для решения задачи, даже если пока неизвестно, как их выполнить. Эти логические шаги могут отражать различные физические шаги решения или могут быть удобными групповыми именами для тех действий, выполнение которых представляется довольно смутно. Последовательности шагов, требуемых для решения задачи, записываются на обычном языке или на //псевдокоде// (см. ниже). | ||
- | - На уровне 2 в общих терминах детализируется описание шагов, введённых на этапе 1. В детализированное описание может входить обозначение циклических структур,в то время как действия внутри циклов могут по–прежнему оставаться неясными. Таким образом, выполняются только общие эскизы сложных действий. | + | - На уровне 2 в общих терминах детализируется описание шагов, введённых на этапе 1. В детализированное описание может входить обозначение циклических структур, в то время как действия внутри циклов могут по–прежнему оставаться неясными. Таким образом, выполняются только общие эскизы сложных действий. |
- На этом и последующих уровнях в виде последовательных итераций производятся те же действия, что описаны на этапе 2. При каждой новой итерации уточняются детали, оставшиеся неясными после предыдущих итераций, и создаются более определённые описания. По мере выполнения итераций неопределённые детали становятся все проще и проще, так что на каком–то этапе могут быть полностью описаны. | - На этом и последующих уровнях в виде последовательных итераций производятся те же действия, что описаны на этапе 2. При каждой новой итерации уточняются детали, оставшиеся неясными после предыдущих итераций, и создаются более определённые описания. По мере выполнения итераций неопределённые детали становятся все проще и проще, так что на каком–то этапе могут быть полностью описаны. | ||
- Разработка завершена: в модульном виде получено описание требуемой программы. Перевод этого описания в программу на конкретном языке программирования должен быть достаточно простой задачей. | - Разработка завершена: в модульном виде получено описание требуемой программы. Перевод этого описания в программу на конкретном языке программирования должен быть достаточно простой задачей. | ||
Строка 1585: | Строка 1584: | ||
- найти максимум введённых данных; | - найти максимум введённых данных; | ||
- вывести результаты. | - вывести результаты. | ||
+ | \\ | ||
__//Детализация 1.1//__. //Ввод данных// можно детализировать на псевдокоде следующим образом: | __//Детализация 1.1//__. //Ввод данных// можно детализировать на псевдокоде следующим образом: | ||
- определить количество чисел; | - определить количество чисел; | ||
Строка 1596: | Строка 1596: | ||
- выбрать в качестве максимума первый элемент данных; | - выбрать в качестве максимума первый элемент данных; | ||
- пробежать все введённые значения, заменяя текущий максимум на очередное значение, если оно не превысило его. | - пробежать все введённые значения, заменяя текущий максимум на очередное значение, если оно не превысило его. | ||
+ | \\ | ||
__//Детализация 1.3//__. //Вывод результатов// можно детализировать следующим образом: | __//Детализация 1.3//__. //Вывод результатов// можно детализировать следующим образом: | ||
- пока не все результаты выведены; | - пока не все результаты выведены; | ||
Строка 2021: | Строка 2022: | ||
- | {{tag>MSX BASIC Book}} | + | {{tag>MSX BASIC Book_msxbpg}} |