Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты МП.docx
Скачиваний:
54
Добавлен:
27.03.2015
Размер:
145.11 Кб
Скачать

18. Понятие структурного программирования.

Структурное программирование – это такой подход (метод) составления программ, который способствует построению надежных, корректных и хорошо понимаемых программ. Такие программы имеют ясную логику, их легко читать сверху вниз, в них можно гораздо быстрее отыскать ошибки, внести изменения и исправления. Принцип структурного программирования состоит в том, что программа составляется из небольшого набора структурных конструкций управления вычислениями. При этом каждая структурная конструкция имеет один выход и один вход. Программа написания с помощью таких структур (`регулярных` способов) называется структурированием. И таких структур 3: следования (последовательности), ветвления и цикла.

Структура «следование» задает определенный порядок следования действий. Действия выполняются в порядке их написания. Структура может задаваться явно(когда используются какие-то средства для выделения структуры) или неявно(один оператор следует за другим).

Структура «ветвления» задает выбор одного действия из нескольких возможностей.

Структура «цикл» используется для того, чтобы задать действия, которые должны быть многократно повторить.

19. Понятие подпрограммы и модульного программирования. Цели модульного программирования. Виды подпрограмм: функция, процедура.

При нисходящей разработке проектирование программы ведется “сверху-вниз”. В решаемой задаче сначала выделяется небольшое число достаточно самостоятельных, более простых задач (подзадач), а в проектируемой программе намечается соответствующее число блоков (частей программы), каждый из которых предназначен для решения одной из подзадач. Определяется функциональное назначение каждого блока (модуля): что он должен делать, какие данные являются исходными для блока, какие – результатами. Если какие-то из подзадач оказываются достаточно сложными (алгоритмы их решения не являются очевидными), то к каждой из них применяется аналогичный процесс выделения подзадач.

Этот процесс пошаговой детализации продолжается до тех пор, пока каждый из выделенных блоков программы не окажется таким, что его реализация (кодирование) на выбранном языке программирования уже не вызовет трудностей. Таким образом, программа может иметь многоуровневую структуру:

Если на каждом шаге детализации будут использоваться принципы структурного программирования, то это обеспечит хорошую структурированность и программы в целом.

В языках программирования одним из средств реализации модульной структуры программы является метод подпрограмм.

Подпрограмма – это самостоятельная программная единица, которая позволяет выделить из программы частичный алгоритм и записать его только один раз, но использовать столько раз, сколько это необходимо.

Основные свойства подпрограмм:

1) подпрограмма должна иметь один вход и один выход;

2) подпрограмма должна решать самостоятельную задачу по принципу одна подпрограмма – одна функция. Например, ввод линейного массива, вычисление произведения матриц, поиск наибольшего элемента в одномерном массиве и т.д.;

3) подпрограмма должна возвращать управление в ту часть программы, которая ее вызвала;

4) подпрограмма может вызывать другую подпрограмму, в том числе и саму себя, в последнем случае мы имеем дело с рекурсивной подпрограммой;

5) подпрограмма должна настраиваться на входные данные вызывающей части и возвращать результат;

6) размер подпрограммы желательно ограничивать одной-двумя страницами исходного текста.

Каждой подпрограмме дается имя, которое используется для активации действий, описанных в подпрограмме (вызова подпрограммы) в тех местах программы, где необходимо их выполнить. В точке вызова подпрограммы управление передается ее первой команде. Выполнение подпрограммы завершается действиями по возвращению управления в точку вызова – т.е. команде, непосредственно следующей за точкой вызова, называемой точкой возврата. Таким образом, в структурированной программе между программными единицами устанавливается отношение вызываемая–вызывающая.

Схема взаимодействия вызывающей и вызываемой может быть следующей: