Файл: "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ QBASIC".pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 43

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Оператор вывода.

Оператор вывода служит для вывода числовой и текстовой информации на экран монитора или принтер в процессе выполнения программы. Общий вид оператора: PRINT [список вывода][{; | ,}] .PRINT – ключевое слово «печать»; список вывода может содержать константы, переменные, выражения, функции, разделенные запятыми или точками с запятой.

Различаются зонный и компактный выводы. Если данные в списке вывода разделены запятыми, то каждое выводимое значение размещается в соответствующей зоне. При зонном формате (печать по зонам) каждая строка содержит 5 зон по 14 позиций каждая. Если данные в списке вывода разделены точками с запятой, то вывод значений осуществляется компактно, подряд друг за другом (например, числа выводятся через один пробел). Запятые и точки с запятой могут использоваться в операторе PRINT совместно. Необходимо помнить, что при выводе числовых данных первая позиция отводится под знак числа. Например:

Х = 10 : Y= - 2

PRINT “ При Х= ”; Х, “Y=”;Y

PRINT “ Х + Y = ”; Х +Y

PRITN “ Х - Y = ”; Х -Y

PRINT “ Х*Y = ”; Х * Y

На экране:

При Х= 10 Y=-2

Х + Y = 8

Х - Y = 12

Х*Y =-20

Если в конце списка вывода оператора PRINT стоит запятая или точка с запятой, то следующий оператор PRINT выводит данные в той же строке, что и предыдущий. Например: G=1998: D$=”Год рождения - ”

PRINT D$; PRINT G

На экране: Год рождения – 1998

Оператор PRINT может записываться без списка величин. В этом случае он выводит на экран пустую строку, строку пробелов. В одном операторе PRINT можно использовать разные разделители. Если в программе используется несколько операторов PRINT, то работают они как один с общим списком выводимых величин с единственным исключением: при отсутствии в конце оператора PRINT разделителя (, или ;) следующий за ним оператор PRINT выводит величины с начала строки. Например:

PRINT “ПОПУГАЙ”;

PRINT “ГОВОРИТ”,

PRINT “ОТЛИЧНО”

На экране: ПОПУГАЙ ГОВОРИТ ОТЛИЧНО

Функция Tab устанавливает позицию курсора на определенной позиции экрана. С установленной позиции и будет начинаться вывод информации, содержащейся в операторе PRINT.

Оператор комментария.

REM – оператор комментария. Все что следует после этого оператора до конца строки игнорируется компилятором и предназначено исключительно для человека. Т.е. здесь можно писать что угодно. Удобно использовать комментарий в начале программы для указания её названия и назначения. Оператор комментария должен быть единственным в операторной строке, либо последним. Многие интерпретаторы также поддерживают в качестве знака начала комментария одиночную кавычку '. Ключевое слово REM можно заменить символом «’» (апостроф). Нельзя использовать оператор REM в середине многооператорной строки, т.к. компьютер игнорирует все, что идет следом за ним.


Операторы, контролирующие порядок выполнения программ.

GOTO- " перейти к ..." - первый оператор контроля выполнения программы или оператор безусловного ветвления. GOTO - управляющий оператор безусловного перехода. Используется для передачи управления между структурами одного и того же модуля. Когда компьютер находит его, то переходит к выполнению строки с номером , указанным после него. Этот оператор позволяет изменить естественный порядок выполнения действий и перейти к выполнению программы, начиная с некоторой указанной строки или помеченного оператора. Существует две его формы - GOTO n и GOTO метка. Где n – номер строки (число), метка – метка оператора (метка – это идентификатор, который ставится перед требуемым оператором и отделяется от него двоеточием). Современная технология программирования основана на принципе «программирования без goto», поэтому использование операторов безусловного перехода должно быть сведено к минимуму.

Оператор условного ветвления. Его основная форма записи.

IF УСЛОВИЕ THEN ЧТО ДЕЛАТЬ ELSE

Если условие выполнено, компьютер будет выполнять то, что указано после THEN. Условный оператор изменяет порядок выполнения действий в программе в зависимости от истинности или ложности некоторого условия. оператор ELSE - «иначе». Оператор IF проверяет условие, если логическое выражение принимает значение «истина», то выполняется оператор, следующий за THEN, затем управление передается следующей операторной строке. Если логическое выражение принимает значение «ложь», то выполняется оператор, следующий за оператором ELSE. Если в операторе IF опущена ветвь ELSE, то при значении логического выражения «ложь» управление передается следующей операторной строке. Оператор имеет следующий вид - IF условие THEN операторы 1 [ELSE операторы 2]. Условия – это выражения, которые могут быть оценены как истинные (не ноль) или ложные (ноль); блоки операторов – это один или несколько операторов в одной или нескольких строках; операторы – один или несколько операторов, разделённых двоеточием.

