Учим Паскаль - Ввод и вывод

Функции ввода в Паскале


Сущность всех программ такова: получить данные, обработать их и выдать результат. В Паскале ввод осуществляется с помощью функций 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.


Как видите, всё работает.



Домашнее задание:

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



Ветвления →