Занятие 7 «Ввод данных и переменные»

Любая полезная для пользователя программа должна состоять из 3-х условных блоков: ввода данных (иначе нечего будет обрабатывать), обработки введенных данных (иначе с информационной точки зрения нет смысла осуществлять ввод и вывод) и вывода результирующих данных.

Кроме обработки данных может быть еще задача передачи данных в пространстве или во времени (сохранение данных).

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

Рассмотрим на примере, как можно реализовать возможность ввода пользователем данных в программу, не изменяя ее саму (см. рис.7.1).

Рис.7.1 Сложение двух целых чисел, введенных пользователем

В строке 6 объявляются две переменные – «a» и «b» (куда-то ведь нужно загружать данные). Слово «int» перед названиями переменных (а их названия могут состоять и не из одной буквы) обозначает, что переменные «умеют» хранить только целые числа.

В строке 7 осуществляется непосредственный ввод данных из стандартного потока, которым по умолчанию считается клавиатура, а на сайте ideone.com это реализовано через ввод данных в поле с названием «input» (см. в нижней части рис.7.1).

После запуска программы в поле «Output» будет наблюдаться ответ (для 1 и 2 ответом будет число 3). Не меняя кода программы, вводите в поле «input» другие целочисленные величины (в том числе отрицательные) и после запуска программы наблюдайте ответ в поле «Output».

Измените программу так, чтобы вместо суммы она вычисляла разницу, произведение и отношение (деление) чисел друг на друга. Обратите внимание, что деление будет целочисленным.

Причины целочисленного деления указаны в занятии 5, повторим их здесь: «Дело в том, что все аргументы вычисления являются целыми числами и компьютер выдает в качестве ответа также целое число, отбрасывая дробную часть (так и было задумано разработчиками языка программирования, это не ошибка)».

Для того чтобы программа могла оперировать вещественными величинами и пользователь мог вводить в поле «input» такие величины, как, например, 3.141592, а программа их правильно обрабатывала, достаточно вместо слова «int» перед названиями переменных указать слово «double» (см. рис.7.2).

Рис.7.2 Применение вещественных переменных при вводе чисел

Как видно из примеров на рис.7.1 и рис.7.2, код программы почти не изменился, за исключением подмены слова «int» на слово «double» в 6 строчке кода, ну и в примере на рис.7.2 в качестве задачи на вычисление дана операция деления.

Введите в поле «input» величины 1 и 2, запустите программу и в качестве ответа получите 0.5, введите 3.141592 и 2.71828, запустите программу и получите в качестве ответа 1.15573.

Усложним задачу: приведем в качестве примера решение задачи нахождения дискриминанта квадратного трехчлена ax2+bx+c=0.

Пусть в качестве входных данных поступают последовательно три числа a, b, c отделенные друг от друга пробелом. Тогда код программы решающий нашу поставленную задачу может быть реализован, например, как на рис.7.3.

 

Рис.7.3 Вычисление дискриминанта квадратного трехчлена

Например, при вводе в поле «input» следующих чисел: 4 -5 1, в качестве ответа пользователь должен увидеть «D = 9».

Приведем еще один пример ввода данных: в этот раз речь будет идти про строки, для этого необходимо будет подключить библиотеку «string». Пример будет очень простой и скорее нацелен на ознакомление с такой возможностью, нежели на то, чтобы дать примеры практического использования (см. рис.7.4).

Рис.7.4 Ввод 2-х строковых значений и вывод их в обратном порядке

Для приведенной на рис.7.4 программы в качестве входных данных была следующая строка «Anton Sergey».

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

Спасибо за внимание! Следите за изменениями на нашем ресурсе.

<< Назад   Далее >>