200 IF R$=''ДА '' THEN 500

300 IF R$=''НЕТ" THEN 600

400 GOTO 100

500 PRINT "Это положительно"

550 GOTO 100

600 PRINT "Почему отрицательно"

650 GOTO 100

Если ответили ДА, то управление переходит на строку с номером 500, затем 550 и затем 100. Если ответили НЕТ, управление передается на строку с номером 600, потом 650 и затем 100. После чего все повторяется сначала.

Примеры логических операторов.

IF УСЛОВИЕ OR УСЛОВИЕ THEN ДЕЙСТВИЕ - действие будет выполнено, если хотя бы одно из условий будет выполнено.


IF УСЛОВИЕ AND УСЛОВИЕ THEN ДЕЙСТВИЕ - действие будет выполнено, если оба условия будут выполнены одновременно.

IF NOT УСЛОВИЕ THEN ДЕЙСТВИЕ - действие будет выполнено, если условие не выполняется.

При программировании алгоритмов разветвляющейся структуры для организации нескольких разветвлений используют оператор выбора: SELECT CASE главное выражение

CASE тестовые условия 1

[блок операторов 1]

CASE тестовые условия 2

[блок операторов 2]]

Где "главное выражение"- любое числовое или символьное выражение, тестовые условия 1,2 - выражения для сравнения с главным выражением, блок n операторов - операторы в одной или нескольких строках. Ключевых слов CASE может быть много. CASE используется, когда сравниваются; значение главного выражения с тестовыми условиями. Если при сравнении в результате получается значение " истина ", то выполняется блок операторов следующий за словами END SELECT, если условия оказались ложными, то выполняется блок операторов после слов CASE ELSE.

Циклы и подпрограммы.

Циклы.

При программировании алгоритмов циклической структуры используются специальные операторы цикла. Операторы цикла бывают трех типов: бесконечные циклы, циклы, оканчивающиеся по условию, циклы со счетчиком.

Например; оператор цикла FOR - NEXT - применяется при программировании циклов с заранее известным числом повторений и относится к циклу со счетчиком. Такие циклы требуют специальной переменной - счетчика, значение которой определяет выполнение цикла. Этот оператор имеет следующий вид :

FOR ИМЯ СЧЕТЧИКА=НАЧАЛЬНОЕ ЗНАЧЕНИЕ

TO КОНЕЧНОЕ ЗНАЧЕНИЕ

STEP ШАГ

NEXT

NEXT – замыкающий оператор, он должен стоять в конце цикла.

STEP – шаг

TO означает – «до»

Пример:

FOR C=0 TO 43 STEP 2

PRINT “C=”,C;

NEXT C

Данная программа означает – «Выполнить цикл для значений счетчика С от 0 до конечного значения 43. Значение счетчика должно изменяться каждый раз на 2 .

Оператор цикла WHILE - WEND - организует цикл с неизвестным заранее числом повторений- бесконечные циклы. Для этих целей можно также использовать оператор цикла DO - LOOP, выход из этого цикла осуществляется через оператор GOTO или стандартным образом через EXIT DO.

Циклы, оканчивающиеся по условию содержат операции типа IF…THEN. Такие циклы удобны, если нужно вводить данные с клавиатуры или брать их из оператора GATA.

Подпрограммы.

Подпрограммы обычно содержат некоторую последовательность действий, которую нужно многократно выполнять в различных местах основной программы. Организовать доступ к подпрограммам можно разными способами: использовать операторы условного ветвления:


IF A<B THEN 50 ELSE 500

Можно использовать оператор множественного ветвления:

ON A GOTO 1000,2000

Этот оператор, в зависимости от А, активизирует подпрограммы начинающиеся со строк 1000 и 2000. В конце подпрограммы должна стоять команда, позволяющая вернуться снова к выполнению основной программы.

Вход в подпрограмму должен обязательно осуществляться по команде GOSUB – он говорит компьютеру : « Запомни номер текущей строки». Подпрограмма должна обязательно заканчиваться оператором RETURN, что означает «возврат».

Операторы спецификации.

