Файл: Технологии программирования. Основы программирования на языке QBasic.pdf
Добавлен: 29.06.2023
Просмотров: 103
Скачиваний: 2
Оператор PRINT может выводить в строке одно или несколько значений: чисел, строк, переменных и выражений. Если эти значения разделяются точкам с запятой, то данные печатаются подряд друг за другом (если это числа, то через один пробел). Если они разделяются запятыми, то данные выводятся в следующей области вывода (эти области следуют в строке последовательно друг за другом и имеют стандартную ширину 14 символов).
Например, при выполнении операторов
Y% = 5
PRINT "у="; Y% на экран выведется
У= 5
а при выполнении операторов
Y% = 5
PRINT "у=", Y% выведется
У= 5
Помимо строк, выражений и символов «,» и «;» в операторе PRINT можно также точно указывать, с какой позиции в строке начать вывод очередной порции информации. Для этого надо воспользоваться конструкцией
TAB({позиция})
например:
PRINT TAB(5); "Эта строка выводится с пятой позиции"
Кроме того, между частями выводимого текста можно вставлять нужное число пробелов с помощью команды 8РС({число-пробелов}):
PRINT "Здесь вставлено 10"; SPC(10); "пробелов"
3.10 Ввод информации от пользователя
Мало уметь только выводить данные на экран. Надо уметь также вводить всевозможную информацию в программу. Для этого предназначен оператор INPUT. Он записывается так:
INPUT {подсказка}; {список-переменных}
и по форме очень похож на PRINT. Работает оператор ввода следующим образом: сначала на экран выводится строка-подсказка (ее можно не указывать), а потом список переменных, в которые будут вводиться набираемые человеком значения (после ввода числа или строки надо нажать клавишу ENTER). Например, чтобы ввести значение 5 для переменной Х%, надо указать в программе оператор ввода:
INPUT "Ввести значение X: "; Х%
Когда этот оператор будет выполняться, на экране покажется подсказка: Ввести значение X: ?
За знаком ? надо ввести 5 и нажать клавишу ENTER. Выполнение программы продолжится.
В операторе INPUT можно указывать несколько переменных, например:
INPUT Х%, S$
При вводе с клавиатуры нескольких значений в одном операторе эти значения надо разделять запятыми, то есть при выполнении данного оператора на подсказку QBasic надо ввести, например:
? 5, строка
ГЛАВА 4. ПРИМЕРЫ
Пока что вы изучили только оператор присваивания и операторы ввода и вывода данных. Много это или мало? Вполне достаточно для того, чтобы писать программы для проведения достаточно сложных математических и инженерных расчетов, причем работать с ними будет гораздо удобнее и проще, чем выполнять аналогичные вычисления на микрокалькуляторе. Вот несколько примеров.
Настройка велосипедного компьютера
На современных гоночных и горных велосипедах часто устанавливают специальные спортивные компьютеры, которые фиксируют скорость движения, время, пройденное расстояние и ряд других параметров. Для того, чтобы скорость и расстояние показывались правильно, такие компьютеры надо предварительно настроить на размер колеса, на котором установлен датчик оборотов — и скорость, и расстояние вычисляются в зависимости от длины велосипедной покрышки. Это делается установкой так называемого колесного фактора (Wheel Factor), аналогичного длине покрышки в миллиметрах и вычисляемого по формуле:
{диаметр колеса, мм} * 3,1416 (пи)
Данный фактор обычно приводится в инструкции для большинства стандартных покрышек, однако в них не учитывается возможность прогиба покрышки под весом велосипедиста, который может достигать 1-2 см и занижать значение колесного фактора. Для более точного определения значения данного фактора попробуете внести наиболее подходящую, на свой взгляд, поправку и затем воспользоваться следующей программой, пересчитывающей диаметр покрышки (традиционно задаваемой в дюймах, 1 дюйм = 25,4 мм) в колесный фактор.
DIM WheelFactor AS DOUBLE, D AS DOUBLE, P AS INTEGER
INPUT "Ввести диаметр колеса в дюймах и поправку в миллиметрах:", D, Р
D = D * 25.4 - Р
WheelFactor = 3.1416 * D
PRINT " WheelFactor= "; WheelFactor
END
Решение системы линейных уравнений
Составлять программы решения систем линейных уравнений программистам приходится довольно часто. Например, при создании крупных систем автоматизации предприятий, особенно имеющих модули планирования производства и определения оптимальных маршрутов движения автотранспорта, постоянно возникает необходимость решения таких уравнений с большим числом неизвестных. В нашем примере мы ограничимся классическим, известным из школьного курса математики, случаем с двумя неизвестными. Такая система выглядит так:
ах + by = е сх + dy = f
Коэффициенты a, b, с, d, е и f известны, требуется определить значения переменных х и у. Эти значения рассчитываются по правилу Крамера:
х = (е * d - b * f) / (а * d - b * с) у = (а * f - е * с) / (а * d - b * с) а вычисляющая их программа на Бейсике представлена ниже:
' программа решения системы линейных уравнений ' с двумя неизвестными по правилу Крамера
DIM |
a |
AS |
DOUBLE, |
b |
AS |
DOUBLE, |
e AS |
DOUBLE |
DIM |
c |
AS |
DOUBLE, |
d |
AS |
DOUBLE, |
f AS |
DOUBLE |
DIM |
X |
AS |
DOUBLE, |
У |
AS |
DOUBLE |
CLS
PRINT ' пустая строка PRINT "аХ + bY = е"
PRINT "сХ + dY = f"
PRINT ' пустая строка
INPUT " ввести коэффициенты а, b и е (через запятую): ", а, Ь, е
INPUT " ввести коэффициенты с, d и f (через запятую): ", с, d, f
х = (e*d-b*f) / (а * d - b * с) у = (а * f - е * с) / (a*d-b*c)
PRINT ' пустая строка PRINT "X = х PRINT "Y = "; у
PRINT ' пустая строка
PRINT "Проверка. aX + bY = "; a*x + b*y PRINT "Проверка. cX + dY = *; c*x + d*y END
В качестве контрольного примера попробуйте решить систему 10Ох + 10у = -5 -20х - Зу = 0
Запустите программу, ввести значения 100,10, -5 и -20, -3, 0.
Программа напечатает: х= -.15 Y= 1
Проверка. aX + bY = -4.999999999999999 Проверка. cX + dY = -1.110223024625157D-16
Погрешность возникает из-за слишком большой разрядности чисел типа DOUBLE.
Вычисление скорости полета в Махах
Скорость полета самолета может определяться в км/ч, а может и в Махах — скоростях звука (330 м/с, при преодолении самолетом этого порога мы обычно слышим сильный грохот). Однако скорость в Махах нельзя определить простым пересчетом скорости в км/ч, потому что она нелинейно зависит от высоты полета и обычной скорости движения.
Вычисление Махов происходит по следующей ужасающей формуле (М — Махи, V — скорость, км/ч, Н — высота полета, м):
М - квадратный корень из (5 * (((((1 + 0,2 * (V / 1225,1) в квадрате) в степени 3,5 - 1) * (1 - 6,875 * 10 в -6-й степени * Н / 0,3048) в степени -5,2656) + 1) в степени 0,286) - 1)
А вот программа, пересчитывающая скорость и высоту в Махи:
DIM М AS SINGLE, V AS INTEGER, H AS INTEGER
INPUT "ввести скорость полета {км/ч) и высоту полета (м): ", V, Н
М = SQR(5 * ((((1 + .2 * (V / 1225.1) Л 2) Л 3.5 - 1)
* ((1 - 6.875Е-06 * Н / .3048) Л -5.2656) + 1) Л .286 - 1))
PRINT М; "Махов"
END
В качестве контрольного примера укажите скорость полета 1000 (км/ч) и 10000 (м). Программа напечатает скорость в Махах:
1.384566 Махов
ЗАКЛЮЧЕНИЕ
Решение какой-либо задачи с помощью ЭВМ распадается на три основных этапа: постановка задачи, составление алгоритма решения, программная реализация алгоритма на ЭВМ. В данной работе реализованы все указанные выше этапы в среде программирования QBasic.
В работе представлены задания, направленные на овладение основами программирования в указанной среде: выполнение арифметических операций, решения задач из курса высшей математики, графические возможности.
В результате ее выполнения разработаны программы, охватывающие основные возможности версии, позволяющие выполнять все необходимые действия по составлению, отладке и выполнению программ.
В среде QBasic существует несколько экранных режимов. Основной исходный экран представляет поле редактирования текста программы. Встроенный текстовый редактор выполняет две функции – редактирования текста и синхронной интерпретации строки. В этой связи строки в некоторых программах не нумеровались. Результаты работы программы, комментарии и сообщения интерпретатора представлялись в текстовом экране (по умолчанию режим SCREEN 0). При работе с графикой изображения строились в графическом экране, который имеет несколько режимов.
Особый интерес представляла система помощи help (подсказок), имеющая контекстную структуру с возможностью копирования примеров из текста подсказок, что позволило освоить работу с языком программирования QBasic практически самостоятельно.
Таким образом, основная цель курсовой работы по овладению основами программирования в среде QBasic выполнена.
СПИСОК ЛИТЕРАТУРЫ
1. Могилев А.В. Информатика. – М., 1999. – 816 с.
2. Сафронов И.К. Бейсик в задачах и примерах. –– СПб.: BHV, 2001. – 215 с.
3. Семашко Г.Л. Программирование для всех. – М.: Наука, 1986. – 325 с.
4. Ставнистый Н.Н. QBasic в математике. Решение задач с помощью компьютера. Ч1. – М.: СОЛОН-Р, 2001. – 143 с.
5. Федоренко Ю. Алгоритмы и программы на QBASIC. - СПб.: Питер, 2002. – 287 с.
6. Хомоненко А.Д. Основы современных компьютерных технологий. – СПб.: КОРОНА принт, 1998. – 448 с.
7. Житкова В.Б., Кудрявцева Е.К. Алгоритмы и основы программирования. (Тематический контроль по информатике.). - М.: Интеллект-Центр, 1999. - 64 с.
8. Кириенко Д.П., Осипов П.О., Чернов А.В. ГИА-2013: Экзамен в новой форма: Информатика: 9-й класс: Тренировочные варианты экзаменационных работ для проведения государственной (итоговой) аттестации в новой форме. - М.: Астрель, 2013. -78 с.
9. Колдаева Н.В. Основы информатики: Учебное пособие. - Кстово: НФВИУ, 2002. -60 с.
10. Коханко В.В. Колдаева Н.В., Матвейчук. Основы программирования: Учебное пособие. - Кстово: НВВИКУ (ВИ), 2008. - 244 с.
11. Кузнецов А.А., Пугач В.И., Добудько Т.В., Матвеева Н.В. - 2-е изд., испр. - М.: БИНОМ, Лаборатория знаний, 2003. - 232 с.
12. Мамонтов Д.В. Quick Basic в задачах и примерах. - СПб.: Питер, 2006. - 256 с.
13. Острсйковский В.А., Полякова И.В. Информатика. Теория и практика: Учеб, пособие. - М.: Издательство Оникс, 2008. - 608 с.
14. Островская Е.М., Саммлкина Н.Н. ЕГЭ 2013. Информатика. Сдаем без проблем! -М.: Эксмо, 2012. - 160 с.
15. Самылкина Н.Н. Островская Е.М., Кузнецова Е.Ю. ЕГЭ 2013. Информатика: тренировочные задания. - М.: Эксмо, 2012. - 200 с.