Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандартные математические функции языка Турбо - Паскаль

Поиск

 

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

Например: Sin(X)+Cos(A/2+Z)-Log(7).

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

- имя функции должно строго соответствовать имени, указанному в табл.6.

- аргумент должен заключаться в круглые скобки, а его тип должен соответствовать типу, указанному в табл. 3.6.

 

Таблица 3.6

Запись на Турбо-Паскале Название функции Тип аргумента Тип результата Математическое обозначение
Abs(X) Абсолютная величина Integer Real Совпадает с типом X
Sqr(X) Вычисляет X во 2-ой степени Integer Real Совпадает с типом X
Sin(X) Cos(X) Arctan(X) Синус, косинус и арктангенс X Integer Real Real Sin (X) Cos (X) Arctg (X)
Exp(X) Экспоненциальная функция ex Integer Real Real eX
Ln(X) Логарифм натуральный Integer Real Real Ln(X)
Frac(X) Дробная часть числа Integer Real Real  
Int(X) Целая часть числа Integer Real Real  
SQRT(X) Корень квадратный числа X Integer Real Real

 

Odd(X) Выдает True, если X нечетный и False, если X четный Integer Boolean  
Trunc(X) Выдает целую часть X, дробная часть отбрасывается Real Integer  
Round(X) Округляет X до ближайшего целого Real Integer  

Примечание. , , ,

, , , .

Структура программы на языке Pascal

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

Program Name (Input, Output); Заголовок программы

Uses { Описание используемых модулей }

Label { Описание меток }

Const { Описание констант }

Type { Описание типов } Раздел описаний

Var { Описание переменных }

Procedure { Описание процедур }

Function { Описание функций }

Begin

Оператор 1;

Оператор 2; { Раздел операторов... } Тело программы

Оператор n

End.

 

Заголовок программы начинается служебным словом Program, за которым записывается идентификатор программы (имя). Имя программы строится в соответствии с правилами записи идентификаторов, после имени программы иногда указывают в круглых скобках имена стандартных файлов ввода и вывода, связанных соответственно с клавиатурой и экраном монитора (Input, Output). Заканчивается описание заголовка символом "; ". Например:

Program MyProgram (Input, Output);

Program MyProgram;

Затем после служебного слова Uses через запятую перечисляются модули, процедуры и функции которые, используются в программе. В конце ставится "; ". Это могут быть как стандартные модули Pascal - Crt, Graph, так и модули, разработанные пользователем. Например:

Uses Crt, Graph;

За служебным словом Label следуют перечисленные через запятую идентификаторы меток, которые используются в программе. Метка - это идентификатор, заканчивающийся двоеточием ": ", помечающий место в программе, на которое передаётся управление при помощи оператора безусловного перехода.

Label M1, M2, M3;

Следом располагается раздел описаний констант, начинающийся служебным словом Const. Идентификатор константы отделяется от значения знаком "=". После каждой константы ставится "; ". Константы - это данные, значения которых не могут изменяться в процессе выполнения программы. Константы распознаются компилятором по форме их записи. В языке Pascal используются константы трех видов: числовые, булевские и символьные. Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (истина-ложь). Символьные константы представляют данные, являющиеся последовательностями символов. Например:

Const

A=12; {целочисленная константа A}

B:Real=23.05; {типизированная константа B}

S=Строка; {строковая константа}

Типы данных, вводимые пользователем, описываются после служебного слова Type. Новый тип данных вводится своим идентификатором, за которым после знака равенства " = ", записывается расшифровка типа. Например:

Type

Color = (Red, Green, Blue); {Перечисляемый тип}

Scale = 2 * (A - B).. (A + B); {Тип диапазон}

MassivReal = Array[1..100] Of Real; {Массив из 100 элементов типа Real}

MassivChar = Array[0..19] Of Char; {Массив из 20 элементов типа Char}

Раздел описания переменных начинается служебным словом Var. Значения переменных могут изменяться во время выполнения программы. Переменные идентифицируются по именам (идентификаторам), с каждой переменной программы связывается один тип данных. При описании они отделяются двоеточием ": ". Если необходимо различным переменным назначить один тип данных, то они перечисляются через запятую, после последнего идентификатора ставится двоеточие, за которым указывается тип данных. Тип - это множество значений переменной вместе с множеством операций, которые можно выполнять над элементами этого множества. Заданием переменной некоторого типа, явно определяется множество значений, которые можно присваивать этой переменной, а также операции, с помощью которых можно манипулировать ее значениями. Число отдельных значений, принадлежащих некоторому типу, называется мощностью типа.

Var

X,Y,Z: Real; {переменные типа Real}

I,J,K: Integer; {переменные типа Integer}

Digit: 0..9; {переменная перечисляемого типа}

C: Color; {переменная типа Color, который описан в разделе Type}

Done, Error: Boolean; {переменные типа boolean }

Operator: (plus, minus, times); {переменная перечисляемого типа}

Matrix: Array[1..10,1..10] Of Real; {переменная - массив}

Следом идёт раздел описания процедур и функций. Он будет рассмотрен позднее при рассмотрении вопросов, связанных с организацией подпрограмм.

Тело программы начинается служебным словом Begin, которое определяет точку начала выполнения программы. Затем следуют операторы, описывающие алгоритм решения задачи. Они отделяются друг от друга точкой с запятой "; ". Завершается тело программы служебным словом End за которым ставится точка.

Кроме описаний и операторов Pascal-программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев {и закрывающей скобкой комментариев}.

Пример: вычислить площадь треугольника S по трем его сторонам а, b, с, воспользовавшись формулой Герона:

Program Geron; Заголовок программы

Var

A,B,C:Integer; Раздел описаний переменных

P,S:Real;

Begin

A:=6;

B:=8;

C:=10;

P:=(A+B+C)/2; Тело программы

S:=Sqrt(P*(P-A)*(P-B)*(P-C));

Writeln ('S=',S);

END.

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

1. Для представления какой информации в языке Паскаль используется тип Real?

2. В чем отличие двух типов числовых данных Real и Integer?

3. К каким типам числовой информации применимы функции Sqr(X) и Sqrt(X)?

4. Что делает стандартная функция Trunc (X)?

5. К данным какого типа применимы функции Trunc(X) и Round(X)?

6. Для каких чисел определены стандартные функции Succ(X) и Pred(X)?

7. Может ли пробел входить в число символов, составляющий идентификатор?

8. Из каких символов может состоять идентификатор?

9. Можно ли ключевые слова использовать в качестве имен переменных?

10. Назовите функцию, которая вычисляет модуль вещественного числа Х?

11. Существуют ли ограничения на множество целых чисел, используемых в языке?

12. В каком месте находится раздел описания переменных?

13. К каким типам данных применимы арифметические операции Div и Mod?

14. Можно ли при записи идентификаторов использовать буквы русского алфавита?

15. Почему в языке паскаль факториал от 9 нельзя записать как 9!?

16. В каком месте программы разрешены комментарии?



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 489; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.117.89 (0.01 с.)