русс | укр

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

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

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

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


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

Практическая работа № 6


Дата добавления: 2015-06-12; просмотров: 531; Нарушение авторских прав


Тема: «Функции и процедуры»

Вспомогательные алгоритмы организуются двумя способами в зависимости от использования:

1) ПРОЦЕДУРЫ:

Программа процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличии от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова Procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках список формальных параметров:

Procedure <имя процедуры> (список формальных параметров)

За заголовком могут идти такие же разделы, что и в основной программе. В отличии от основной программы процедура завершается не точкой, а точкой с запятой.

Procedure < имя процедуры >[(< аргументы >: < тип аргументов>]; Var <значение>:< тип значения >] )];

Var < переменная 1>[,< переменная 2>,...]: тип;

Begin

< тело процедуры>;

End;

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

2) ФУНКЦИИ:

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

а) заголовок состоит из слова function, за которым следует имя функции, далее в круглых скобках - список формальных параметров, затем через двоеточие записывается тип функции - тип возвращаемого параметра. Функ­ция может возвращать параметры следующих типов: любого порядкового, любого вещественного, стандартного строкового и символьного.

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

Function < имя функции >[(< аргументы >: < тип аргументов>):< тип значения функции>];



Var < переменная 1>[,< переменная 2>,...]: тип;

Begin

<тело функции>;

<имя функции>:=<выражение значение функции>;

End;

 

Примеры решений задач.

1. Пример функции для вычисления факториала.

FunctionFactorial(N:Byte):Longint;

Var

Fact:longint;

I:byte;

Begin

Fact:=n;

Fori:=n-1downto 2 do

Fact:=fact*i;

Factorial:=fact;

End;

Вариант 1. Использование процедуры без параметров.

ProgramSquare1;

Var АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2: Real;

Proceduregeron;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

a:= AB; b:=DB; c:=DA;

geron; S1:=s;

a:= BC; b:=CD; c:=DB;

geron; S2:=s;

WriteLn (‘Площадь равна:’, S1+S2)

End.

АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2 – глобальные переменные;

 

Вариант 2. Использование процедуры без параметров.

ProgramSquare2;

Var АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2: Real;

Proceduregeron;

Varp:Real;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

a:= AB; b:=DB; c:=DA;

geron; S1:=s;

a:= BC; b:=CD; c:=DB;

geron; S2:=s;

WriteLn (‘Площадь равна:’, S1+S2)

End.

АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2 – глобальные переменные;

p – локальная переменная.

 

Вариант 3. Использование процедуры с параметрами.

ProgramSquare3;

Var АВ, ВС, СD, DA, DB, s, S1, S2: Real;

Proceduregeron (a, b, c);

Varp:Real;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

geron (AB, DB, DA); S1:=s;

geron (BC, CD, DB); S2:=s;

WriteLn (‘Площадь равна:’, S1+S2)

End.

АВ, ВС, СD, DA, DB – фактические параметры;

a, b, c – формальные параметры.

 

Вариант 4. Использование процедуры с возвращением значения.

ProgramSquare4;

Var АВ, ВС, СD, DA, DB, S1, S2: Real;

Proceduregeron (a, b, c; Var s:Real);

Varp:Real;

Begin

p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

geron (AB, DB, DA, S1);

geron (BC, CD, DB, S2);

WriteLn (‘Площадь равна:’, S1+S2)

End.

 

Вариант 5. Использование процедуры-функции.

ProgramSquare5;

Var АВ, ВС, СD, DA, DB, S: Real;

Function geron (a, b, c: Real): Real;

Varp:Real;

Begin

p:= (a+b+c)/2; geron:= sqrt(p*(p–a)*(p–b)*(p–a));

End;

Begin

WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’);

ReadLn (AB, ВС, СD, DA, DB);

S:= geron (AB, DB, DA) + geron (BC, CD, DB);

WriteLn (‘Площадь равна:’, S)

End.

 



<== предыдущая лекция | следующая лекция ==>
Список задач | Список задач


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


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

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

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


 


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

 
 

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

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