Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Стандартные математические функции и процедуры Turbo PascalСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
В Pascal отсутствует ряд функций, например: xy, tg(x), lg(x), поэтому приходится их вычислять, используя известные соотношения: Xy=eyln(x)=exp(y*ln(x)); arcsin(x)=arctan(); Tg(x)=sin(x)/cos(x); arccos(x)= Pi/2 – arcsin(x); Loga(x)=ln(x)/ln(a); arcctg(x)= Pi/2 – arctan(x); Sh(x)=(Exp(x)-exp(-x))/2; Ch(x)= (Exp(x)+exp(-x))/2; Csc(x)=1/Sin(x); Sc(x)=1/Cos(x);
Поскольку при вызове функции или процедуры производятся некоторые вычисления, преобразования или выполняются другие действия, то вызов функции можно назвать оператором-функцией, а вызов процедуры - оператором-процедурой. При вызове функция возвращает значение, которое необходимо присвоить переменной. Например, запись Y:= Sin(x); позволяет вычислить значение синуса угла "х", которое присваивается переменной "Y". Функции имеют высший приоритет, т. е. в выражении сначала вычисляется значение функции, а затем выполняются другие операции. Например: в выражении Y:=5*Cos(Pi+x); сначала вычисляется значение аргумента, затем значение функции, которое умножается на пять. При вызове процедура производит определенные действия и может возвращать значения параметров. Процедура может не иметь параметров, например, для инициализации распределения случайных чисел вызывается процедура Randomize;. Процедуры могут включать параметры, которые необходимо задать при вызове процедуры и параметры, которые возвращают значения после выполнения процедуры. Например, при вызове процедуры Str(x, s); параметр "x" должен быть задан, а параметр "S" возвращает строковый вид числа "x". В некоторых процедурах параметры изменяют свое значение, Например, процедура Inc(x); увеличивает значение "x" на единицу, т. е. возвращает новое значение "x", что соответствует оператору x:=x+1; Таким образом, при вызове процедуры необходимо знать назначение и тип задаваемых параметров.
Подпрограммы в языке Pascal. При решении многих задач часто требуется производить вычисления по одним и тем же алгоритмам при различных исходных данных. Такие алгоритмы оформляются в виде подпрограмм. Подпрограмма – это группа операторов сформированных определенным образом, которой присваивается определенное имя и которая может быть вызвана из любой точки программы любое количество раз. Подпрограммы также применяются для создания специализированных библиотечных модулей, содержащих набор подпрограмм, для использования их другими программистами. Подпрограммы подразделяются на процедуры и функции. Структура процедуры: Procedure: <имя процедуры> ([список формальных параметров]); Const [описание используемых констант]; Type [описание используемых типов]; Var [описание используемых переменных]; Begin …. {операторы} End; В отличие от процедур функции могут использоваться в выражениях в качестве операнда и имеют следующую структуру: Function: <имя функции> ([список формальных параметров]):<тип результата>; Const [описание используемых констант]; Type [описание используемых типов]; Var [описание используемых переменных]; Begin …. {Операторы} <имя функции>:=…; {Вычисление значения функции} End; В отличии от процедуры, для имени функции <имя функции> указан ее тип <тип результата>. Вызов подпрограммы-процедуры из основной программы производится оператором вида: ……… имяП(<список фактических параметров >); …….. здесь имяП – имя подпрограммы, а < список фактических параметров > содержит перечисление имен данных в вызывающей программе, которые соответствуют списку формальных параметров. Каждый фактический параметр должен иметь тот же тип, что и соответствующий ему формальный параметр. Следует отметить, что список формальных параметров может отсутствовать. Вызов подпрограммы-функции из основной программы может производиться по-разному: ………. Y: =имяФ(<список фактических параметров >); ……….. здесь переменная y должна иметь тип <тип результата>; ……. S: =z* имяФ(<список фактических параметров 1>)+x/ имяФ (<список фактических параметров 2 >)............. Во втором случае вызов функции производится внутри арифметического выражения с разными фактическими параметрами. Подпрограмму в виде функции следует оформлять, если результатом является значение одной переменной. Типы соответствующих формальных и фактических параметров должны совпадать, а имена могут совпадать или быть различными. Существуют три вида формальных параметров: параметры – значения, параметры – переменные, параметры константы. Вместо параметров-значений можно подставлять имена переменных, значения переменных или выражения, вместо параметров-переменных подставляются имена переменных. Функция и параметры-переменные возвращают во внешнюю программу значения, полученные после окончания работы функции или процедуры. Изменения параметров-значений в процедуре носит локальный характер, во внешней программе соответствующие фактические параметры не изменяются. Если не требуется передавать во внешнюю программу новые значения, то следует использовать параметры-значения, а не параметры-переменные. В дальнейшем, если не оговаривается особо, все сказанное к процедуре относится также и к функции. В процедуре (функции) можно использовать локальные метки, константы и переменные, описав их в разделе описания процедуры. Локальные имена не должны совпадать с именами формальных параметров, а их значения не передаются во внешнюю программу. Метки, константы и переменные, описанные во внешней программе раньше, чем сама процедура, называются глобальными по отношению к вызываемой процедуре. Если локальные и глобальные имена совпадают, то в процедуре используются локальные значения, а во внешней программе - глобальные значения, т. е. локальные и глобальные идентификаторы независимы. Если имя глобальной переменной уникально (в процедуре не описывается переменная с таким же именем) и ее значение в процедуре изменяется, то оно изменяется и во внешней программе. Вызывая в программе процедуру программист использует ее имя и параметры не анализируя, а часто и не зная содержимого процедуры. Поэтому в целях универсальности процедур следует все значения в процедуру передавать через список параметров, а переменные внутри процедуры описывать, т. е. делать их локальными. Если процедура описана в другом файле с именем, например, F_PR. pas, то ее можно подключить к программе, указав в разделе описания директиву: {$I F_PR. pas}.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 587; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.185.231 (0.009 с.) |