procedure Pause
Здесь имя параметра msg назначено нами произвольно (это сокращение от слова message – «сообщение»). Параметр, объявленный в заголовке, называют формальным, он доступен только внутри процедуры, где можно обращаться с ним, как с обычной переменной. Например, вывести на экран, как в нашем случае.
procedure Pause
begin
Write(
end;
Что касается вызывающей программы, то имя формального параметра ей неизвестно.
Как действует такая процедура? В момент вызова в главной программе формальному параметру msg автоматически присваивается указанное в вызове фактическое значение, – оно и будет напечатано. Повторяю: присвоение формальному параметру фактического значения происходит автоматически, без участия программиста. Теперь наша программа станет такой.
{ P_19_2 – применение процедуры с параметром }
var Man : string;
{--- объявление процедуры с параметром msg ---}
procedure Pause (msg : string);
begin
Write(msg); Readln;
end;
begin {--- главная программа ---}
Writeln(’Как тебя зовут?’); Readln(Man);
Writeln(’Здравствуй, ’, Man);
Pause(’Нажмите Enter…’);
Pause(’Еще раз…’);
Pause(’И ещё разок!’);
end.
Здесь процедура Pause вызвана трижды с тремя разными фактическими параметрами, испытайте эту программу.
• С ростом размера программы стремительно растет её сложность. Для упрощения программ их разбивают на процедуры и функции.
• Чтобы создать процедуру или функцию, необходимо поместить в программе её описание, состоящее из заголовка и тела.
• Внутрь процедуры или функции можно передать один или несколько параметров. Для этого в заголовке процедуры объявляют формальные параметры, а при вызове указывают фактические.
• Тип фактического параметра должен совпадать с типом формального параметра, объявленного в процедуре.
А) Напишите ещё одну версию процедуры Pause, выводящую сообщение либо на русском, либо на английском языке. Параметр этой процедуры должен быть булевым и работать она должна так:
Pause(true); { печатается «Нажмите Enter…» }
Pause(false); { печатается «Press Enter…» }
Б) Напишите и испытайте процедуру (назовем её Line – «линия»), печатающую строку заданной длины, составленную из звездочек, например: