Информатика |
Глава 9. Основные приемы программирования | назад оглавление вперед |
9.3. Составление программ с использованием ввода данных
Программы, которые мы рассматривали до сих пор, не требуют никакой дополнительной информации для того, чтобы машина могла их выполнить. Каждая из них решает одну конкретную задачу, и при ее выполнении всегда получается один и тот же результат.
Обычно программа составляется в общем виде так, чтобы без каких-либо изменений она могла использоваться для решения различных задач одного класса (вспомним свойство алгоритма—массовость). Так как задачи одного класса различаются исходными данными, а решаются с использованием одной и той же программы, то, следовательно, эти исходные данные в самой программе фигурировать не должны. Но при выполнении программа должна обрабатывать конкретный набор исходных данных.
Пусть, например, мы хотим составить программу для получения таблицы умножения для любого натурального числа. Вместо конкретного числа в программе используем переменную N. Тогда в предыдущей программе оператор 40 нужно заменить на
40 PRINT Р; "*"; N; "="; Р*N
и оператор 60 на
60 IF Р <= N GO TO 40
(Оператор 10 также требует изменения, но на выполнение программы он не влияет.)
Перед началом вычислений в переменные (точнее, в ячейки памяти), предусмотренные в программе для исходных данных, должны быть введены значения. Для выполнения этой операции предназначен оператор ввода INPUT. Так, оператор
INPUT N
обеспечит при выполнении программы ввод значения, набираемого на клавиатуре, в переменную N. Этот оператор должен быть выполнен до первого использования переменной N в программе.
При выполнении оператора INPUT на экране появляется знак ?, означающий, что машина ждет ввода данных. Желательно, чтобы при этом на экране появлялось также точное указание о том, какие данные должны быть введены в ЭВМ.
Вывести сообщение на экран можно при помощи оператора PRINT. Например, при выполнении операторов
10 PRINT
"ВВЕДИТЕ ЧИСЛО , ДЛЯ КОТОРОГО"
11 PRINT"ХОТИТЕ
ПОЛУЧИТЬ ТАБЛИЦУ УМНОЖЕНИЯ"
20
INPUT N
на экране появится:
ВВЕДИТЕ
ЧИСЛО, ДЛЯ КОТОРОГО
ХОТИТЕ ПОЛУЧИТЬ ТАБЛИЦУ
УМНОЖЕНИЯ
?
Далее нужно набрать это число на клавиатуре и нажать Enter.
Программа 9.1 составлена для получения таблицы умножения для любого числа.
Программа 9.1
10 PRINT
“ВВЕДИТЕ ЧИСЛО , ДЛЯ КОТОРОГО”
11 PRINT “ХОТИТЕ
ПОЛУЧИТЬ ТАБЛИЦУ УМНОЖЕНИЯ”
20 INPUT N
30 P=1
40 PRINT P;
” * ”; N; “=”; P*N
50 P=P+1
60 IF P<=N
GO TO 40
70
STOP
В Basic, помимо числовых переменных, с которыми мы имели дело до сих пор, могут использоваться и символьные переменные, значениями которых являются последовательности символов. Для обозначения символьной переменной к ее имени приписывается знак $. Значения символьных переменных можно задавать так же, как значения числовых, в частности, использовать оператор ввода INPUT.
Возможность ввода данных (строк символов) в символьные переменные в Basic делает возможным разработку программ, обладающих диалоговыми свойствами, так что работа ЭВМ по программе воспринимается как реакция или даже инициатива вполне сознательного партнера.
Составим, например, программу, которая спрашивает имя и затем здоровается с его обладателем. При выполнении программы на экране должен появиться вопрос: “Как Вас зовут?”. Имя, набираемое далее на клавиатуре, машина должна запомнить в какой-либо символьной переменной (например, N$) и далее значение этой переменной выводить на экран со словами приветствия. Далее приводится программа 9.2 и результат ее выполнения.
Программа 9.2
10 PRINT
"КАК ВАС ЗОВУТ ?"
20 INPUT N
$
30 PRINT "ПРИВЕТ
,";N $ ; “! “
40 STOP
RUNNH
КАК ВАС ЗОВУТ
?
? ВАСЯ
ПРИВЕТ,
ВАСЯ !