Организация подпрограмм на Бейсике
Подпрограммы в языках программирования служат для реализации вспомогательных алгоритмов. Использование подпрограмм необходимо при создании больших и сложных программ для того, чтобы упростить их чтение, понимание и внесение изменений. В качестве примера программ использования подпрограмм рассмотрим задачу рисования графиков функций на экране ЭВМ. Задача построения графика функции у = f (x) на экране ЭВМ предполагает расчет и вывод последовательности точек с координатами (xk, yk), где xk = f (xk). Расчет должен производиться на некотором заданном отрезке [a, b] с шагом h = (b - a) / n между точками, где п - это заданное число разбиений. В качестве конкретного начального примера рассмотрим построение на экране ЭВМ графиков функций у = х2. Представленные ниже алгоритм и программа состоят из трех частей: первая часть строит график на экране, вторая вычисляет значения функций, третья организует ввод данных - параметров графика (области определения [a, b], числа разбиений п и области значений функций [c, d]).
Основная часть алгоритма и программы, как видно из их описаний, организуют ввод данных, а затем осуществляют в цикле от k = 0 до n вычисление координат точек графика некоторой функции y = f(x) и вывод их на экран. Конкретный вид функций в этой части программы и алгоритма не определяется. Описание способа вычисления значений функции выделяется во вспомогательный алгоритм. В программе на Бейсике появляется соответствующая подпрограмма:
В данном примере строится график функции у = х2. На экране ЭВМ мы должны увидеть фрагмент параболы появится на экране, зависит от исходных данных, ввод которых выделен в отдельный вспомогательный алгоритм и соответствующую подпрограмму:
ЭВМ, как видно из этого алгоритма, запросит числа a, b - концы отрезка [a, b], c и d - нижние и верхние границы области значения функции, а также n - число точек графика, которые ЭВМ нарисует на экране. Для рассмотрения графика функции на другом отрезке или получения на графике большого числа точек необходим запуск программы с новыми исходными данными. Главная особенность этого алгоритма - возможность его применения для построения графиков любых функций в любой части их области определения. Выделение вычисления значений функции в отдельную подпрограмму значительно упрощает замену функции. Для построения графика функции, например y = x sin x, необходимо будет заменить подпрограмму на новую:
Вызов подпрограмм в зыке Бейсик реализуется оператором GOSUB <номер>, где <номер> указывает начало подпрограммы. Например, оператор GOSUB 200 означает переход к подпрограмме, начинающейся с 200-го оператора. Правила выполнения подпрограмм можно проиллюстрировать следующей схемой:
Вычисление оператора GOSUB состоит в переходе к выполнению первого оператора подпрограммы, а ее завершении оператор RETURN осуществляет переход к выполнению оператора, следующего за оператором GOSUB в основной программе. Описание подпрограммы должно начинаться с ее названия - названия решаемой подзадачи или реализуемой функции. Концом подпрограммы в Бейсике должен быть оператор возврата из подпрограммы RETURN (RETURN - возврат). Аргументы и результаты вспомогательных алгоритмов в подпрограммах называются параметрами. Передачу параметров-аргументов вспомогательных алгоритмов в подпрограммах на Бейсике оформляются в следующем виде:
где х1, х2 - аргументы вспомогательного алгоритма. Аналогично на языке Бейсик приходится оформлять и передачу результатов выполнения вспомогательных алгоритмов, если таковы есть. Примером составления и использования подпрограмм с выделенными параметрами-аргументами могут служить программы построения изображений зданий. В этих программах и алгоритмах вспомогательные алгоритмы и подпрограммы вычерчивают на экране отдельные блоки - стены, окна, двери, крыши и т. п. Роль параметров-аргументов в этих подпрограммах и вспомогательных алгоритмах играют геометрические размеры этих блоков. Изображение двухэтажного дома на экране ЭВМ в соответствии с ранее составленным алгоритмом построит следующая программа на Бейсике:
Для выполнения этой программы необходимы две подпрограммы. Первая из них рисует в заданном месте изображение стены с окном заданных размеров, а вторая - изображение крыши заданного размера в заданном месте:
Работу с этой программой на ЭВМ можно начать с построения изображения крыши. Для этого необходимо ввести операторы 30, 100, 110, 120 - вызовы подпрограммы рисования крыши с соответствующими координатами, которые задаются в подпрограмме параметрами операторы 400-460 - операторы самой подпрограммы. Далее можно ввести подпрограмму рисования стены с окном - операторы 200-250 - и операторы вызова этой подпрограммы 50 и 60, а также часть оператора 40 в таком виде: 40 К = 1. Затем после ввода и отладки обеих подпрограмм можно ввести полный вариант построения двухэтажного дома целиком. Для этого осталось ввести операторы 40, 70, 80 и 90. Добавляя к этой программе новые подпрограммы рисования других блоков, или перестраивая программу, можно получать на экране ЭВМ изображения разнообразных домов, улиц и даже целых поселков. Существенным при этом является использование уже имеющихся вспомогательных алгоритмов и подпрограмм. В тоже время, усовершенствуя вспомогательные алгоритмы и подпрограммы, можно получать более красивые изображения и искать гармонию между отдельными частями здания и композицией в целом. Вопросы и упражнения и задания для самопроверки ВОПРОСЫ: Как на Бейсике записывается вызов подпрограмм? Как в языке Бейсик оформляются подпрограммы? Каков механизм выполнения подпрограмм в языке Бейсик? Как на Бейсике оформляется передача параметров-аргументов? УПРАЖНЕНИЯ: Составьте вспомогательный алгоритм и подпрограмму на языке Бейсик для вычисления функции: а) у = х при х > 0, б) у = sin x при х ≥ 0, 0 при х ≤ 0; 0 при х < 0;
2. Составьте программу на Бейсике для построения: а) трех домиков; б) трехсекционного дома; ЗАДАНИЯ: 1. Составьте план ввода и испытаний программы рисования графика функции. Введите и отладьте программу по составленному плану. Проведите исследование функции - найдите по графику корни функции или ее максимумы и минимумы. 2. Составьте план ввода и испытаний программы построения изображения выбранного задания. Введите и отладьте составленную программу по выбранному плану.
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1379)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |