Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параметры




Подпрограмма-процедура

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

Описание процедуры начинается с заголовка:

procedure имя [(список формальных параметров)];

Далее могут идти такие же разделы, что и в основной программе.

Вызов процедуры осуществляется с помощью оператора:

имя_процедуры [(список фактических параметров)];

Пример использования процедур без параметров:

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

Код программы:

Program Pp;

Uses crt;

Const n=6;

Type

TMas=array[1..n] of real;

Var

a:TMas;

i:byte;

Procedure Menu;

begin

clrscr;

writeln('Выберите пункт меню');

writeln('1. Ввод массива');

writeln('2. Вычисление суммы');

writeln('3. Вывод массива');

writeln('4. Выход');

end;

Procedure In_Mas;

begin

for i:=1 to n do

begin

write('Введите а[', i, ']=');

readln(a[i])

end;

end;

Procedure Out_Mas;

begin

for i:=1 to n do

begin

writeln('а[', i, ']=', a[i]:6:3);

end;

end;

Procedure Sum_Mas;

var

s:real;

begin

s:=0;

for i:=1 to n do

s:=s+a[i];

writeln('s=', s:6:3);

end;

begin

repeat

Menu;

case readkey of

'1':In_Mas;

'2':Sum_Mas;

'3':Out_Mas;

'4':Exit

end;

writeln('Нажмите любую клавишу...');

readkey;

until False;

end.

Результаты работы программы:

Выберите пункт меню

1. Ввод массива

2. Вычисление суммы

3. Вывод массива

4. Выход

 

Выберите пункт меню

1. Ввод массива

2. Вычисление суммы

3. Вывод массива

4. Выход

Введите а[1]=2

Введите а[2]=46.7

Введите а[3]=4.2

Введите а[4]=8.4

Введите а[5]=5.7

Введите а[6]=2.8

Нажмите любую клавишу...

 

Выберите пункт меню

1. Ввод массива

2. Вычисление суммы

3. Вывод массива

4. Выход

s=69.800

Нажмите любую клавишу...

 

Выберите пункт меню

1. Ввод массива

2. Вычисление суммы

3. Вывод массива

4. Выход

а[1]= 2.000

а[2]=46.700

а[3]= 4.200

а[4]= 8.400

а[5]= 5.700

а[6]= 2.800

Нажмите любую клавишу...

Обмен информацией между основной программой и подпрограммой осуществляется с помощью параметров.

Фактические параметры – это реальные величины, над которыми должны быть выполнены действия, описанные в подпрограмме. Фактические параметры перечисляются через «,».

Формальные параметры – это переменные, которые используются в подпрограмме для описания действий над данными.

Формальные параметры можно разбить на категории:

- параметры-значения;

- параметры-переменные;

- параметры-процедуры;

- параметры-функции.

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

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

Формальные параметры перечисляются через «;» и задаются в виде:

<имя параметра>:<тип> для параметров-значений;

var <имя параметра>:<тип> для параметров-переменных.

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

Формальные и фактические параметры должны соответствовать:

- по количеству;

- по порядку следования;

- по типу.

Пример использования процедур с параметрами:

Для массивов А(5) и В(6) найти разность между суммами элементов:

Сумму найти в подпрограмме-процедуре.

Код программы:

Program Pp;

Uses crt;

Const n=6;

Type

TMas=array[1..n] of real;

Var

a, b:TMas;

i:byte;

Sa, Sb, y:real;

Procedure Sum_Mas(c:Tmas; k:byte; var s:real);

begin

s:=0;

for i:=1 to k do

s:=s+c[i];

end;

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

clrscr;

for i:=1 to 5 do

begin

write('Введите а[', i, ']=');

readln(a[i])

end;

for i:=1 to 6 do

begin

write('Введите b[', i, ']=');

readln(b[i])

end;

Sum_Mas(a, 5, Sa);

Sum_Mas(b, 6, Sb);

y:=Sa-Sb;

writeln('Результат=', y:6:3);

readkey

end.

Результаты работы программы:

Введите а[1]=4.5

Введите а[2]=2.7

Введите а[3]=4.6

Введите а[4]=1.2

Введите а[5]=-7.5

Введите b[1]=3.6

Введите b[2]=8.4

Введите b[3]=-5.1

Введите b[4]=-5.8

Введите b[5]=3.5

Введите b[6]=9.4

Результат=-8.500




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 334; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.