русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Имя1, имя2, ... : тип 1; имя3, имя4, ... : тип 2; ...


Дата добавления: 2014-11-27; просмотров: 567; Нарушение авторских прав


Для каждого входного формального параметра резервируется память ЭВМ, в которую при вызове процедуры копируется значение соответствующего фактического параметра, после чего всякая связь между фактическими и формальными параметрами обрывается. Если фактическим параметром является выражение, то оно предварительно вычисляется.

Далее эти копии обрабатываются процедурой, причем фактические параметры будут существовать только в течение времени ее выполнения.

Пример 5.2.Используя процедуру, вычислить площадь треугольника со сторонами a, b и c. Для решения задачи воспользоваться формулой Герона s = (p×(p – a)×(p – b)×(p – c))1/2, где p – полупериметр треугольника.

Var

a, b, c : real ;

procedure treug (aa, bb, cc : real );

var p, s : real;

Begin

p := (aa + bb + cc) / 2;

s := sqrt (p * (p - aa) * (p - bb) * (p - cc));

writeln ('s= ', s:6:2)

end;

Begin

readln (a, b, c);

treug (a, b, c);{ оператор вызова процедуры }

End.

 

Глобальные переменные a,b и c, описанные в главной программе, используются в операторе вызова процедуры в качестве входных фактических параметров. Они согласуются с формальными параметрами aa, bbи cc процедуры по числу, типу и взаиморасположению в своих списках. Следовательно, при вызове процедуры её формальный параметр aa примет значение фактического параметра a, параметр bb – значение параметра b, а параметр cc – значение параметра c.

Как формальные параметры, так и переменные p и s, описанные в разделе var процедуры, являются локальными переменными и главной программе недоступны. Поэтому вывод результата счёта – переменной s предусмотрен не в главной программе, а непосредственно в процедуре.

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



var имя1, имя2, ... : тип параметров;

Пример 5.3.Используя процедуру, вычислить поверхность треугольной пирамиды, если известны длины ее ребер a, b, c, d, e и f.

Var

a, b, c, d, e, f, s1, s2, s3, s4 : real ;

procedure treug0 (aa, bb, cb : real ; var s : real );

Var

p : real ;

Begin

p:=(aa + bb + cc ) / 2;

s:=sqrt (p * (p - aa) * (p - bb) * (p - cc))

end;

Begin

readln (a, b, c, d, e, f);

treug0(a, b, c, s1); treug0(a, d, e, s2);

treug0(b, e, f, s3); treug0(c, f, d, s4);

write ('поверхность равна ', s1 + s2 + s3 + s4)

End.

В главной программе предусмотрены четыре обращения к процедуре treug0(по числу граней пирамиды). Список её формальных параметров состоит из трёх входных параметров aa,bb, ccи одного выходного – s.

При первом обращении к процедуре в ячейку s будет записан адрес переменной s1, а в ячейки aa, bbи cc – значения переменных a, b и c. Результат выполнения процедуры (площадь треугольника со сторонами a, b и c) будет записан в ячейку s1.

Таким образом, главная программа получит доступ к результату, вычисленному в процедуре, и использует его в вычислении площади поверхности пирамиды. После выполнения процедуры значения переменных aa, bb и cc будут «забыты».

Остальные обращения к процедуре treug0будут выполнены аналогично.

 

 



<== предыдущая лекция | следующая лекция ==>
Процедуры | Функции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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