Цель: изучить на примере готовой программы операторы разветвляющейся структуры языка QBasic и научиться составлять простейшие программы с использованием операторов условного и безусловного перехода.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Тестирование готовой программы»
Лабораторная работа №5
Тема: Тестирование готовой программы
Цель: изучить на примере готовой программы операторы разветвляющейся структуры языка QBasic и научиться составлять простейшие программы с использованием операторов условного и безусловного перехода.
Теоретические сведения к лабораторной работе
Язык программирования– совокупность четко определенных команд, функций и правил их записи.
BASIC расшифровывается как «многоцелевой язык символьных команд для начинающих».
BASIC как язык программирования был создан сотрудниками Дортмундского колледжа (США) в 1965 г. Язык прост и доступен, позволяет решать задачи в режиме диалога человека с ЭВМ.
2. Основные символы BASIC
В языке Бейсик используются следующие символы:
- буквы латинского алфавита от A до Z;
- буквы русского алфавита от А до Я;
- арабские цифры от 0 до 9;
- знаки арифметических операций: +, -, *, /, ^ (возведение в степень), \ (деление нацело);
Переменнаяв BASIC - это величина, значение которой может изменяться в процессе выполнения программы.
Имя переменной – это последовательность из латинских букв и цифр, но начинающаяся с буквы (всего не более 40 символов).
Например: A1 (действительная переменная с именем А1),
B2% (целое число под именем В2),
D$ (символьная переменная с именем D).
4. Оператор - комментарий REM
Его вид:REM,
(REM от латинского «Ремарк» - замечание, примечание).
Этот оператор используется программистом для включения в текст программы пояснений - указание имени программы, отделения частей программы друг от друга.
5. Оператор ввода данных - INPUT
Служит для ввода данных в ЭВМ с клавиатуры значений исходных величин в процессе выполнения программы и размещения их в ячейках памяти, выделенных для этих величин.
Его вид:
INPUT
Например:INPUTA, B%, D$
В операторе INPUT допустимо использовать текст в кавычках для подсказки пользователю.
Например:INPUT “введите значения X и Y “; X, Y
6. Оператор вывода PRINT
Он служит для вывода значений величины на экран монитора.
Его вид:
PRINT
Например:
X=5: Y=2*x+15
PRINT “Y= “, Y
Выводимых переменных может быть несколько и разделяться они могут “,” или “;” . Если они разделяются “;” , то их значения печатаются подряд, через 1 пробел. Если разделяется “,” , то экранная строка делится на 5 колонок по 14 символов в каждой и каждое следующее значение печатается в новой колонке.
В оператореPRINT можно использовать функцию TAB, которая служит для вывода значения величины в определённых позициях строки экрана (от 1 до 80).
Например:
PRINT TAB(5); Y
Будет выведено значение Y с 5-ой позиции экрана.
7. Оператор END
Он прекращает выполнение программы и является последним её оператором.
8. Оператор STOP
Прерывает выполнение программы. Его можно поместить в любом месте программы и в программе их может быть несколько.
Пример задачи.
Составить программу для нахождения V комнаты, S пола, если ширина-a, длина-b, высота-h.
REM Нахождение объема комнаты и площади пола
INPUT “Введите ширину, длину и высоту комнаты”; A, B, H
V=A*B*H
S=A*B
PRINT “Объём комнаты равен “; V, “Площадь пола равна “; S
END
Определение разветвляющейся программы
Разветвляющаяся программа – запись разветвляющегося алгоритма, в котором выбирается один из нескольких возможных вариантов вычислительного процесса.
В разветвляющихся программах часто требуется обеспечить иной порядок выполнения операторов в отличие от линейных программ. Для этой цели служат операторы передачи управления.
Рассмотрим 2 из них.
9. Виды операторов передачи управления: GOTO и IF
Оператор безусловного перехода– служит для перехода из одной строки программы к другой.
Общий вид оператора:
GOTO n
Где GOTO – имя оператора («перейти к…»)
n – метка
В качестве метки используются натуральные числа с двоеточием после них. Метка указывается только в начале строки. Если в строке программы несколько операторов, то нельзя ставить метку перед вторым.
Например: программа, рисующая на экране 3 символа звездочки по диагонали.
CLS
1: PRINT “*”
PRINT “ *”
PRINT “ *”
GOTO 1
Ctrl+Break – прерывание выполнения программы
Оператор условного перехода– обеспечивает в программе проверку условий и организацию ветвления.
При рассмотрении условного оператора потребуются понятия «отношение» и «логическое выражение».
Знаками отношения в условных выражениях служат: =, , , =,
Логические выражения – условные выражения, которые соединяются между собой знаками логических операций: AND(«и», конъюнкция) OR(«или», дизъюнкция) NOT(отрицание).
Примеры:
x-4 OR x
x=4;
Общий вид оператора:
Полная форма записи: IFTHENP1ELSEP2
Сокращенная форма записи: IFTHENP1
Где IF – имя оператора («если…»)
THEN– имя оператора («то…»)
ELSE– имя оператора («иначе…»)
– логическое выражение
P1, P2– группа операторов
Например:
IF xTHEN a=x ELSE a=y
IF (2AND (xTHEN y=SIN(x)
Тестирование готовой программы
Задача №1: составить программу для вычисления значения функции .
Для того чтобы вычислить значение функции, сначала необходимо проверить условие . Согласно определению условного выражения данное условие является простым.
Для составления программы будем использовать полную форму записи оператора условного перехода (IFTHENP1ELSEP2).
После оператора IF записывают проверяемое условие (для данной задачи–это условие x-40), после оператора THENзаписывают выполнения действий, удовлетворяющие проверяемому условию (для данной задачи–это y=1/(x-4)– оператор присваивания). А после оператора ELSEзапишем вывод сообщения о неопределенности функции.
Программа будет выглядеть следующим образом:
CLS
Очистка экрана от предыдущих значений
REM Вычисление значения функции
Название программы
INPUT «Введем произвольное значение x»; x
Осуществляется ввод исходных данных: значение переменной x
IF x-40 THEN y=1/(x-4):GOTO 1 ELSE GOTO 2
Смотрите примечание 1
1 PRINT «Значение функции =»; y: GOTO 3
Осуществляется вывод искомых данных: значение функции y и переход к завершению программы
2 PRINT «Функция y не определена»: GOTO 3
Осуществляется вывод сообщения и переход к завершению программы
3 END
Завершение программы
Примечание 1: После оператора IF указано проверяемое условие, после оператора THEN– вычисление функции по указанной формуле и переход (с помощью оператора безусловного перехода GOTO) к строке вывода искомого значения функции y. А после оператора ELSE указан переход к строке вывода сообщения «Функция y не определена». Обратите внимание: в начале каждой строки вывода стоят соответствующие метки.
Примечание 2: после запуска программы на исполнение нажатием клавиши F5 на экране появится подсказка оператора ввода «Введем произвольное значение x» и знак ?, после которого необходимо ввести произвольное значение переменной x. Затем нажатием клавиши Enter получаем искомый результат–значение функции y.
Задача №2: составить программу для вычисления значения функции по одной из формул
Программа:
CLS
REM Значение функции
INPUT«Введите a, b, x»; a, b, x
IF x THEN y=x+a:goto 1 ELSE y=SIN(x)-b:goto 1
1 PRINT“y=”; y
END
Ход работы
Вариант №__
Задание №1. Протестировать программу для задачи №1 и записать свои данные в таблицу:
Условие задачи:
Значения переменной x
Значения функции y
Задание №2. Составить программу, которая в зависимости от введённого числа либо вычисляет функцию, либо выдаёт сообщение, что функция не определена.