Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Вспомогательные алгоритмы. Процедуры и функции. Структурное программирование В этой теме мы с вами рассмотрим методы декомпозиции. То есть мы будем учиться разбивать одну большую задачу на несколько отдельных, помельче. Небольшую самостоятельную задачу обычно гораздо легче решить. В этой теме мы познакомимся со способом записи таких подзадач на языке Паскаль.
Конструирование алгоритма «сверху вниз» При конструировании достаточно сложного алгоритма логично разбивать его на ряд более йростых задач. Построение алгоритма идет «сверху вниз». Сначала строится основной алгоритм. В нем записываются обращения к вспомогательным алгоритмам, которые позволят решить отдельные, более простые задачи (подзадачи 1-го уровня). Если есть необходимость, осуществляют дальнейшую детализацию, и подзадача разбивается на еще более простые задачи (подзадачи 2-го уровня). Вспомогательные алгоритмы для решения подзадач последнего уровня не содержат обращений к другим вспомогательным алгоритмам (рис. 9.1). Рис. 9.1. Схема алгоритма, построенного по принципу «сверху вниз»
Итак, вспомогательным алгоритмом называется алгоритм решения некоторой задачи, являющейся подчиненной по отношению к исходной (основной) задаче. При реализации таких алгоритмов на языке Паскаль их оформляют в виде процедур или функций. Практическая задача с использованием вспомогательных алгоритмов Задача: выполнить с массивом действия, которые были предложены в заданиях 8.3, 8.4:
Разобьем основной алгоритм на подзадачи в порядке их перечисления в задании (рис. 9.2). Рис. 9.2. Блок-схема алгоритма решения задачи из примера 9.1 Обратим внимание: пункты б) и д) выполняют одинаковое действие — вывод массива на экран. Поэтому оформим их в виде отдельного фрагмента программы под некоторым именем, а в нужных местах вызовем этот фрагмент по его имени.
Процедура оформляется по тем же правилам, что и программа. Такая организация программы по блокам вспомогательных алгоритмов (процедурам и функциям) придает ей логичную структуру и делает ее более удобной для дальнейшего использования. Процедуры и функции в программе оформляют в виде отдельных блоков, каждый из которых начинается специальным словом (procedure или function соответственно). Эти блоки должны располагаться в тексте программы перед оператором begin, начинающим основную программу. В каждом блоке процедуры или функции может находиться свой раздел описания переменных (var) и должна быть пара операторов begin ... end, между которыми пишется текст процедуры (или функции). Внимательно читайте комментарии к программе! Пример 9.1.
Задание 9.1.
Рис. 9.3. Схема циклического сдвига одномерного массива влево
Рис. 9.4. Блок-схема алгоритма циклического сдвига массива влево
|
||
Библиотека программиста. 2009. |
|