Страница 2 из 4
500 C=A+FNFS1(B,C)
где имя функции FS1, формальные параметры– X и Y, фактические значения– B и C.
Стандартные функции
МАТЕМАТИЧЕСКИЕ функции:
ABS(X) = +X ,число или выражение по модулю;
SIN(X) = sin(Х), синус числа или выражения;
COS(X) = косинус аргумента;
TAN(X) = тангенс аргумента;
SQR(X) = корень квадратный числа или выражения;
EXP (X) = ех – экспонента аргумента;
LOG(X) = натуральный логарифм;
RND(1) = случайное число из диапазона 0 – 1.
Функции ПРЕОБРАЗОВАНИЯ ДАННЫХ:
FIX(X) – отбрасывает числа после запятой;
СINT(X) – определяет наибольшее целое, не превосходящее значение аргумента;
INT(X) – округляет значение до ближайшего целого;
SGN(X) – определяет знак аргумента и присваивает результату значение -1, если знак аргумента отрицательный, 0, если аргумент равен нулю, и 1 , если положительный.
Функции ОБРАБОТКИ СТРОК:
STRING$(N,”Z”) – формирует строку из N знаков Z;
MID$(X$,N,M) – выделяет часть строки: с номера символа N всего M символов строкового аргумента Х$.
Функции ПРЕОБРАЗОВАНИЯ СТРОК:
VAL(X$) – преобразование цифровой строки в цифровое значение;
STR$(X) – преобразование цифрового значения в текстовую строку, содержащую цифры.
Особенностью использования функций является расположение аргумента в круглых скобках.
Операторы передачи управления
Для изменения естественного порядка выполнения операций в программе используются операторы передачи управления, они позволяют реализовать алгоритмы разветвленной структуры, при этом в задаче имеется несколько ветвей, выбор какой либо из них выполняется по некоторому условию.
Оператор БЕЗУСЛОВНОГО ПЕРЕХОДА: GOTO N осуществляет переход к выполнению операторов с номера строки N. номер строки N – целая константа.
Оператор УСЛОВНОГО ПЕРЕХОДА: IF L THEN S , где L – выражение, принимающее логическое значение “истина” (не нуль) или “ложь” (нуль), S – оператор. Читается этот оператор таким образом: если условие выполняется, тогда выполнить предложенное действие (тоже оператор).
IF A>B THEN PRINT “A”
IF X<>B AND B<>0 THEN GOTO 500
или запись:
IF X<>B AND B<>0 THEN 500
или запись:
IF X<>B AND B<>0 GOTO 500
ПОЛНЫЙ оператор условного перехода дополняется ключевым словом ELSE – иначе, после которого расположен оператор, выполняемый при значении “ложь”. Если условие выполняется, то выполнить действие, а иначе выполнить другое действие.
IF L THEN S ELSE S1
IF A=B THEN 10 ELSE PRINT “A<>B”
IF A=B THEN IF B=C THEN
PRINT “A=C” ELSE PRINT “A<>C”
Последний из записанных операторов имеет вложенную структуру, одно условие содержит другое.
Операторы организации циклов
Цикл в программе можно организовать с помощью операторов: безусловного перехода (для выполнения повтора) и условного перехода, содержащего условие, при выполнении которого производится выход из цикла.
Для организации цикла также могут использоваться специальные операторы языка: оператор НАЧАЛА ЦИКЛА: FOR и оператор ОКОНЧАНИЯ ЦИКЛА: NEXT.
Цикл FOR – NEXT записывается в виде:
FOR I = E1 TO E2 STEP E3
Где I – простая числовая переменная, параметр цикла, Е1, Е2, Е3 – числовые выражения (начальное, конечное значения и шаг изменения параметра цикла). Читается этот оператор: для индекса I, изменяющегося от значения Е1 до значения Е2 с шагом Е3, выполнить следующие действия. Цикл завершается оператором NEXT I.
Если шаг изменения Е3 равен 1 то конструкция STEP опускается. Параметр I после слова NEXT можно не указывать, особенно если цикл в программе один.
600 FOR K=1 TO N
610 F=F*K
620 NEXT
После окончания данного цикла параметр К принимает значение К = N + 1. Циклы могут иметь вложенную структуру.
700 FOR I=1 TO 5
710 FOR J=0 TO -10 STEP -2
720 FOR K=5.5 TO 10.5 STEP .5
. . .
830 NEXT K
840 NEXT J
850 FOR L=2 TO 20 STEP 2
. . .
890 NEXT
Закрываются вначале внутренние циклы, а затем внешние. Используется одно окончание NEXT для циклов по I и L.
Возможна передача управления из внутреннего цикла во внешний, но не наоборот. Выход из цикла с помощью оператора GOTO возможен, а вход внутрь цикла возможен только лишь через оператор FOR.
Подпрограммы
Для упрощения структуры программы возникает необходимость разбиения ее на части. Одна и та же программа, записанная каким то числом строк, многократно исполняемая, может быть оформлена в виде подпрограммы.
Вызов подпрограммы осуществляется оператором GOSUB N, где N – номер первой строки подпрограммы. Завершает подпрограмму оператор RETURN, возвращающий управление в основную программу на оператор, следующий за оператором обращения к подпрограмме GOSUB. Из подпрограммы также можно выйти с помощью операторов передачи управления: GOTO или IF – THEN. В операторе возврата в некоторых версиях Бейсика можно предусмотреть номер строки возврата RETURN N.
Операторы подпрограммы могут выполняться также в естественной последовательности при отсутствии в основной программе оператора END.
Графические операторы
CLS – очищает экран дисплея;
COLOR N1,N2,N3-устанавливает цвет экрана ( N1-номеp цвета переднего плана, задается от 0 до 8; N2 – номер цвета фона, задается от 0 до 8; N3 – номер цвета знакоместа);
SCREEN N – переключение экранов N=0 или N=1 символьный экран; N=2 или N=3 графический экран;
PSET (N1,N2),N3 – окрашивание точки экрана в цвет N3,выбирается от 0 до 8, N1 координата Х, N2 координата Y;
PRESET (N1,N2),N3 – окрашивание точки в цвет фона;
LINE (N1,N2)-(N3,N4),N5,A – вычерчивание линии или прямоугольника, N1,N3 – координаты Х; N2,N4 – координаты Y; N5 – цвет от 0 до 8; если А=В то чертится прямоугольник, если А=BF, то закрашенный прямоугольник;
CIRCLE (N1,N2),N3,N4,N5,N6,N7 – вычерчивание окружности, эллипса или дуги, N1,N2 – координаты центра X и Y ; N3 – радиус; N4 – цвет от 0 до 8; N5 – положение начальной точки дуги в радианах; N6 – положение конечной точки дуги в радианах; N7 – коэффициент сжатия эллипса;
PAINT (N1,N2),N3,N4 – окрашивание части экрана в один цвет, N1,N2 – координаты X и Y начальной точки, N3 – цвет, N4 – цвет границы закрашиваемой области.
Начало и конец задачи
Для обозначения начала задачи или отделения одного блока программы от другого, для лучшей ориентации по программе или для обозначения подпрограмм используется оператор КОММЕНТАРИЙ: REM, после оператора в строке можно записать любой текст. Для обозначения окончания программы используется оператор END.
Практические задания в среде языка BASIC
Внимание! В тексте программ используется исключительно латинский шрифт, буквы и слова русского языка могут быть использованы в некоторых операторах в кавычках.
Задача 1: (линейный алгоритм)
а). Набрать текст программы, переходя в следующие строки, нажатием клавиши ENTER.
10 Q=5
20 Z=Q+8
30 PRINT Q,Z
40 END
б). Для просмотра записанного в память текста, выполнить команду LIST (F1).
в). Для исполнения записанной программы, выполнить команду RUN (F2).
г). В результате исполнения программы, на экране должен появиться ответ в виде двух чисел: 5 13
д). Очистить память ЭВМ от записанной программы, набрав в свободной строке и исполнив команду NEW. Очистить экран компьютера, набрав в свободной строке и исполнив команду CLS.
Задача 2: (линейный алгоритм)
а). Набрать текст программы, не забывая нажимать клавишу ENTER после каждой строки.
10 A=15
20 B=A/3+1
30 PRINT B
40 A=A+B
50 PRINT A,B
60 END
б). Просмотреть набранный текст, исполнив команду LIST.
в). Исполнить программу командой RUN.
г). Наблюдать на экране результат решения: 6 21 6
д). Очистить экран CLS, очистить память NEW.