КАТЕГОРИИ: Архитектура-(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; Просмотров: 363; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |