- •Оглавление
- •2.6. Модульное программирование
- •2.8. Численные методы анализа
- •2.1. Элементы языка
- •Мантисса e порядок
- •2.2. Операторы языка
- •Input [приглашение ;/,] список_вводимых_переменных
- •Операторы управления
- •If логическое_условие then оператор
- •If логическое_условие goto метка_оператора
- •If логическое_условие then оператор else оператор
- •I f логическое_условие then
- •2.3. Организация ветвлений
- •Input “Укажите х”, X
- •15 ? “Неверно”
- •2.4. Организация циклов
- •Программа к задаче 9
- •Input "Введите числа X и y", X, y
- •2.5. Работа с массивами
- •Input "Введите число вкладчиков и процент ",n,p
- •2.6. Модульное программирование
- •2.7. ОбРаботка Символьных данных
- •Пример. ?instr(”Саша”,”а”),instr(3,”Саша”,”а”) Результат: 2,4
- •2.8. Численные методы анализа
- •Input “Введите левую и правую границы a и в ”, a, b,
- •Input “Введите допустимую погрешность e ”, e
- •2.9. Выявление нажатия клавиш
- •2.10. Работа с графикой
- •2.11. Работа с дисковыми файлами
- •Тесты по курсу
- •Литература
Input [приглашение ;/,] список_вводимых_переменных
где приглашение – необязательная символьная константа, указывающая, что именно нужно вводить. Если после приглашения указана точка с запятой, после приглашения будет выведен вопросительный знак. Если запятая – нет.
Все переменные в списке переменных разделяются запятыми. Если список переменных содержит более одной переменной, вводимые значения следует разделять запятыми. Число вводимых данных по количеству и типу должно соответствовать списку переменных. По завершении ввода всех переменных для данного оператора INPUT следует нажать клавишу ENTER. Если ввод был осуществлен неверно, ПК выдаст сообщение “Redo from start” о необходимости его повторить.
Пример: INPUT “Введите переменные R и L”; r, l
Дословно оператор интерпретируется следующим образом: “Читать в память ЭВМ, введенные с клавиатуры, переменные R и L”. При этом на экране сначала будет выведено приглашение вида “Введите переменные R и L?”
Операторы управления
В программе принят естественный порядок выполнения операторов – в той последовательности, в которой они записаны. В случае, если этот порядок должен быть нарушен, используются операторы перехода.
ОПЕРАТОР БЕЗУСЛОВНОГО ПЕРЕХОДА. Оператор вида:
GOTO метка_оператора
вынуждает программу выполнять не следующий по порядку оператор, а оператор с указанной меткой. Например, оператор GOTO 25 читается как “Идти к оператору с меткой 25” и передает управление оператору с меткой 25.
Во многих версиях Бейсика все операторы в программе нумеруются. В QBasic, однако, сплошная нумерация не обязательна, хотя и возможна. Здесь для организации ссылок используются метки (в частном случае это могут быть и номера операторов), которые расставляются слева от тех операторов, на которые есть ссылки. Метками могут быть любые целые числа, идущие в произвольном порядке (не обязательно по возрастанию). Важно только, чтобы они не повторялись. Метками могут быть также буквы и слова, отделенные от оператора двоеточием, например возможна такая ссылка (здесь mn – метка)
GOTO mn
. . .
mn: PRINT x
Имя метки задается программистом произвольно. При грамотном программировании можно обойтись минимумом меток или не использовать их вовсе.
ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА
имеет две разновидности:
If логическое_условие then оператор
If логическое_условие goto метка_оператора
Здесь, если заданное условие истинно, выполняется указанный оператор (в первом случае), или производится переход к оператору с указанной меткой (во втором). Если условие ложно, выполняется оператор, следующий непосредственно за оператором IF. Например, оператор
IF a^2>=b–2 GOTO 40
нет
читается: “Если A2>=B–2 , то идти к оператору 40, если нет – к оператору, записанному ниже (непосредственно под оператором IF)”. А
IF x>z THEN ?Y читается:
нет
“Если X>Z, тогда напечатать Y, иначе идти к следующему оператору”.
После фразы THEN (тогда) может быть использовано ключевое слово ELSE (иначе):
If логическое_условие then оператор else оператор
Здесь, если условие истинно, выполняется оператор, следующий после слова THEN, иначе оператор, следующий после слова ELSE.
Например, оператор
IF a>b THEN ?”А больше В” ELSE ?”В больше А”
выводит сообщение о фактическом соотношении переменных А, В.
Другой пример. На практике иногда приходится выяснять, четное число (например Х) или нечетное. Это можно сделать с помощью следующего выражения
IF FIX(x/2)=x/2 THEN ”X – четное” ELSE ” X – нечетное ”
СТРУКТУРНЫЙ ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА
Здесь уместно напомнить, что всюду, где в синтаксисе команд встречается слово оператор, может быть записано несколько операторов, разделенных двоеточием. Однако этого может оказаться недостаточно – внутрь выражений THEN/ELSE может потребоваться включить много действий и даже целые процессы. В этом случае используется структурный оператор условного перехода. Такой оператор условного перехода позволяет формировать условия, влияющие на любое число строк программы.
Вид оператора: