Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pesni_o_Paskale_2012-11-23.pdf
Скачиваний:
35
Добавлен:
19.03.2016
Размер:
5.16 Mб
Скачать

Глава 8

Постоянные и переменные

типе переменной. По нему компилятор определяет и размер переменной, и набор допустимых операций с нею.

Паскаль содержит ряд встроенных типов данных, со временем вы познакомитесь с ними, но сейчас нам позарез нужен только один из них. Это тип STRING, что в переводе значит «строка» — это ключевое слово языка. Переменная этого типа может хранить в себе строчку какого-нибудь текста.

Объявим переменную для хранения в ней имени пользователя. Как назовем её? Да так и назовем — Name, что переводится как «имя». Итак, объявление переменной Name строкового типа STRING выглядит так:

var Name : string;

Напомню, что имя и тип переменной разделяются двоеточием, а завершается оператор точкой с запятой.

Ввод и вывод данных

Теперь, когда мы объявили переменную, попробуем ввести в неё данные, а затем вывести данные на экран.

Ввод данных в переменную выполняется знакомой вам процедурой Readln. Мы уже пользовались ею, чтобы заставить компьютер ждать нажатия Enter. Но процедура придумана в основном не для этого, а для ввода разнообразных данных, в том числе строк. С этой целью процедуре передают параметры — переменные, куда вводятся данные. В нашем случае оператор ввода имени будет таким:

Readln(Name);

Выполняя этот оператор, компьютер тоже остановится в ожидании нажатия Enter. Но символы, которые пользователь напечатает до этого нажатия, попадут в переменную Name и сохранятся там. Так в строковую переменную можно ввести слово, и даже целое предложение, завершив ввод нажатием Enter.

А как напечатать содержимое переменной? Справится ли с этим процедура Writeln? Без сомнения! Ведь нечто подобное мы уже проделывали с константой. Вот оператор печати для этого случая:

Writeln(Name);

Все хорошо, да вот незадача! Этот оператор напечатает имя в отдельной строке, а нам хочется объединить его со словом «Привет» в одной строчке. Как это сделать? Очень просто! Ведь в процедуре печати можно указать несколько параметров, разделяя их запятыми, и тогда все они напечатаются в одной строке. В нашем случае через запятую укажем два параметра:

60

Глава 8

Постоянные и переменные

Writeln(’Здравствуй, ’, Name);

Здесь первый параметр — строковая константа «Здравствуй, » (с пробелом в конце), а второй — переменная Name.

Теперь все готово для рождения новой программы. Создайте пустой файл с именем «P_08_1.PAS», а затем введите в него плод наших размышлений.

var Name : string; begin

Writeln(’Как тебя зовут?’); Readln(Name); Writeln(’Здравствуй, ’, Name); Writeln(’Нажми Enter’); Readln; end.

Откомпилируйте программу и проверьте, работает ли она.

Итоги

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

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

Каждая переменная относится к некоторому типу данных, который определяет и объем занимаемой ею памяти и правила действия с переменной.

Ввод данных в переменные выполняется оператором Readln, а вывод – оператором Writeln.

Процедура Writeln может напечатать в одной строке несколько параметров – констант и переменных, разделенных запятыми.

Имена констант и переменных – это идентификаторы. Программист составляет их по своему усмотрению из латинских букв, цифр и знака подчеркивания.

61

Глава 8

Постоянные и переменные

А слабо?

А) Что напечатает следующая программа, если ваша любимая команда — «Спартак»?

const

Champ = ’ – чемпион!';

var

Team : string;

begin

Writeln(’Ваша любимая команда?’);

Readln(Team);

Writeln(Team, Champ);

Readln

end.

Б) Найдите (и исправьте, если можно) ошибки в следующих программах.

begin

const Pele = ’Эдсон Арантес ду Насименту’; Writeln(’Лучший футболист мира - ’, Pele); Readln

end.

begin

Writeln(’Как тебя зовут?’); var Name : string; Readln(Name); Writeln(’Здравствуй, ’, Name); Writeln(’Нажми Enter’); Readln; end.

const Pele = ’Эдсон Арантес ду Насименту’; begin

Writeln(’Лучший футболист мира’);

Readln(Pele);

Writeln(Pele);

Readln

end.

62