русс | укр

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

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

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

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


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

Отличия функции от процедур


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


 

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

 

Допустим, например, что в нашей программе часто требуется опреде­лять площадь треугольника, зная координаты его вершин. Поскольку результатом работы является вычисление единственной величины — площади треугольника — естественно оформить наши действия в виде функции.

 

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

В заголовке функции определяется ее имя, параметры (если они име­ются ) и тип результата.

Для вызова функции необходимо указать ее имя и параметры (если они есть). Имя может использоваться в выражениях. При вычислении выражения имя функции замешается вычисленным значением.

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

 

{в этой программе используется функция Func, вычисляющая квадрат синуса заданного числа}

program Functions;

{описание переменных программы}

Var X, Rez:Real;

{описание функции}

function Func: Real;

var R: Real;

begin

R:= Sin(x)*Sin(x);

Func:=R; {этот оператор присваивает функции Func зна­чение R }

end; {описание функции заканчивается "точкой с запятой" }

 

{сама программа}

begin

WriteLn(‘Введите число');

ReadLn(X);



Rez:=Func;

WriteLn (‘Квадрат синуса этого числа равен ', Rez); end.

 

Следующая программа вычисляет сумму геометрических средних все­возможных комбинаций двух целых чисел от 1 до 20. При вычислении используется функция, возвращающая геометрическое среднее двух данных чисел ( квадратный корень из их произведения ).

 

program SKub;

var S: Real;

j,i: integer;

 

function SR(x,y:integer):Real;

var K: longint;

begin

SR:=Sqrt(.x*y);

end;

 

begin

s:=0;

for i:=1 to 20 do

for j:=1 to 20 do

S:=S+SR(i,j);

WriteLn(S);

end.

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

Более того, функцию можно вызвать, только используя се имя в ка­ком-либо выражении. В последнем примере имя функции SR присут­ствовало в выражении S:=S+SR(i,j); Значение SR(i,j) автоматически подсчитывалось каждый раз и использовалось при вычислении правой части.

 

 

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

Подпрограмма являются основой модульного программирования. Разбивая задачу на части и формируя логически обособленные модули подпрограммы (процедуры и функции), программист реализует основные принципы широко пользуемого в практике системного подхода и методов нисходящего программирования.

Вот как выглядит в общем виде структура процедуры:



<== предыдущая лекция | следующая лекция ==>
Тема 3.6. Процедуры и функции пользователя | Локальные и глобальные переменные.


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


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

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

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


 


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

 
 

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

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