Найти тему

Программирование на Бейсике. Оператор ввода

Трудно представить полезную программу, которая бы просто что-то выводила на экран, не запрашивая у пользователя никаких входных данных – потому что для изменения исходных данных приходилось бы постоянно переписывать программу.

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

Код программы был бы таким:

a = 5
s = a * a * a
PRINT “S =”; s

Для расчета объема второго куба пришлось бы пользователю лезть в код (а он вообще программист?) и менять значение переменной «а» на другое значение.

Так как программы в основном создаются для пользователей, а не для программистов, то необходимо предусмотреть возможность работы пользователей без необходимости лезть в код. Тем более, код готовой программы чаще всего не так просто открыть в редакторе. Для этого используют специальные средства. В общем, посыл такой: создавайте дружелюбные для пользователей программы.

Этот урок посвящен тому, как научить программу запрашивать исходные данные у пользователя.

Для ввода данных в Бейсике есть оператор INPUT. В процессе его срабатывания на экране появляется знак «?» с мигающим курсором, как бы намекающий, что нужно что-то ввести и нажать [Enter] для того, чтобы работа программы продолжилась.

Пример. Изменим код предыдущей программы в соответствии с новыми требованиями. Для этого вместо того, чтобы вручную присваивать переменной «а» какое-то определенное значение, мы запишем так:

INPUT a

В результате срабатывания этой строки кода на экране появится знак «?» с мигающим курсором. Мы введем нужное нам значение. Например, 10. Нажмем [Enter]. Таким образом переменной «а» присвоится значение «10». Выполнение программы продолжится: рассчитается переменная «s», потом ее значение выведется на экран:

-2

Далее жмем любую клавишу, чтобы черное окно исчезло. Для того, чтобы рассчитать объем куба с новым размером, достаточно запустить программу заново. В коде менять уже ничего не нужно. Задача выполнена.

А как сделать так, чтобы программа не закрывалась, и не нужно было ее постоянно запускать? Это тоже возможно, но научимся мы это реализовывать в уроке, посвященном циклам.

Теперь научимся запрашивать сразу несколько данных, а также выводить подсказки для пользователя.

К примеру, нам нужно рассчитать площадь прямоугольников с разными размерами. Вариант первый – использовать два оператора INPUT для ввода двух сторон:

INPUT a
INPUT b

В результате на экран выведется сначала один знак «?», а после ввода первого значения выведется второй знак «?». В принципе, это нормально.

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

INPUT a, b

Давайте попробуем:

-3

Жмем [Enter], получаем:

-4

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

Возвращаемся к интерфейсу нашей программы (интерфейс – это то, что видит пользователь). Вот откуда он мог знать, что нужно вводить несколько значений через запятую, да еще и без пробелов? Тут однозначно нужна подсказка для пользователя.

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

-5

То есть при срабатывании INPUT с подсказкой, отделенной от переменных запятой (см. код), знак «?» не появляется. А вот если мы вместо запятой поставим точку с запятой:

-6

то знак «?» появится.

Разные варианты (знак «?» и без него) можно использовать в будущем. Логично, что если подсказка является вопросом, то нужно ставить точку с запятой, а если нет – то запятую.

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

На этом урок можно закончить. Для закрепления темы рекомендуем выполнить несколько заданий.

Комменты приветствуются, за палец вверх - отдельное спасибо. Удачи!

------------------------------

Список уроков Программирование на Бейсике для начинающих

Следующий урок Основные математические функции

Предыдущий урок Переменные

------------------------------

Задания

1. Написать программу, которая будет здороваться

Необходимо написать программу, которая будет запрашивать имя у пользователя, а потом здороваться с ним по имени. Результат должен выглядеть так:

-7

2. Переделать задание из прошлого урока

Необходимо запросить у пользователя значения прихода и расхода за три дня, а потом вывести результат прибыли в табличном виде, как и раньше. Должно получиться так:

-8

Наука
7 млн интересуются