Мегаобучалка Главная | О нас | Обратная связь


Стандартные арифметические функции и процедуры



2016-09-16 460 Обсуждений (0)
Стандартные арифметические функции и процедуры 0.00 из 5.00 0 оценок




Ø Abs(X) - вычисление абсолютной величины X. Тип результата совпадает с типом параметра.

Ø ArсТаn(Х) - вычисление угла, тангенс которого равен х; значе­ние угла представлено в радианах и может находиться в диапазоне от -Pi/2 до Pi/2. Для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/Pi. результат имеет вещественный тип. Пример: y:=ArсТаn(1)*180/3.14; Результат = 4.500000000E+01.

Ø Cos(X) - вычисление косинуса X; параметр задает значение угла в радианах. Для преобразования значений угла из градусной меры в радианную значение выражения IBR умножается на pi/180. Результат имеет вещественный тип. Пример: y:=Cos(45*Pi/180); Результат = 5.000000000Е-01.

Ø Ехр(Х) - вычисление экспоненты X, т. е. значение е в степени X. е является основанием натурального логарифма и равно 2.718282. Результат имеет вещественный тип.

Ø Frac(X) - вычисление дробной части X. Результат имеет вещест­венный тип.

Ø Int(X) - вычисление целой части Х- Если X >= 0, функция возвращает ближайшее целое, большее или равное X. Если X < О, возвращает ближайшее целое, меньшее или равное X, результат имеет тип real.

Ø Ln(X) - вычисление натурального логарифма X, т. е. логарифма по основанию е (е = 2.718282). Результат имеет вещественный тип.

Ø Pi - возвращает значение числа ПИ (3.141592653897932385).

Ø Sin(X) - вычисление синуса X. Параметр задает значение угла в радианам. для перевода значения угла из градусной меры в радиан­ную Х умножается на Pi/180. Результат имеет вещественный тип.

Ø Sqr(X) - возведение в квадрат значения X. тип результата сов­падает с типом параметра.

Ø Sqrt(X) - вычисление квадратного корня из X. Тип результата вещественный.

Ø Random - генерирует значение случайного числа из диапазона < 0..0.99. тип результата вещественный.

Ø Random(I) - генерирует значение случайного числа из диапазона O..I. Тип результата целочисленный.

Использование функций

Функции обычно используются в качестве операндов выражений. При этом параметром функции может быть переменная, константа или выражение. Например, ниже приведены выражения для вычисления дискриминанта (d) и корней (xl, х2) квадратного уравнения:

d:=Sqr(b)-4*a*c;

xl:=(-b+Sqrt(b*b-4*a*c))/(2*а) ;

х2:=(-b-Sqrt(Sqr(b)-4*a*c))/(2*а);

В первом выражении аргументом функции Sqr (напомним, что sqr(b)=b*b) является переменная b, а во втором выражении в качестве аргумента функ­ции sqrt используется выражение. Важно, чтобы тип выражения, используемого в качестве параметра функ­ции, соответствовал или мог быть преобразован к типу, указанному в опи­сании функции.

Пользовательские процедуры и функции. Правила их создания и использования.

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

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

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

- В секции Interface текущего модуля. Такая процедура (функция) доступна как в любом месте текущего модуля, так и в любом другом модуле, который вызывает директивой uses наш текущий модуль.

 

Для обмена данными с процедурой (функцией) из места их вызова существует так называемое «окно параметров» - перечень данных, которыми должны обмениваться место вызова и вызываемая процедура (функция). Это окно параметров выглядит в виде перечисления имен данных, ограниченных скобками и следует сразу после имени описываемой процедуры (функции). Имена данных параметров видимы только в рамках данной процедуры (функции) и не видны в других программных единицах (локальные данные). Кроме того, в случае использования функции ее имя тоже представляет из себя параметр – переменную, тип которой задается при описании функции, как и тип каждого из параметров.

Рассмотрим несколько примеров:

 

Procedure primer1(a,b:real; c:integer; var d,e : real; var s:string);

Const …

Var …

Begin

Текст процедуры

End;

В этом примере описана процедура с именем Primer1. Окно параметров расшифровывается следующим образом: Из вызывающей структуры в процедуру передаются два вещественных числа (они равносильны типу констант!) (a и b) и одно целочисленное (c). Из процедуры в место вызова передаются (возвращаются) два вещественных числа (рассчитанные в процедуре) (переменные d и e), а также строковая переменная s, значение которой тоже скорее всего определено в теле процедуры.

ВНИМАНИЕ! Если в окне параметров данные описаны как константы (без ключевого слова var), то значения таких констант НЕЛЬЗЯ изменять в теле процедуры (функции)! В противном случае возможны непредсказуемые искажения в области данных (как этих, так и совершенно других).

Пример описания функции следует ниже:

 

Function fun1(a,b:real; c:integer) : real;

Var d,e : real;

Begin

d:=a+b;

e:=c*(d+a);

fun1:=frac(e);

End;

 

При использовании функции главным возвращаемым параметром является само имя функции (в примере – fun1 типа real), хотя в окне параметров для функции могут быть указаны и другие возвращаемые параметры-переменные.

 

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

 

 

Var

ff, p1,p2 : real;

n : integer;

st : string;

begin

….

n:=13;

ff:=5647.554466;

Primer1(10.55, ff, n, p1, p2, st);

….

End;

 

Обратите внимание, что типы передаваемых в процедуру данных должны обязательно совпадать с типом данных, описанных в окне параметров процедуры. В нашем примере это соответствие пар данных: (10.55 и вещественной a), (вещественных ff и b), (целых n и c)


Контрольные вопросы

 

  1. Какие файлы представляют проект?
  2. Какова минимальная структура файла проекта(приложения)?
  3. Какими файлами представлен модуль без формы и модуль с формой?
  4. Какая информация соджержится в модуле формы?
  5. Какое расширение имеет файл после компиляции модуля?
  6. Какова минимальная структура модуля?
  7. Для какой цели в модуле служит секция Интерфейса? Какова доступность данных, объявленных в этой секции?
  8. Что помещают в секции Implementation? Какова доступность данных, объявленных в этой секции?
  9. В чем отличие функции от процедуры? Каковы правила их объявления и вызова?
  10. Перечислите особенности описания процедур(функций) внутри другой процедуры(функции), внутри программы, внутри секций Implementation и Interface.
  11. Для чего используются параметры процедур(функций) и каковы основные особенности их применения?

 


 

Лабораторная работа 7

 

 

«Создание и использование записей и файлов разных типов»

 

Цель работы: исследование правил объявления, создания и обращения с данными типа запись, а также нетекстовых файлов.

 

1. Задание на лабораторную работу.

1.1. Изучить идеологию и способы создания записей .

1.2. Описать тип и на его основе объявить переменные записи, использовать их поля.

1.3. Изучить способы создания, чтения и записи нетекстовых файлов.

1.4. Создать файл записи, оъявленной в п.1.2. Сохранить, читать и пополнять файл записи.

1.5. Оформить результаты работы в виде отчета.

 



2016-09-16 460 Обсуждений (0)
Стандартные арифметические функции и процедуры 0.00 из 5.00 0 оценок









Обсуждение в статье: Стандартные арифметические функции и процедуры

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (460)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)