Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы программирования для студентов технологического профиля. Учебное пособие
.pdf
91
осуществляется по зонам (в три столбца), т.к. в качестве
разделителя между выводимыми переменами используется
запятая. Таким образом, выводимая информация имеет вид:
Вывод значений X, Y, Z 1 2 3
Если в качестве разделителя используется точка с запятой,
т.е. программа имеет вид:
X=1 : Y=-2 : Z=3
PRINT ″Вывод значений X, Y, Z″ X;Y;Z
то между выводимыми числами вставляется только один
пробел, который может быть заполнен знаком минус, если число
отрицательное:
Вывод значений X, Y, Z 1-2 3
Особенности записи оператора PRINT: если подсказка,
список переменных и точка с запятой (или запятая) на конце
оператора отсутствуют, то выводится пустая строка. Если
список переменных заканчивается знаками запятой, точкой с
запятой, то следующий оператор PRINT продолжает вывод в той
же строке. Если экран дисплея заполнен строками (экран
содержит 25 строк), то строки на экране смещаются на одну
вверх, причем верхняя строка исчезает.
Ключевое слово PRINT очень часто при составлении
программы заменяют вопросительным знаком (?), что позволяет
экономить время при наборе программы.
Оператор END
(END - конец)
Формат оператора:
END
Назначение оператора: прекращает работу по программе.
Особенности записи оператора: оператор может
располагаться в любом месте программы. Продолжение работы
программы после выполнения оператора невозможно. В
программе может быть один, несколько или ни одного
оператора END. В последнем случае выполняется последняя
строка программы и работа программы прекращается.