Эти операторы имеют дело с числами. Например, преобразуют дроби, округляют числа с определенной точностью. Например; оператор PRINT всегда округляет числа с одинарной точностью до шести знаков. Не важно, где эти знаки стоят - до или после десятичной точки. При этом само число, хранящееся в памяти компьютера, содержит семь значащих цифр. Оператор заменяет длинные последовательности нулей сообщением о порядке числа. Это означает, что число нужно умножить на 10 в степени, равной порядку. Десятичные числа, больше 1000000 и меньше 0,01, по команде PRINT выводится на экран в следующем формате: Х.YYYYY E ZZ. В этом же формате выводятся отрицательные числа, меньше -999999 и больше -0,01. Старшая значащая цифра пишется слева от десятичной точки. Следующее за этим обозначение Е ZZ заменяет собой выражение 10 в степени ZZ. Если число находится в интервале от-1 до +1, то ZZ отрицательно. Иными словами, запись Х.YYYYY E ZZ означает Х.YYYYY*(10 в степени ZZ). Символ # , поставленный после имени переменной, переводит ее из одинарной точности в двойную., которая может содержать уже 17 значащих цифр. Оператор PRINT выводит на экран только 16 значащих цифр, 17ая используется для округления. Числа, имеющие от 8 до 17 значащих цифр, также рассматриваются как числа с двойной точностью.

Список математических функций в Бейсике:

ABS(X) – вычисление абсолютного значения Х

ATN(X) – вычисление арктангенса Х

CDBL(X) – преобразование Х в двойную точность

CINT(X) – преобразование Х в целое число

COS(X) – вычисление косинуса Х

CSNG(X) – преобразование Х в одинарную точность

EXP(X) – вычисление значения е в степени Х

FIX(X) – усечение дробной части

INT(X) – преобразование Х в целое число

LOG(X) – вычисление натурального логарифма

RANDOMIZE(X) – инициализация генератора случайных чисел

RND(X) – вычисление случайного числа от 0 до Х

SGN(X) – определение знака числа

SIN(X) – вычисление синуса Х

SOR(X) – вычисление квадратного корня из Х

TAN(X) – вычисление тангенса Х


Оператор работы с массивами.

Оператор описания массивов служит для резервирования места в памяти компьютера для элементов массивов. Является неисполняемым. Массивом называют упорядоченную последовательность величин, обо­значаемую одним именем. Именем массива может быть любое допусти­мое в Бейсике имя. Данные, являющиеся элементами массива, располагаются в последова­тельных ячейках памяти. Это означает, что массив занимает непрерывную область памяти.

DIM является сокращением английского слова DIMension , что в переводе означает "размер". Этот оператор служит для резервирования в памяти место под переменные с именем указанным после оператора DIM. Число таких переменных указывается в скобках. Массивы могут состоять из переменных любого типа. Они могут быть целыми, действительными, одинарной и двойной точности и строковыми. Все элементы массива должны быть одного типа. Выражение, стоящее в скобках и определяющее номер элемента, может быть числом, переменной ли арифметическим выражением. Общий вид оператора: DIM список массивов. Одномерный массив имеет вид DIM<имя>(d), а двумерный DIM<имя>(n,m). Например: DIM A(19), X(3,4), F$(9) . Оператор DIM резервирует место в памяти для одномерного массива А, состоящего из 20 элементов А(0), А(1), А(2), …, А(19), для двумерного массива Х, содержащего 4 строки и 5 столбцов (включая нулевые) Х(0,0), Х(0,1), …, Х(3,4), и для строкового массива F$, содержащего 10 элементов F$(0), F$(1), …, F$(9). Нумерация элементов массива ведется не с 1, а с 0. Тоже самое относится и к многомерным массивам. Любое измерение начинается с 0. Элементы массива располагаются в памяти машины следующим образом:

Целая переменная занимает в памяти 2 байта. Поэтому массив целых переменных равен произведению всех его членов на 2. DIM А%(3,7) - резервирует в памяти машины 4*8=32байт.

Переменная одинарной точности требует 4 байта. DIM А!(3,7) - 4*4*8=128байт.

Переменная с двойной точностью занимает 8байт. DIM А#(3,7) - 8*4*8=256байт.

Строковые переменные могут занимать различный объем памяти в зависимости от длины строки. Область памяти, отводимая под строковые переменные ограничена и задается оператором CLEAR M, где М - число байт , резервируемые под строковые переменные.

Для ввода и вывода элементов массива используются операторы ввода и вывода INPUT, READ, DATA, PRINT. Ввод и вывод массивов осуществляется с помощью оператора цикла FOR…NEXT.

Оператор очищения экрана.

Оператор CLS используется для очищения экрана. В результате его выполнения вся информация с экрана удаляется, экран окрашивается в фоновый цвет, а курсор возвращается в левый верхний угол экрана. Например:10 CLS.