Общие сведения о языке программирования Qbasic
о |<> | | |
Таблица действия логических функций (таблица истинности), где a и b
-логические выражения.
|A |B |NOT a |NOT b |a AND b |a OR b |
|TRUE |TRUE |FALSE |FALSE |TRUE |TRUE |
|TRUE |FALSE |FALSE |TRUE |FALSE |TRUE |
|FALSE |TRUE |TRUE |FALSE |FALSE |TRUE |
|FALSE |FALSE |TRUE |TRUE |FALSE |FALSE |
Пример записи логического выражения: a + b > c AND d <> 8 .
Логическая операция NOT (отрицание) выполняется над простым
логическим выражением: NOT ( a> b )
Логическое выражение принимает одно из двух значений: TRUE (истина) и
FALSE (ложь). Эти выражения применяются в операторах ветвления и цикла.
Существующий приоритет выполнения операций поддерживается и здесь:
сначала выполняются операции в скобках, затем логическое умножение,
логическое сложение
Примеры записей логических выражений:
|математическая запись |запись на языке Бейсик |
|( X>0 ) и (Y<0 ) |( X>0 ) AND (Y<0 ) |
|-2<= X <=2 |(X>=-2 ) AND (Y<= 2 ) |
| X<0 и X>10 |( X<0 ) OR (X>10 ) |
Принят следующий приоритет логических и арифметических операций:
операции в скобках;
операция NOT ;
операции AND, /, * ;
операции OR, +, - ;
операции отношения.
Упражнения
1. Вычислить значение логического выражения
а) Х2 -У2 <=12 при Х=0 и У=-1 б) NOT ((X*Y) OR (Y >X) при X=4,
Y=1
2. Написать логические выражения, которые имеют значение истинна лишь при
выполнении указанных условий:
а) X>0 и Y>0 Y не является MAX (X, Y,
Z)
б) неверно, что X>0 X, Y, Z равны между собой
в) 2< X < 20 точка с координатами X,
Y принадлежит 1-
ой четверти
Операторы перехода разделяются на две группы:
операторы безусловного перехода и операторы условного перехода.
Оператор безусловного перехода.
Он служит для перехода из одной строки программы к другой, помеченной
номером или меткой.
Общий вид оператора: GOTO N
где N - номер строки или метки оператора, на который происходит переход в
программе.
Примеры:
1. X=3 2. GOTO W
GOTO 7 . . .
Y=2*X W PRINT "решение
получено"
7 Z=5*X
Операторы условного перехода
Существуют две формы ветвления: полная и неполная.
Соответственно существуют и два вида операторов: полной и неполной
альтернативы.
I. Полная альтернатива (предусмотрены команды в ветви "ДА" и в ветви
"НЕТ").
1) Линейная форма записи (оператор записывается в одной строке)
Условие выполняется "ДА"
IF условие THEN блок операторов 1 ELSE блок операторов 2
Условие не выполняется "НЕТ"
Работа оператора: в зависимости от того выполняется или не выполняется
условие (условие - логическое выражение, которое может содержать знаки
сравнения и логические операции). Если условие истинно, то выполняется
блок операторов 1, если условие ложно, то выполняется блок операторов 2.
ПРИМЕР: IF A=1 THEN PRINT "ДА" ELSE PRINT "НЕТ"
PRINT "КОНЕЦ"
Здесь операторы работают следующим образом:
если условие А=1 "ИСТИННО", то выполняются операторы PRINT "ДА" и PRINT
"КОНЕЦ";
если условие А=1 "ЛОЖНО", то выполняются операторы PRINT"НЕТ" и PRINT
"КОНЕЦ".
2) Блочная форма записи:
IF условие THEN ПРИМЕР:
блок операторов CLS: INPUT a
ветви "ДА" IF a=1 THEN
ELSE PRINT
"работает ветвь ДА "
блок операторов PRINT a
ветви "НЕТ" ELSE
END IF PRINT "работает
ветвь НЕТ"
PRINT a
END IF
II. Условный оператор неполной альтернативы:
IF условие THEN блок операторов
Примеры решения задач.
Пример 1.Определить наибольшее из двух чисел Х и У, введенных клавиатуры.
CLS: INPUT " ";X, Y
IF X > Y THEN
PRINT "НАИБОЛЬШЕЕ ЧИСЛО X="; X
ELSE
PRINT "НАИБОЛЬШЕЕ ЧИСЛОY=";Y
END IF
END
Пример 2. Вычислите Функцию для любого значения Х.
X2 +4X-7 , X<=-2 CLS: INPUT "введите X";X
Y=< IF X<=-2 THEN
X2-3X+12 , X>2 Y=X^2+4*X-7
ELSE
Y=X^2-3*X+12
END IF
PRINT "ФУНКЦИЯ =";У;"
при Х=";Х
END
Пример 3. Вычислите функцию У=3Х2 -5Х+12 на отрезке (-3,3) с шагом 1.
CLS: PRINT "Y", "X"
X=-3
4 Y=3*X^2-5*X+12
PRINT Y,X
X=X+1
IF X<3 THEN GOTO 4
END
Пример 4. Вычислите сумму целых чисел от 10 до 20
S =10+11+12+...+20
CLS: S=0: X=10
5 S=S+X
X=X+1
IF X<=20 THEN GOTO 5
PRINT "сумма = ";S
END
Пример 5. Вычислите произведение нечетных чисел от 15 до 30
Р= 15*17*19*...*29
CLS:P=1:X=15
7 P=P*X
X=X+2
IF X<30 THEN GOTO 7
PRINT "произведение = ";P
END
Циклы.
В языке QBASIC предусмотрено два основных способа организации циклов:
11. повторение блока команд заданное количество (число) раз (цикл со
счетчиком);
12. циклическое повторение блока команд, пока выполняется (или не
выполняется) некоторое условие.
Цикл со счетчиком (FOR... NEXT) ДЛЯ... СЛЕДУЮЩИЙ
Оператор цикла реализует алгоритмическую конструкцию, в которой
определенные действия повторяются многократно.
Общий вид оператора цикла со счетчиком:
FOR K=K1 TO K2 STEP K3 - заголовок цикла
- тело цикла -
NEXT K - конец цикла
Здесь FOR - имя оператора (переводится "для"); К - переменная
(обычно целого типа), называемая переменная управления циклом ; К1, К2, К3
- начальное, конечное значения и шаг изменения величины К соответственно,
могут быть представлены любыми арифметическими выражениями; ТО, SТЕР -
переводится - "до", "шаг"; тело цикла - любые операторы языка Бейсик;
NEXT - оператор (переводится "следующий").
Совместная работа операторов и определяется схемой:
где
K < K2, если K3 > 0
< условие > = <
K > K2 ,если K3 < 0
Иначе говоря, операторы FOR и NEXT обеспечивают изменение значения К от К1
до К2 с шагом К3 и выполнение оператора (операторов), заключенных между FOR
и NEXT, при каждом значении К.
Ограничения:
1. Изменять значение величин К1, К2, К3 в процессе выполнения операторов
FOR и NEXT не рекомендуется.
2. Вход в цикл, минуя оператор FOR, в Бейсике запрещен.
Примеры решения задач
Пример 1. Выведите на экран в столбик целые числа от 1 до 10.
CLS
FOR J=1 TO 10 STEP 1
PRINT J
NEXT J
END
Пример 2. Вычислите сумму целых чисел от 1 до 10
CLS: S=0
FOR I=1 TO 10 STEP 1
S=S+I
NEXT I
PRINT " "; S
END
Пример 3. Вычислите значение функции y=2X2-3X+5 на отрезке (-3, 3) с
шагом 1,5
CLS : PRINT "Y"; "X"
FOR X=-3 TO 3 STEP 1.5
Y=2*X^2-3*X+5
PRINT Y,X
NEXT X
END
Пример 4. Вычислите сумму S= 2+4+ ...+2 N , если N вводится с клавиатуры
CLS : S=0
INPUT «введите « N»; N
FOR I = 1 TO N
S=S + 2 *N
NEXT I
PRINT «сумма = «; S
END
Пример 5 Выведите слово «IBM» 10 раз, чтобы получилась диагональ
CLS
FOR K =5 TO 15
LOCATE K, K
PRINT « IBM»
NEXT K
END
Цикл WHILE... WEND (ПОКА... КОНЕЦ)
Конструкция WHILE... WEND (ПОКА... КОНЕЦ) позволяет выполнять блок
команд до тех пор, пока значение выражения, заданного в WHILE - "Истина".
Общий вид оператора
WHILE логическое выражение
-- блок команд –
WEND
Работа операторов может определяться следующей схемой:
НЕТ
ДА
После завершения цикла управление передается команде, следующей за
WEND.
Если при проверке условия окажется, что значение логического
выражения - "Ложь", блок команд не будет выполнен ни разу.
С помощью WHILE... WEND можно организовать вложенные циклы - каждый
со своими WHILE... WEND.
Ограничение: из этой конструкции нельзя выйти "досрочно", т.е. до
завершения работы оператора.
Примеры решения задач.
| | скачать работу |
Общие сведения о языке программирования Qbasic |