- •Министерство образования и науки российской федерации
- •Содержание
- •Введение
- •Лабораторная работа № 1 Разработка и отладка линейной программы Задание:
- •Выполнение задания:
- •Лабораторная работа № 2 Разработка и отладка программы с разветвлениями Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 3 Разработка и отладка циклической программы Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 4
- •Разработка и отладка
- •Сложной циклической программы
- •Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 5 Разработка и отладка программы для работы с файлами Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 6 Разработка и отладка программы для работы с графикой Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 7 Разработка и отладка программы для работы с графикой в статике Задание на лабораторное занятие
- •Выполнение задания
- •Лабораторная работа № 8 Разработка и отладка программы для работы с графикой в динамике Задание на лабораторное занятие
- •Выполнение задания
- •Методические рекомендации По разработке программы
- •5. Трансляция и отладка программы.
- •К лабораторной работе №1
- •К лабораторной работе № 2
- •К лабораторной работе № 3
- •К лабораторной работе № 4
- •Исходная последовательность
- •Отсортированная по возрастанию
- •Программа разложения числа на простые сомножители
- •Делителями числа 28 являются 1, 2, 4, 7, 14.
- •Программа вычисления таблицы значений функции 2-х переменных
- •Программа построения таблицы сложных процентов
- •Программа сложения столбцов определителя
- •Вариант 25
- •Вариант 26
- •Вариант 27
- •Варианты 25-27
- •Вариант 28
- •Вариант 29
- •Вариант 30
- •Варианты 28-30
- •Вариант 31
- •Вариант 36
- •Варианты 34-36
- •Логика цикла
- •Логика цикла
- •К лабораторной работе № 5
- •К лабораторной работе № 6
- •К лабораторной работе № 7
- •К лабораторной работе № 8
- •Косинусоида. Вариант 1
- •Основы программирования на языке basic
- •192171, Г. Санкт-Петербург, ул. Седова, 55/1
К лабораторной работе №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)) |