Общие сведения о языке программирования Qbasic
Общие сведения о языке программирования Qbasic
Общие сведения об языке программирования
Qbasic
Язык QBASIC (Beginner's All-purpose Instruction Code) разработан
Джоном Кимини и Томасом Куртцем в Дартмутском колледже, США, в середине
1960 г.
QBASIC занимает особое место среди всех языков высокого уровня. С
самого начала он задумывался как универсальный язык для начинающих, и
средства программирования на QBASIC до сих пор включаются в комплект
поставки ПК, - как обязательный элемент технологии.
Вот некоторый достоинства QBASIC (с точки зрения массового
пользователя):
простота синтаксиса;
простота организации данных и управляющих структур;
большое число встроенных команд и функций, позволяющих без труда выполнять
такие операции, как управление текстовым и графическим экраном, обработка
символьных строк и т.п.)
Особым достоинством QBASIC следует считать возможность работы в
режиме интерпретации, который резко упрощает процесс отладки программ:
исполнение почти каждой команды можно проверить сразу после написания(Shift
+F5).
АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ
Программа на языке Бейсик записывается в виде последовательности
символов, к числу которых относятся латинские и русские буквы, арабские
цифры, знаки препинания (, ; : " ' ?) , знаки операций (* / - + < > = =
<> .), специальные символы (% & ! # $ ).
Для обозначения исходных данных и результатов вычислений употребляются
переменные.
Последовательность латинских букв и цифр, начинающаяся с буквы,
называется идентификатором или именем переменной.
Числа в программе записываются в десятичной системе, вместо запятой в
десятичных дробях пишется точка: 0, - 17, 0.25, - 34.85.
Переменные и числа - это простейшие частные случаи выражения. Более
сложные выражения строятся из чисел и переменных с помощью знаков сложения,
вычитания, умножения, деления, возведения в степень. (, (, *, /, ^.
При вычислении значений выражений действуют обычные правила старшинства
операций:
1) возведение в степень - ^
1) умножение, деление *, /
3) сложение, вычитание +, -
Действия в арифметических выражениях выполняют слева направо в
зависимости от их приоритета. Для того, чтобы изменить естественный порядок
действий используются круглые скобки. Выражения в круглых скобках
выполняются в первую очередь.
В выражении могут быть использованы следующие встроенные функции:
ABS ( х) - модуль х ( х (
SQR ( х) - корень квадратный из х ( ((х ).
INT ( х ) - целая часть х
SIN ( х) - синус х (аргументом служит радианная мера угла)
COS ( х ) - косинус х
TAN ( x ) - тангенс х
ATN ( x ) - арктангенс х
LOG ( x ) - натуральный логарифм х
EXP ( x ) - экспонента х
SGN (x) - определение знака числа х
Например. Записать по правилам Бейсика математические выражения
1) X2 +2X-5.12 (X^2+2*X-5.12)/(X^2+12.51)
X2+12.51
2) COS(X) - SIN(X) (COS(X)-
SIN(X))/(ABS(COS(X)+SIN(X)))
| COS(X) + SIN(X)|
Упражнения
1. Какие из следующих последовательностей символов являются
идентификаторами, а какие нет.
а) Х б) Х1 в) Х( г) Х1Х2 д)
AB е) ABCD
ж) SIN з) SIN ( Х ) и) А-1 к) 2А л) MAX15
2. Записать по правилам Бейсика следующие выражения:
а) б) 1+ Х + Х2 в) 1+ (Х(+ (1+Х( г) А+В
2
C+D
д) A+B -1,7 е) ((1,2-9,8Х(((( ж)
( Х2 + Y2 +100
1-Y(54,264-Х)
(2Х+50,2)
E+F+0,5
3. Переписать следующие выражения, записанные по правилам Бейсика, в
традиционной математической форме:
а) А+B/ (C+D) - ( A+B) / C+D б) A*B/ (C+D) - (C - D)/
B*(A+B)
в) 1+SQR (COS (Х+Y)/ 2) г) 2.56 + АВS ( Х^2-Y^6)
д) INT (Х*5.234 - А*(Х+Y))
ОПЕРАТОРЫ ВВОДА-ВЫВОДА
I Оператор присваивания имеет общий вид:
( имя другой переменной
имя переменной=( арифметические выражения
( число
В результате выполнения оператора присваивания переменной,
стоящей слева от знака равенства присваивается значение другой переменной
или значение арифметического выражения или численное значение. Для того,
чтобы оператор присваивания мог быть выполним, необходимо, чтобы все
переменные в выражении имели некоторые значения , были заданы выше.
ПРИМЕРЫ 1. А=0 2. С=2 3. А=2 : В=3
В=С
С= (А+В)^ 2/5
УПРАЖНЕНИЯ
1. Какие из следующих последовательностей символов являются операторами
присваивания:
а) А=В б) А*Х+B=C в) Z=Z+1 д) Y=Y e) - Y=Y
2. Задать в виде оператора присваивания следующие действия:
а) переменной Z присвоить значение, равное полусумме значений переменных
Х и Y.
б) удвоить значение переменной А,
в) значение переменной Х увеличить на 0.1,
г) изменить знак значения переменной Y.
3. Задать с помощью операторов присваивания следующие действия:
а) переменной А присвоить значение разности, а переменной В-полусуммы
значений переменных Х и Y.
б) переменой А присвоить значение удвоенного произведения значений
переменных Х и Y, а переменной В значение 0.
4) Даны Х, Y получить (Х(-(Y ( X=2,57 Y=-5,379
1+(Х*Y(
Операторы ввода-вывода
Оператор ввода с клавиатуры:
INPUT ["текст";] X1, [X2, X3... XN]
[ ] - обозначают, что параметры, стоящие в них не обязательны;
X1, X2, ... XN - имена переменных или идентификаторы.
В результате выполнения этого оператора на экране появится текст, а
переменным X1, X2, ... XN будут заданы значения с клавиатуры.
Операторы блока данных
READ X1,X2,X3, ... XN где X1,X2,..XN - это имена переменных
DATA C1, C2, C3, ... CN C1, C2, ... CN - это значения
В результате выполнения этих операторов переменная X1 получит
значение C1, X2 примет значение C2...
Замечание! Оператор DATA может стоять в любом месте программы. Считывать
данные из хранилища DATA можно с помощью нескольких операторов READ.
Оператор RESTORE возвращает считывание данных на начало.
Оператор вывода на экран
PRINT S1[ ;S2; S3 ...]
где S1, S2 ... SN - списки
Списки это :
1) имя переменной, значение которой необходимо вывести на печать;
2) арифметическое выражение, значение которого необходимо вывести на
печать;
3) текст, заключенный в кавычки.
Разделителем между списками может быть:
1) , - списки отделяются друг от друга шагом табуляции, равным 8 пробелам;
2) ; - списки печатаются вплотную друг к другу.
Для управления выводом используют специальный оператор:
LOCATE X,Y
где X - номер строки экрана 1 больше |> |NOT |"не" (отрицание) |
|=больше или равно|>= | | |
|<> не равно |<> | | |
Таблица действия логических функций (таблица истинности), где 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 ) и (Y0 ) AND (Y=-2 ) AND (Y10 |( X10 ) |
Принят следующий приоритет логических и арифметических операций:
операции в скобках;
операция NOT ;
операции AND, /, * ;
операции OR, +, - ;
операции отношения.
Упражнения
1. Вычислить значение логического выражения
а) Х2 -У2 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 , X2 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 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.
Ограничение: из этой конструкции нельзя выйти "досрочно", т.е. до
завершения работы оператора.
Примеры решения задач.
CLS : I=1
WHILE I < 5
PRINT "I=" ; I;
I=I+1
WEND
На экране будет : I=1 I=2 I=3 I=4
Задачи по теме "Условный оператор" и "Оператор цикла"
1.Найти наибольшее из чисел (х+у)/2 и (х+у/2)для любых чисел х и у.
2. Вычислить значения функций для любых Х и Z
а)Y= (X-15)/(x-6) ; б) Y= 2X-5/(7Z-4X);
X2+5X-14, если X=-2
г) 5X2+4X-21 , если X < -7
Y=<
2X2-3X , если X>=-7
д) X+Z , если X5
Y= X*Z в остальных случаях
3. Заданы длины сторон треугольника - А, В, С, Определить, является ли
треугольник равнобедренным.
3. Составить программу, выводящую на экран первые десять натуральных чисел.
4. Составить программу, печатающую таблицу квадратов первых десяти целых
чисел в центре чистого экрана.
5. Вычислить значения функции
а) Y= 5*X2 -4X+11 на отрезке (-5,5) с шагом 1,5;
б) X2-2*X+3, если X=0
в) SIN(X), если X=3;
на отрезке (-6, 6) с шагом 0,5.
7. Выведите в столбик ряд натуральных чисел от 1 до 10.
7. Выведите на экран в столбик четные числа от 1 до 20.
8. Выведите на экран в строку нечетные числа от 15 до 20.
9. Найдите:
а) сумму целых чисел от 10 до 20;
б) произведение целых чисел от 20 до 20;
в) сумму нечетных чисел от 20 до 40;
г)произведение целых чисел от 20 до 40;
д) сумму четных чисел от 1 до 20;
е) произведение четных чисел от 1 до 20.
11. Выведите на экран 10 раз слово "PENTIUM" по диагонали.
11. Дна последовательность чисел, введенная с клавиатуры. Найдите сумму
отрицательных членов этой последовательности и произведение
положительных, количество отрицательных и положительных.
12. Составьте программу, выводящую на экран:
а) движение "*" по первой строке экрана;
б) движение "*" по последнему столбцу экрана;
в) движение "*" по диагонали.
14. Вычислите суммы, если N вводится с клавиатуры:
а) 1 1 1 б) 1 1
1
15 + 25 + ... + N5 ; (3)2 + (5)2 + ... +
(2N+1)2 ;
15. Вычислите произведения, если А и вводятся с клавиатуры:
а) 1 1 1 ;
Страницы: 1, 2
|