Операторы ввода read/readln
Вспомним, что основное назначение ЭВМ — сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.
Общий вид:
Read(переменная, переменная…)
ReadLn(переменная, переменная…)
При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.
Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a,b) переменной а будет присвоено число 53, а переменной Х — буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.
Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишурезультат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.
Примечание. Когда Вы ставите задержку экрана, обратите внимание на предыдущий ввод. Если данные запрашивались процедурой Read задержки не будет.
Решим задачу, в которой рассмотрим все возможные употребления этих процедур.
Пример: Найти среднее значение трех чисел.
Примечание. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.
Program Srednee;VarFirst, Second, Third : integer;Sum : real;BeginClrScr;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 ab thenWrite(‘a больше b’)ElseWrite(‘а меньше b’); | if (если) – ключевое словоab – условиеthen (то) – ключевое слово Else (иначе) – ключевое словоЕсли переменная «а» больше переменной «b» мыувидим на экрана сообщение «а больше b», в ином случае «а меньше b» |
Циклы
Цикл с предусловием while do: | |
a:=10;while ab dobegini:= i + 1;b:=i;writeln(b)end; | while do (делай… пока) – ключевые словаab – условиеbegin end – операторные скобкиЦикл будет выполняться до того момента, пока условиене будет ложным(false). При запуске, этого цикла, мы увидим на экране числа от 1 до 10. |
Цикл с пост условием repeat until: | |
a:=10;repeatbegini:= i + 1;b:=i;writeln(b)end;until a | repeat until (повторяй до тех пор пока)– ключевые словаa |
Цикл со счетчиком for do: | |
a:=10;for i:=1 to a dobeginb:=i;writeln(b)end; | for to do –ключевые словаi:=1 – начальное значениеa – конечное значениеbegin end операторные скобкиЦикл будет выполняться до того момента, покаусловие не будет ложным. На экране мы увидим числа от 1 до 10. |
Статьи к прочтению:
Урок 8. Операторы ввода readln/read и диалоговые программы. Программирование на Pascal / Паскаль
Похожие статьи:
-
Операторы ввода/вывода в pascal
Начнем знакомство с оператора вывода. Данный оператор очень часто встречается в паскалевских программах. Оператор вывода существует в двух вариантах:…
-
Оператор вывода информации на экран
write(a); — стандартная процедура вывода значения переменной «а» или результата вычисления арифметического выражения на экран writeln(а); — вывод с…