Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASKAL_sokraschyonnoe.doc
Скачиваний:
12
Добавлен:
02.04.2015
Размер:
454.14 Кб
Скачать

Function имя функции (список форм. Параметров) : тип результата;,

Пример 5.4. Вычисление площади треугольника (см. пример 5.2) оформить в виде функции.

function treug1(aa, bb, cc : real ) : real ;

var

p : real ;

begin

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

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

end;

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

Пример 5.5. Используя функцию treug1 (пример 5.4), решить задачу, приведённую в примере 5.3 (т.е. вычислить площадь поверхности пирамиды).

Var a, b, c, d, e, f, s : real;

function treug1(aa, bb, cc : real ):real;

var p : real;

begin

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

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

end;

begin

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

s:=treug1(a, b, c) + treug1(a, d, e) + treug1(b, e, f) + treug1(c, f, d);

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

end.

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

Приложение 1

Наиболее часто используемые

служебные слова PASCAL

and – операция логического умножения ( операция "И")

array – массив;

begin – начало описания последовательности действий программы, подпрограммы или начало составного оператора;

const – начало раздела описания констант;

div – операция целочисленного деления;

do – начало тела цикла операторов for и while;

downto – признак изменения параметра цикла оператора for на  –1;

else – начало части "иначе" (ветви "ЛОЖНО") условного оператора;

end – конец описания последовательности действий программы, подпрограммы, конец составного оператора;

for – оператор цикла с параметром;

function – начало заголовка подпрограммы-функции;

if – условный оператор;

mod – операция вычисления остатка от целочисленного деления;

not – операция логического отрицания (операция "НЕ");

of – начало описания типа элементов в описании массива;

or – операция логического сложения (операция "ИЛИ")

procedure начало заголовка подпрограммы-процедуры;

repeat – оператор цикла с постусловием;

then – начало части "то" (ветви "ИСТИННО") условного оператора;

to – признак изменения параметра цикла оператора for на +1;

type – начало раздела описания типов;

until – конец оператора цикла с постусловием;

var – начало раздела описания переменных, начало описания параметров-переменных процедуры;

while – оператор цикла с предусловием.

Приложение 2 Стандартные функции pascal

Обращение

к функции

Тип аргумента

Тип значения

Назначение

Abs(x)

Целый или вещественный

Как у аргумента

Абсолютное значение х

Pi

-

Вещественный

Значение числа 

Sin(x)

Вещественный

Вещественный

Синус х радиан

Cos(x)

Вещественный

Вещественный

Косинус х радиан

Arctan(x)

Вещественный

Вещественный

Арктангенс х радиан (arctg (x))

Sqrt(x)

Целый или вещественный

Как у аргумента

Квадратный корень из х, х   0

Sqr(x)

Целый или вещественный

Как у аргумента

Значение квадрата х

Exp(x)

Вещественный

Вещественный

Значение е в степени х

Ln(x)

Вещественный

Вещественный

Натуральный логарифм х, х > 0

Round(x)

Вещественный

Целый

Округление до целого значения х

Trunc(x)

Вещественный

Целый

Целая часть значения х

Frac(x)

Вещественный

Вещественный

Дробная часть значения  х

Замечание. В языке PASCAL нет других обратных тригонометрических функций кроме ArcTan. Поэтому функции arcsin и arсcos вычисляются с использованием следующих известных тригонометрических формул:

; .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]