92
Оператор REM
′Программа для вычисления площади круга
1
′Название файла программы: S_KRUG.BAS
2
′Разработчик программы – студент гр.4901 Сидоров А.И.
3
′Дата разработки программы- 8.09.01
4
′Условные обозначения:
5
′ r- радиус круга (м)
6
′ s- площадь круга кв. м.
7
LET pi=3.14159 ′ задание константы ПИ
8
(REMark - комментарий)
Формат оператора:
REM [текст ]
текст - любое сообщение длиной не более 255 символов.
Назначение оператора: оператор для ввода пояснений
непосредственно в текст (листинг) программы. Очень полезно
начало программы оформлять таким образом:
REM Программа для поиска экстремума
REM методом ГАУССА - ЗЕЙДЕЛЯ
REM Автор - ИВАНОВ Г.П.
Особенности записи оператора: вместо слова REM можно
использовать знак апострофа ('). После слова REM допустим
любой текст, включая операторы бейсика, которые будут
игнорироваться при выполнении программы. Комментарий
можно добавлять также в конец строки с помощью
предшествующего им знака апострофа (кроме оператора
DATA). В этом случае он должен быть последним в строке,
например:
' Вычисление суммы
SUM=0 ' обнуление переменной SUM
SUM=SUM + 5 ' Увеличение суммы
Программа 3.4.1.1. Составить программу для вычисления
площади круга S, если значение радиуса равно 2.75.
Реализация программы на Qbasic:

93
окончание таблицы
r=2.75 ′ задание радиуса
9
S=pi*r*r ′ вычисление площади круга
10
PRINT ″Площадь круга в кв. метрах =″ s ′ вывод результата
11
END
12
Обсуждение программы:
Напомним, что программа на бейсике состоит из
совокупности строк. В каждой строке можно записать один или
несколько операторов. Оператор – это макрокоманда для
выполнения определенных действий. Операторы отделяются
друг от друга знаком двоеточия ( : ).
Вначале программы (строки 1-7) написана ш а п к а
п р о г р а м м ы , поясняющая для каких целей создана
программа, когда и кем разработана. В шапке программы
обычно записывают название программы, используемые
условные обозначения физических величин и их размерности,
т.к. результат решения физической задачи зависит от выбранной
системы единиц. Для написания шапки программы используется
оператор REM. Вместо слова REM можно использовать значок
апострофа ( ′ ), что намного удобнее.
Для решения любой задачи в первую очередь необходимо
задать исходные данные. Данные присваиваются определенным
переменным. Имена переменных задаются программистом.
Наиболее простой способ задания значений переменных –
использование оператора LET.
В восьмой строке задается константа π, т.к. на QBasic
отсутствуют какие либо заранее установленные
(предопределенные) константы.
В девятой строке задается радиус круга с помощью
оператора LET (ключевое слово LET можно не писать).
После ввода всех данных, необходимых для решения
задачи, программируется основная вычислительная формула, в
данной задаче – формула вычисления площади круга (10
строка).

94
Для вывода результатов используются оператор Print (11
строка), который выводит полученный результат на экран
дисплея.
В двенадцатой строке оператор END прекращает
выполнение программы. Оператор END не является
обязательным. В ряде программ, в частности в линейных
программах его можно не писать.
Запуск программы на выполнение осуществляется двумя
клавишами: кл. Shift +F5. Это означает, что надо нажать на Кл.
Shift и, не отпуская ее, на Кл. F5. Запуск программы на
выполнение можно осуществить и через меню по схеме: Запуск
=> Запуск.
Отладка программы, пожалуй, самая важная часть работы
по составлению программы. Даже опытные программисты
делают ошибки. Самое важное в программировании – это уметь
найти ошибку в программе. После запуска программы, QBasic
проверяет правильность набранной программы. Если в какой-
либо строке имеется ошибка, то бейсик приостанавливает
проверку программы и выдает сообщение об ошибке.
Необходимо внимательно познакомится с сообщением, которое
высвечивается в окне, затем закрыть окно, щелкнув по полю Ok,
и исправить ошибку.
Часть ошибок можно устранить при наборе программы.
Для этого советуем Вам набирать программу строчными
(маленькими) буквами. Легко заметить, что при нажатии на кл.
Enter в конце строки, строчные буквы ключевых слов, меняются
на аналогичные прописные, если в набранной строке нет
ошибок. Если ошибка имеется, то шрифт не меняется.
Бейсик не обнаруживает ошибок, если с точки зрения
синтаксиса все написано нормально. Например, нужно
вычислить кубический корень из 8. Сделаем две записи:
CLS: Y=8^1/3 : PRINT Y: END ′ - это первая программа
CLS: Y=8^ (1/3): PRINT Y: END ′- это вторая программа
Обе программы написаны безупречно с точки зрения
QBasic и ошибок он не обнаружит. Однако первая программа
даст неверный результат, т.к. в силу приоритетности

95
выполнения операций число 8 будет возведено в степень 1, а
затем полученное число (8) будет поделено на 3, что неверно.
Здесь ошибка допущена самим пользователем и QBasic не
может ее обнаружить. Хорошим средством от таких ошибок
является внимательный анализ и просмотр самой программы.
Иногда для отладки программы полезно бывает включение
опции к о н т р о л ь н ая т о ч к а. Для этого располагают курсор
на том операторе, где необходимо остановиться. Затем
выбирают команды Отладка => контрольная точка (строка
закрашивается цветом). После запуска программы бейсик
приостанавливает работу программы на выделенном операторе,
закрашивая его цветом. Для того, чтобы узнать значения
переменных, которые вычислены, необходимо перейти в
р е ж и м н е п о с ре д с т в е н н о г о в ы п о лн е н и я , нажав кл.
F6. Курсор будет расположен в нижней части окна. После этого
набирают знак вопроса и имена переменных, значения которых
необходимо узнать, а затем нажимают на кл. Enter. В окне
вывода появится значения запрашиваемых переменных.
3.4.2 Встроенные функции QBasic
На бейсике различают функции в с т р о е н н ы е
(с т а н д а р т н ы е ) и функции определяемые пользователем
(ф у н к ци и п о л ь з о ва т е л я ).
Стандартные функции - это программные блоки,
встроенные в бейсик, которые по заданным входным
параметрам (аргументам) вычисляют значение функции.
Все функции имеют, как правило, трехбуквенное
обозначение. Аргумент функции всегда записывается в круглые
скобки и расположен сразу же после имени функции.
Основные числовые функции QBasic – ABS, EXP, SQR,
LOG предназначены для работы с числовыми величинами. К
ним относят и тригонометрические функции.
Аргументом числовых функций является числовая
константа, переменная или арифметическое выражение, которое
может содержать обращение к другим функциям.
Результат всех числовых функций – число.

96
Функция ABS
(ABSolute - абсолютное)
Формат функции:
ABS(x)
Назначение функции: вычисление абсолютного значения x
(модуля x), например:
CLS : x= -5 : y= ABS(x) : PRINT "y=" y
-на экран монитора выводится y= 5 .
Функция EXP
(EXPonent - степень)
Формат функции:
EXP(x)
Назначение функции: вычисление экспоненциальной
функции, т.е. числа е (основание натурального логарифма),
возведенного в степень x, например:
CLS : x =1 : y =EXP(x) : PRINT y
- вычисление числа е. Ответ - число 2.71828828
Особенности функции: аргумент x должен быть не более
88,02969, иначе выдается сообщение об ошибке.
Функция SQR
Формат функции:
SQR(x)
Назначение функции: вычисление квадратного корня из x,
например:
CLS : p=SQR(25) : PRINT p
- на экран монитора выводится число 5.
Особенности функции: значение аргумента должно быть
неотрицательным, иначе выдается сообщение об ошибке.
Функция LOG
Формат функции:
LOG(x)
Назначение функции: вычисление значения натурального
логарифма (логарифма по основанию е), т.е. ln(x), например:
CLS : x=3.718282 : y= LOG(x-1) : PRINT"y=" y
- выводится y=1

97
Особенности функции: Значение аргумента x должно быть
)ln(
)ln(
log
b
x
xb
180
81415926535.3x
больше нуля.
Логарифм по основанию b можно найти, если воспользоваться
соотношением:
например, выражение lg (29t-4x) записывается на бейсике так:
LOG(29*t - 4*x)/LOG(10)
Т р и г он о м е т р и ч ес ки е функции (COS, SIN, TAN,
ATN) предполагают, что аргумент задан в р а д и а н н о й
ф о р ме и представляет собой, число, переменную или
арифметическое выражение. Если аргумент задан в градусной
форме, то его переводят в радианную форму по формуле:
Число может быть записано в виде числовой константы
или может быть вычислено по формуле:
= 4 arc tg (1).
Функция COS
Формат функции:
COS(x)
Назначение функции: вычисление косинуса угла x,
заданного в радианах, например:
CLS : y=COS(0) : PRINT y
выводится число 1.
Функция SIN
Формат функции:
SIN(x)
Назначение функции: Вычисление синуса угла x, заданного
в радианах, например:
CLS : pi =3.141592 : y=SIN(2*pi)
PRINT "СИНУС УГЛА РАВЕН" y
-выводится: СИНУС УГЛА РАВЕН -1.255666E-06

98
Обратите внимание на то, что в данном примере
)(
1
)(
xtg
xctg
x
ec
sin
1
cos
)
1
(sin
2
x
x
tgarcxarc
2
cosh
xx
ee
x
)
1
(570796,1cos
2
x
x
tgarcxarc
2
sinh
xx
ee
x
вычислялся синус угла 180
0
, т.е. 2π радиан. Абсолютно точный
результат – число 0. Полученный ответ – 1.255666 10-6 -число
близкое к нулю, но не ноль. Ошибка получилась, вероятно, из-за
неточного задания числа π.
Функция TAN
Формат функции:
TAN(x)
Назначение функции: вычисление тангенса угла x,
заданного в радианах, например:
CLS : x=45: pi=3.141592 : y=tan(x*pi/180) : PRINT y
-выводится значение тангенса 45 градусов, т.е. число 1 или
близкое к нему.
Функция ATN
Формат функции:
ATN(x)
Назначение функции: вычисление арктангенса угла x,
заданного в радианах, например:
CLS : y=atn(1) : PRINT y
- выводится число 0.7853982 (радианная форма),
соответствующее углу 45
0
.
Ряд других тригонометрических функций можно
выразить через имеющиеся в QВasic (табл.2.1):
Таблица 2.1 – Формулы вычисления сложных
тригонометрических функций с использованием стандартных
функций QBasic.

99
окончание таблицы
x
x
cos
1
sec
xx
xx
ee
ee
x
tanh
3.4.3 Операторы для ввода данных
?Операторы для ввода данных (INPUT, DATA, READ,
RESTORE) предназначены для ввода информации, необходимой
для решения задач.
Оператор INPUT
(INPUT - ввод)
?Формат оператора:
?INPUT[;] ["подсказка"{;/,}] список_переменных
?подсказка - строковая константа, разъясняющая какую
информацию необходимо вводить; список переменных - список
простых или индексированных переменных, разделенных
символом запятой, которым присваиваются введенные значения.
Назначение оператора: ввод с клавиатуры данных любого
типа и присваивание их значений переменным, перечисленным
в списке переменных, например:
CLS : INPUT "Как тебя зовут "; a$ : PRINT "Здравствуй, a$
Если в программе встречается оператор INPUT, работа
программы приостанавливается, на экран монитора выводится
подсказка (если она отсутствует, то вопросительный знак).
Пользователь должен ввести числовые или символьные
значения в том порядке, в каком они перечислены в списке
переменных, разделяя их запятыми. Ввод данных завершается
нажатием клавиши Enter. Если все сделано правильно, то
введенные значения присваиваются соответствующим
переменным, перечисленным в списке переменных, и
выполнение программы продолжается. Для отмены
вопросительного знака, выводимого вместе с подсказкой, вместо
точки с запятой в конце подсказки необходимо ввести запятую.
Точка с запятой после ключевого слова INPUT отменяет перевод
курсора на следующую строку после завершения ввода данных.
Если ввод данных осуществлен неверно, то ЭВМ выводит на

100
экран сообщение "Redo from start" (Повторите ввод) и ввод
значений переменных можно повторить. Бейсик не присваивает
никаких значений переменным, пока все данные не будут
введены правильно.
Оператор DATA
(DATA - данные)
Формат оператора:
DATA константа [, константа ]... … …
константа - числовая или символьная константа.
Назначение оператора: хранение числовых и символьных
констант для их чтения оператором READ. Числовая или
символьная информация может задаваться одним или
несколькими операторами DATA, которые могут быть
расположены в любом месте программы. Арифметические
выражения в операторе DATA не допускаются. Числовые
константы могут быть любого типа. В конце оператора нельзя
использовать знак (') для добавления комментария. Символьные
константы можно не заключать в кавычки, если они не содержат
запятые, двоеточия или пробелы в начале или конце. Повторное
чтение данных из оператора возможно при использовании
оператора RESTORE. Все операторы DATA должны
располагаться в главном модуле программы.
Оператор READ
(READ - прочитать)
Формат оператора:
?READ список переменных
Назначение оператора: чтение данных из оператора
DATA и присвоение их переменным, перечисленным в списке.
Особенности оператора: если число переменных в
операторе READ больше числа констант в операторе DATA,
выводится сообщение об ошибке. Оператор READ всегда
используется совместно с оператором DATA. Тип переменных в
операторе READ должен соответствовать типу значений,
перечисленных в операторе DATA.
Программа 3.4.3.1. Вывести информацию, записанную в
операторе DATA, на экран монитора.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
