Операторы Ввода Read/ReadLn

 

Вспомним, что основное назначение ЭВМ - сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.

Общий вид:
Read(переменная, переменная...)
ReadLn(переменная, переменная...)

При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.

Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a,b) переменной а будет присвоено число 53, а переменной Х - буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.

Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу <Enter> результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.

Примечание. Когда Вы ставите задержку экрана, обратите внимание на предыдущий ввод. Если данные запрашивались процедурой Read задержки не будет.

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

Пример: Найти среднее значение трех чисел.

Примечание. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.

Program Srednee; Var First, Second, Third : integer; Sum : real; Begin ClrScr; Write (‘Введите первое число ‘); ReadLn(First); Write (‘Введите второе и третье числа через пробел ‘); ReadLn(Second, Third); Sum := First + Second + Third; Sum := Sum/3; Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2); ReadLn; End.

Внимательно рассмотрите каждую строчку. Имя программы Srednee отражает содержание задачи. Кстати, договоримся о том, чтобы имя программы и имя файла, который содержит эту программу, совпадали. Далее идет подключение модуля Crt. В разделе Var описаны First, Second, Third как переменные целого типа, а Sum - действительного типа. Раздел операторов начинается со стандартной процедуры очистки экрана ClrScr (Clear Screen), которая находится в модуле Crt. Далее оператором Write мы выводим на экран сообщение ‘Введите первое число ‘, получив которое пользователь должен ввести число.

Теперь компьютер должен считать введенные символы и занести их в переменную First, это произойдет при выполнении следующего оператора ReadLn(First). Затем с помощью оператора Write запрашиваем значения еще двух чисел и считываем их в переменные Second и Third. Затем вычисляем их сумму и присваиваем полученное число переменной Sum. Чтобы найти среднее, нужно теперь полученное число разделить на 3 и сохранить результат в какой-либо переменной.

Совсем не обязательно описывать еще одну переменную для сохранения результата. Можно, как в нашей программе, значение переменной Sum разделить на 3 и результат опять присвоить той же переменной Sum. Теперь можно вывести результат вычислений на экран с помощью процедуры Write. И, наконец, последняя процедура ReadLn задержит наш вывод на экране до нажатия на клавишу.

При значениях переменных 5, 7 и 12, на экране увидите следующее:

Среднее значение 5, 7 и 12 равно 8.00

Оператор условия if:

if a>b then Write(‘a больше b’) Else Write(‘а меньше b’);   if (если) – ключевое слово a>b – условие then (то) – ключевое слово Else (иначе) – ключевое слово Если переменная «а» больше переменной «b» мы увидим на экрана сообщение «а больше b», в ином случае «а меньше b»

 

Циклы

Цикл с предусловием while do:
a:=10; while a>b do begin i:= i + 1; b:=i; writeln(b) end; while do (делай… пока) – ключевые слова a>b – условие begin end – операторные скобки Цикл будет выполняться до того момента, пока условие не будет ложным(false). При запуске, этого цикла, мы увидим на экране числа от 1 до 10.
Цикл с пост условием repeat until:
a:=10; repeat begin i:= i + 1; b:=i; writeln(b) end; until a<=b repeat until (повторяй до тех пор пока)– ключевые слова a<=b – условие begin end – операторные скобки. Цикл будет выполняться до того момента, пока условие не будет ложным, даже если условие сразу ложное, цикл хотя бы один раз все равно исполниться.

 

Цикл со счетчиком for do:
a:=10; for i:=1 to a do begin b:=i; writeln(b) end; for to do – ключевые слова i:=1 – начальное значение a – конечное значение begin end операторные скобки Цикл будет выполняться до того момента, пока условие не будет ложным. На экране мы увидим числа от 1 до 10.