Модульное программирование средствами языка 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, за которым следует номер первой строки, с которой начинается эта программа.

Правило записи оператора обращения к подпрограмме без параметров: