Учим Паскаль - Ввод и вывод
Функции ввода в Паскале
Сущность всех программ такова: получить данные, обработать их и выдать результат. В Паскале ввод осуществляется с помощью функций read() и readln(), а вывод - write() и writeln(). Read() и readln() используются таким способом: read(имя_переменной) и соответственно readln(имя_переменной). Разница между этими функциями лишь в том, что при использовании несколько раз read() вводимые данные можно разделять нажатием и кнопки Enter, и кнопки Tab и кнопки Space, а при вызове readln() данные разделяются только при нажатии Enter'а. Пример:
var
a,b,c:longint;
begin
read(a);//после ввода значения переменной a можно нажать и Enter, и Tab, и пробел
read(b);
read(c);
writeln(a,' ',b,' ',c);
a:=0;
b:=0;
c:=0;
readln(a);//переменной a присвоется введённое значение только после нажатия на Enter
readln(b);
readln(c);
writeln(a,' ',b,' ',c);
end.
Но нескольким переменным можно присваивать значения, введённые с клавиатуры можно и при помощи только одной функции readln(). Тогда это записывается вот так: readln(одна_переменная, другая_переменная, третья_переменная,..последняя_переменная). То есть во скобках readln мы должны перечислить имена переменных через запятую, которые должны принять значения. И вводить значения для каждой переменной можно через пробел:
var
a,b,c:integer;
begin
readln(a,b,c);
writeln('вы ввели: ',a,' ',b,' ',c);;
end.
Попробуем ввести такие значения: 2 4 -10.
Это всё, что надо знать о функциях read и readln().
Функции вывода в Паскале
Давайте теперь разберёмся, как использовать функции write() и writeln(). Эти функции могут принимать текст в одинарных кавычках и переменные. Если используются несколько сообщений или сообщения чередуются с переменными, то их надо разделять запятыми. Пример:
var
text:integer;
begin
text:=9;
writeln('Я учусь в ',text,' классе');//сообщения и переменная text разделяются запятыми
end.
Различие write и writeln() заключается в том, что после вывода сообщения на экран функция writeln() переводит курсор на другую строку.
begin
writeln('Привет!');// вывелось сообщения, и курсор переместился на новую строку
writeln('Как тебя зовут?');
writeln();//пустая writeln() означает просто переход на новую строку
write('Привет!');
write('Как тебя зовут?');
end.
Результат работы программы:
Давайте попрактикуемся и напишем небольшую программу.
Привет, как тебя зовут?
Давайте напишем программу, которая будет спрашивать пользователя о его имени и возрасте. Для этого нам надо будет использовать две переменные, назовём их name и age. Т.к. age будет хранить данные о возрасте, её тип будет integer, а name хранит имя пользователя в виде символов - значит, используем string.
var
age:integer;
name:string;
begin
writeln('Привет, как тебя зовут?');//просим ввести имя пользователя
readln(name);//записываем введеннё данные в переменную name
writeln('Хорошо, а сколько тебе лет?');//просим ввести возраст пользователя
readln(age);//записываем введеннё данные в переменную age
writeln('Отлично! Тебя зовут ',name,' и тебе ', age,' лет.');
end.
Как видите, всё работает.
Домашнее задание:
Напишите программу, которая принимала бы два числа и выводила их сумму и разность.