Псевдокод — это искусственный и неформальный язык, который помогает
программисту разрабатывать алгоритмы. Псевдокод используется для разработки
алгоритмов, которые потом должны быть преобразованы в структурированную
программу на C++. Псевдокод подобен разговорному языку; он удобный и
дружелюбный, но это не язык программирования. Программы на псевдокоде не могут выполняться на компьютере.
Их назначение — помочь программисту «обдумать программу» прежде, чем попытаться
написать ее на таком языке программирования, как C++. Тщательно подготовленная
программа на псевдокоде может быть легко преобразована в соответствующую
программу на C++. Во многих случаях для этого достаточно просто заменить
предложения псевдокода их эквивалентами в языке С++. Псевдокод включает только исполняемые операторы — те,
которые выполняются, когда программа переведена из псевдокода на C++ и
запущена на счет. Объявления не являются исполняемыми операторами.
Блок-схема — это графическое
представление алгоритма или фрагмента алгоритма. Блок-схема рисуется с
использованием специальных символов, таких, как прямоугольники, ромбы, овалы и
малые окружности; эти символы соединяются стрелками, называемыми линиями связи.
Подобно псевдокоду блок-схемы часто используются при
разработке и описании алгоритмов, хотя большинство программистов предпочитает
псевдокод. Блок-схемы наглядно показывают, как действуют управляющие структуры.
Нисходящее проектирование – метод
пошаговой детализации
Нисходящее проектирование.
1) по
алгоритму программы создается текст главного модуля, содержащего в виде
комментариев основны6е этапы решения задачи. Желательно, чтобы каждая строка
комментария представляла собой вызов подпрограммы, решающей подзадачу главной
задачи
2) основные
этапы заменяются строчкой кода, представляющего собой вызов функции,
соответствующей этапу решения задачи. Выбирается имя функции, тип возвращаемого
значения и определяется список параметров.
3) По
каждой вновь созданной1 функции записывается определение. Тело функции содержит
комментарии. Процедура повторяется до тех пор, пока комментарии не будут
заменены кодом на языке С
Нисходящее
проектирование – подход к проектированию программ,
при котором первоначально создается
главный модуль, для которого затем проводится декомпозиция (разбиение на
модули, решающие подзадачи главной задачи).
Метод нисходящего
проектирования предполагает последовательное
разложение общей функции обработки данных на простые функциональные элементы
("сверху-вниз"). В результате строится иерархическая схема,
отражающая состав и взаимоподчиненность отдельных функций.
Создание программы с использованием
технологии нисходящей (сверху-вниз) разработки с пошаговой детализацией. Эта
технология является неотъемлемой частью создания хорошо структурированных
программ. Она начинаем с записи псевдокода вершины.
Вершина — это единственное предложение (оператор), выражающее общее
назначение программы. Таким образом, вершина отображает всю программу в целом.
К сожалению, вершина редко отображает
достаточное количество деталей, на основании которых можно написать программу на C++. Поэтому надо начинать процесс детализации.
Для этого вершину делят на ряд более мелких задач и записывают их в том
порядке, в котором они должны выполняться. В результате получают первую детализацию: здесь использована только структура
следования — записанные шаги должны выполняться последовательно один за другим. Каждая
детализация, так же, как и сама вершина, является полным описанием алгоритма;
меняется только уровень детализации.
Многие программы могут быть логически разделены
на три этапа: этап задания начальных значений, в котором задаются начальные
значения переменных программы; этап обработки данных, в котором вводятся
данные и устанавливаются значения соответствующих переменных программы;
заключительный этап, в котором вычисляются и печатаются окончательные
результаты. Программист завершает процесс нисходящей разработки с
пошаговой детализацией, когда алгоритм на псевдокоде настолько детализирован,
чтобы его псевдокод можно было бы преобразовать в программу на C++.
Реализованная программа на C+ + окажется в этом случае простой и наглядной.
|