Модульное программирование средствами языка Basic. Подпрограммы.
Стандартные функции
Стандартные функции – это программы, которые постоянно хранятся в библиотеке стандартных программ компьютера и входят в состав алгоритмического языка.
Стандартные функции можно разделить на два вида:
4. функция символьной переменной;
5. математические функции, где аргумент и значение функции являются числами.
Библиотеку стандартных математических программ образуют следующие функции:
SIN(X) - синус ARCSIN(X) – арксинус
COS(X) – косинус ARCCOS(X) –арккосинус
TAN(X) – тангенс ARCTAN(X) –арктангенс
Если аргумент тригонометрической функции надо задать в градусах, то перед выполнением расчетов необходимо задать а программе оператор SELECT D. Для обратного перевода аргумента в радианы надо записать оператор SELECT R.
SGR(X) – квадратный корень ABS(X) - модуль числа
LOG(X) – логарифм натуральный EXP(X) - экспонента.
Библиотеку стандартных функций символьной переменной образуют следующие функции.
STR(X,N,K) – выделяет часть символьной переменной, где x,N номер с которого начинается выборка из символьной переменной. K – количество выбираемых символов.
LEN(X) - определяет количество символов в символьной переменной X.
NUM(X) - определяет количество символов числа в символьной переменой X.
VAL(X) - преобразует двоичный код первого символа символьной переменой или константы в десятичное число.
Ранее рассмотренные конструкции операторов языка Бэйсика являются традиционными для большинства алгоритмических языков. Практически любую программу можно написать на основе тех знаний, которые Вы получили в предыдущих разделах лекции №17. Однако если перед Вами стоит сложная задача с множеством условий и циклов или Вы хотите освоить современный подход к программированию на основе нисходящего проектирования, Вам надо уметь писать программы, состоящие из отдельных модулей, где используются только операторы обращения к этим модулям в соответствии с заданной здесь же логикой.
В чем суть модульного программирования на Бэйсике? А суть состоит в том, что чтобы использовать специальные конструкции, называемыми подпрограммами, которые можно использовать достаточно эффективно. Вся программа делится на две части основную и вспомогательную. Основная часть располагается в начале программы и заканчивается оператором конца END. В основной части производится простейшая обработка информации, организуется обращение к различным модулям с помощью оператора GOSUB. В основной части программы вводятся исходные данные задачи и выводятся результаты решения.
Вспомогательная часть программы состоит из модулей. Каждый модуль начинается оператором DEFFN или номера строки и заканчивается оператором возврата из подпрограммы RETURN. К модулям можно организовать обращение из других модулей, а не только из основной программы.
Структуру программы по модульному принципу можно представить следующим образом:
10 REM ГЛАВНАЯ ПРОГРАММЫ
20 …
30 …
… операторы программы
250 END
260 DEFFN с параметрами
… операторы подпрограммы
320 RETURN
330 … без параметров
… операторы подпрограммы
400 RETURN
…
1500 DEFFN с параметрами
… операторы подпрограммы
1600 RETURN
Подпрограммы на Бэйсике могут быть двух видов: подпрограммы без параметров и подпрограммы с параметрами.
Подпрограммы без параметров позволяют записать многократно повторяющиеся действия с одними и теми исходными данными один раз. Основной принцип здесь следующий: модуль занимает в программе место начиная с определенного номера строки и всегда заканчивается оператором возврата из подпрограммы RETURN. Из основной части программы можно перейти к выполнению модуля – подпрограммы с помощью оператора GOSUB, за которым следует номер первой строки, с которой начинается эта программа.
Правило записи оператора обращения к подпрограмме без параметров: