- •Министерство образования и науки российской федерации
- •Содержание
- •Введение
- •Лабораторная работа № 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
К лабораторной работе № 2
Цель работы: приобретение практических навыков в разработке и отладке разветвляющихся программ.
Структура создаваемой программы: ввод исходных данных, осуществление заданного ветвления и вычисление значений y при x из заданного диапазона, вывод результата на экран с помощью оператора PRINT.
Ввод исходных данных в данной работе осуществляется посредством оператора INPUT, обеспечивающего ввод данных с клавиатуры во время выполнения программы и размещение их в списке переменных. Оператор INPUT останавливает программу и ждет ввода данных. Переменные могут быть числовыми, символьными или элементами массивов. Типы данных в списке и вводимых с клавиатуры должны совпадать.
INPUT "Введите значение x, y ", x, y$
В приведенном примере символьная строка, заключенная в кавычки, называется подсказкой или приглашением к вводу и выводится один к одному на экран. Если после приглашения поставить точку с запятой, а не запятую, как в примере, то Бейсик будет выводить знак вопроса. В данном примере оператор требует ввести численное значение x, завершив его ввод запятой, а затем ввести символьное значение для символьной переменной y$, завершив ввод значений обеих переменных нажатием клавиши Enter.
Предпочтительнее для каждой переменной использовать свой оператор
INPUT: 10 PRINT "Введите значения x, y"
10 INPUT "Введите x = ", x 20 INPUT "x = ", x
20 INPUT "Введите y = ", y$ 30 INPUT "y = ", y$
Если введены значения не тех типов или их количество не совпадает с числом переменных в списке при INPUT, то появится сообщение об ошибке "Ввод с начала".
Ветвление осуществляется с помощью условного оператора
IF…THEN…ELSE (ЕСЛИ…ТОГДА…ИНАЧЕ)
Предпочтительнее в данном случае неполная линейная форма
IF 0 < x THEN y = a * x + b
Если выполняется условие 0 < x, то выполняется стоящее после THEN, в противном случае выполняется следующая строка программы. Можно использовать и блочную форму.
Сложные условия реализуются с помощью операций отношения из таблицы 0.1.2 и логических операторов из таблицы 0.2.2.
Например:
Условие: 0 x 5 можно записать следующим образом: 0 =< x AND x =< 5 или x < 0 EQV 5 < x .
В таблице 0.2.3 приведены значения контрольных примеров для всех вариантов таблицы 2.1.
Таблица 0.2.1.
Оператор и его описание |
IF 0 < x THEN y = a * x + b ELSE y = c * x ^ 2 Линейная форма условного оператора. Удобна, если требуется реализовать два альтернативных условия. Если справедливо условие 0 < x, то y определяется по формуле, стоящей после THEN, в противном случае – по формуле после ELSE. |
IF 0 < x THEN y = a * x + b ELSE 50 Линейная форма условного оператора. Если справедливо условие 0 < x, то вычисляется y после THEN, в противном случае – переход на строку 50. После THEN или ELSE может стоять и многоо-ператорная строка, например, a = 2: b = 3: y = a * x + b: PRINT y |
IF 0 < x THEN y = a * x + b Неполная форма условного оператора. Если справедливо условие 0 < x , то определяется y по формуле после THEN. В противном случае выполняется следующий оператор программы. |
IF 0 < x AND x < 5 THEN y = a * x + b Неполная форма условного оператора. Пример реализации сложного условия 0 < x < 5 с помощью логического оператора AND |
IF 0 < x THEN IF x < 5 THEN y = a * x + b Неполная форма условного оператора. Пример реализации сложного условия 0 < x < 5 |
IF x =< 0 THEN y = a * x + b ELSEIF 5 =< x THEN y = a * x ELSEIF 0 < x AND x < 5 THEN y = c ^ x ELSE PRINT "Такого варианта нет" END IF Блочная форма условного оператора. Блоки ELSE и ELSEIF могут быть опущены. ELSEIF может быть любое количество. Каждый из блоков может также содержать вложенные блочные структуры IF |
SELECT CASE n CASE -1: PRINT "n может быть и отрицательным" CASE 0: PRINT "n может быть числовым или строковым" CASE 1, 2, 3: PRINT "Несколько одинаковых вариантов" CASE 4 TO 8: PRINT "Использование ключевого слова TO" CASE IS > 8: PRINT "Использование операций отношения" CASE ELSE: PRINT " CASE ELSE может быть опущено" END SELECT Управляющий оператор, выполняющий один или несколько блоков оператора в зависимости от значения n (числового или строкового). |
Таблица 0.2.2.
Логические операторы QBasic | ||
Оператор |
Название |
Объяснение |
NOT |
Отрицание |
NOT A истинно тогда и только тогда, когда A ложно |
AND |
Логическое умножение |
A AND B истинно тогда и только тогда, когда истинно А и истинно В |
OR |
Логическое сложение |
A OR B истинно тогда и только тогда, когда хотя бы одно из A и B истинно |
XOR |
Исключающее ИЛИ |
A XOR B истинно тогда и только тогда, когда значения А и В не совпадают |
EQV |
Эквивалентность |
A EQV B истинно тогда и только тогда, когда A и B одновременно истинны или ложны |
IMP |
Импликация |
A IMP B ложно, если A истинно, а B ложно, в других случаях A IMP B истинно |
Таблица 0.2.3.
Значения y | |||
Вариант |
x1 = -5 |
x2 = 1 |
x3 = 9 |
0 |
a = 2 -5 |
a = 5,2 2 |
198,925 |
1 |
35,09 |
0,816 |
2178,9 |
2 |
4,85 |
6,02 |
85,6 |
3 |
-121,47 |
4,39 |
7,63 * 1012 |
4 |
53,2 |
0,62 |
a = 324 3,4 |
5 |
-3,72 * 10-3 |
a= 0 4,60 |
7,70 |
6 |
-210,79 |
9,24 |
290,84 |
7 |
47,75 |
-1,45 |
320,31 |
8 |
200 |
0,94 |
269,02 |
9 |
-0,30 |
8,2 |
a = 1 50,11 |