Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие для учеников .doc
Скачиваний:
12
Добавлен:
18.12.2018
Размер:
2.27 Mб
Скачать

Begin {основная программа}

Writeln('Введите два числа –

основание и показатель степени');

Readln(a,n);

Degree(а,n,s); {обращение к процедуре}

Writeln('Результат ',s);

Readln;

End.

Процедура вызывается как оператор, состоящий из имени процедуры. В круглых скобках записывают­ся фактические параметры. В нашем примере фор­мальные параметры х, у и st принимают значения фактических параметров а, n и s соответственно. Пос­ле завершения работы процедуры переменные а и n сохранят те же значения, что и при вызове, а s полу­чит новое значение.

Пример 2

Даны две целые переменные. Поменять местами их значения.

Решение

Поменять местами значения двух переменных можно двумя способами − через промежуточную переменную или без нее. Напишем процедуру, соответствующую первому способу.

Procedure Swap (Var х, у:Integer);

Var z: Integer;

Begin

z:=x; x:=y; y:=z;

End;

Процедура называется Swap. У нее имеется два фор­мальных параметра, которые являются параметрами переменными, так как необходимо поменять значения переменных и запомнить изменения. Эти параметры яв­ляются результатами выполнения процедуры.

В процедуре описана переменная z, которая исполь­зуется как промежуточная.

Вся программа имеет вид:

Program Example_71;

Var a, b: Integer;

Procedure Swap (Var x, y: Integer);

Var z: Integer;

Begin

z:=x; x:=y; y:=z;

End;

Begin

Writeln('Введите значения

переменных а и b');

Readln(а, b);

Swap(a, b); {обращение к процедуре}

Writeln('а= ', а, ' b= ',b);

{вывод новых значений}

Readln;

End.

Пример 3

Вычислить суммарное количество секунд, соответствующее заданному числу часов, минут и секунд, и, наоборот, определить, сколько часов, минут и секунд содержится в заданном числе секунд.

Program Example_72;

uses crt;

Var choice: integer;

Procedure Menu;

Begin

Writeln('1. Преобразовать часы, минуты

и секунды в секунды');

Writeln('2. Преобразовать секунды в часы,

минуты и секунды');

Writeln('3. Завершить работу');

Writeln;

Writeln(' введите номер (1-3);

End;

Procedure second_to_time;

Var total_seconds: longint;

hours, minutes, seconds: longint;

temp: Longint;

begin

ClrScr;

Writeln('Введите суммарное количество

секунд:');

Readln(total_seconds);

Writeln;

temp:=total_seconds div 60;

seconds:=total_seconds mod 60;

hours:=temp div 60;

minutes:=temp mod 60;

Writeln;

Writeln (total_seconds, ' секунд - это');

Writeln;

Writeln(hours, 'часов,' ,minutes,

' минут, ',seconds, ' секунд');

Writeln;

Writeln('для продолжения работы

нажмите <Enter>');

Readln;

end;

Procedure time_to_seconds;

Var total_seconds: longint;

hours, minutes, seconds: longint;

Begin

ClrScr;

Writeln('Введите часы: ');

Readln(hours);

Writeln;

Writeln('Введите минуты');

Readln(minutes);

Writeln;

Writeln('Введите секунды:');

Readln(seconds);

Writeln;

total_seconds:=hours*3600+

+minutes*60+seconds;

Writeln;

Writeln(hours, ' часов,', minutes,

' минут, ', seconds, ' секунд – это ',

total_seconds, ' секунд');

Writeln;

Writeln('Для продолжения работы нажмите

<Enter>');

Readln;

End;

Begin

choice:=0

While choice<>3 do

Begin

ClrScr;

Menu;

readln(choice);

case choice of

1: time_to_seconds;

2: seconds_to_time;

End; {case}

End; {while}

End.