Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
15.02.2016
Размер:
4.77 Mб
Скачать

К лабораторной работе №1

Цель работы: приобретение практических навыков в разработке и отладке линейных программ и в работе со средой программирования.

Структура создаваемой программы: ввод исходных данных, вычисление заданного объема или площади и вывод результата на экран с помощью оператора PRINT.

Ввод исходных данных в данной работе осуществляется посредством операторов READ, DATA. Оператор DATA хранит числовые или символьные данные для их последующего чтения оператором READ. Оператор READ вводит переменные, для которых считывает и присваивает конкретные значения из оператора DATA. Тип данных из DATA должен соответствовать типу переменных из READ.

Например:

10 READ x1, x2%, x3$, x4$ 10 READ x1, x2, x3

20 DATA 3.5, -6, "режим", 20 20 DATA 1, , 2

В результате оператор READ в первом случае присвоит значения своим переменным в следующем порядке: x1 = 3.5, x2% = -6, x3$ = режим, x4$ = 20. Во втором случае дан пример пустого элемента списка, и результат присваивания будет: x1 = 1, x2 = 0, x3 = 2.

Оператор READ допускается помещать в любом месте многооператорной строки, оператор DATA должен быть либо единственным, либо последним оператором строки. Бейсик допускает чтение числовой константы в строковую переменную (как для x4$ в предыдущем примере).

Один оператор READ может читать несколько операторов DATA, и наоборот, несколько операторов READ могут читать один оператор DATA. Если список переменных короче, чем список данных, то следующий оператор READ начинает читать первый непрочитанный элемент. Если данные не прочитаны никаким READ, то они игнорируются.

10 READ x1, x2, x3, x4 10 READ x1, x2

20 DATA 1, 2, 3 20 READ x3, x4

30 DATA 4, 5 30 DATA 1, 2, 3, 4, 5

В приведенных примерах результат чтения и присваивания будет одинаковым: x1 = 1, x2 = 2, x3 = 3, x4 = 4, а 5 игнорируется.

Оператор RESTORE позволяет повторно считать данные из списка DATA.

10 READ x1, x2, x3 10 READ x1, x2, x3, x4, x5, x6

20 RESTORE 20 RESTORE 50

30 READ x4, x5, x6 30 READ x7, x8

40 DATA 1, 2, 3 40 DATA 1, 2

50 DATA 3, 4

60 DATA 5, 6

В первом случае результат присваивания будет: x1 = 1, x2 = 2, x3 =3, x4 = 1, x5 = 2, x3 =3, поскольку RESTORE задает для READ из строки 30 возврат на считывание с начала данных из оператора DATA в строке 40. Во втором случае значения переменных будут следующими: x1 = 1, x2 =2, x3 = 3, x4 = 4, x5 = 5, x6 = 6, x7 = 3, x8 = 4, поскольку метка 50 при RESTORE задает для READ в строке 30 переход на считывание с начала данных из оператора DATA в строке 50.

Сообщение "Ошибка в типе данных" вызывает попытка считать оператором READ из DATA строковую константу в числовую переменную. Числовое значение слишком большое для переменной приведет к ошибке "Переполнение". Если список переменных в операторах READ больше списка данных в операторах DATA, то это вызовет сообщение об ошибке "Нет данных".

Таблица 0.1.1.

Оператор и его описание

READ x, y, z

Вводит числовые переменные x, y, z, для которых считывает из оператора DATA и присваивает числовые значения

READ x, y$

Вводит числовую переменную x и строковую y$, для которых считывает из оператора DATA и присваивает x числовое значение и y$ строковую константу

DATA 1.2, -2.546, 3

Хранит числовые значения для последующего их считывания оператором READ

DATA 7.2, "режим"

Хранит числовое значение и строковую константу для последующего их считывания оператором READ

DATA 1.2, , 5, -4.8

Оператор с пустым элементом списка, присваивающим числовой переменной значение 0, а строковой – отсутствие значения

RESTORE

Задает по умолчанию соответствующему оператору READ возврат на считывание с начала данных из первого оператора DATA

RESTORE 50

Задает соответствующему оператору READ переход на считывание с начала данных из оператора DATA в строке 50 (50 - метка)

Примечание:

переменные в операторе READ, как и данные в операторе DATA, разделяются запятыми

Таблица 0.1.2.

Операции, функции

Вид в Бейсике

Сложение

+

Вычитание

-

Умножение

*

Деление

/

Возведение в степень

^

Целочисленное деление

\

ex

EXP(x)

|x|

ABS(x)

sinx

SIN(x)

cosx

COS(x)

tgx

TAN(x)

lnx

LOG(x)

lgx

LOG(x) / LOG(10)

SQR(x)

arctgx

ATN(x)

Остаток от деления

i MOD j

Генератор случайных чисел

RND(n)

Равно

=

Больше

>

Меньше

<

Не равно

<>

Меньше или равно

<=

Больше или равно

>=

Примечание:

1. Согласно приоритету операций в Бейсике сначала выполняется возведение в степень, затем умножение и деление, после сложение, вычитание. Операции, размещенные в одной строке и имеющие равный приоритет, выполняются последовательно слева направо.

2. Бейсик вычисляет выражение в скобках в первую очередь, даже если операции в скобках более низкого приоритета, чем вне скобок. Сначала вычисляются внутренние скобки, затем наружные.

3. Обратные функции вычисляются через имеющиеся встроенные:

секанс SEC(x) = 1 / COS(x), косеканс COSEC(x) = 1 / SIN(x),

арксинус ARCSIN(x) = ATN(x / SQR(1 – x * x)),

арккотангенс ARCCTN(x) = 1.570796 – ATN(x),

арккосинус ARCCOS(x) = 1.570796 – ATN(x / SQR(1 – x * x))