Встроенные функции в Турбо Паскаль

Кроме этих стандартных операций, в Паскаль встроены специальные подпрограммы-функции, которые программисты могут использовать в выражениях как готовые элементы. Библиотека Турбо Паскаля содержит значительный набор внешних функций, которые подключаются автоматически при компиляции или при исполнении программы. Эти внешние процедуры и функции сгруппированы в системный блок – модуль System. Для пользователя внешний блок System, входящий в состав библиотеки Турбо Паскаль, - «прозрачный», то есть его функции применяются аналогично встроенным операторам. Функции системного блока System, применяемые при обработке числовых значений приведены в таблице 4.

Таблица 4

Математические функции Функции Турбо Паскаля
|X| ABS (X)
Arctg (X) ARCTAN (X)
Cos (X) COS (X)
XA EXP (A*LN (X))
EX EXP (X)
Ln (X) LN (X)
Число 3,14159 Pi
Sin (X) SIN (X)
Tg (X) SIN (X) / COS (X)
X2 SQR (X)
SQRT (X)

Рассмотрим дополнительные операции над вещественными числами:

Trunc (x) – дробная часть вещественного числа отбрасывается и выдается целый остаток;

Int (x)– возвращает целую часть аргумента;

Round (x)– округляет вещественное число до целого порядкового типа;

Frac (x)– результатом является дробная часть значения аргумента.

Описание констант и переменных

Описание констант имеет вид:

const <имя_константы> = <значение_константы>;

Например.

CONST C1 = 17; // INTEGER

С2 = 3.14; // REAL

С3 = ‘A’; // CHAR

C4 = ‘APPLE’; // STRING

C5 = FALSE; // BOOLEAN

Описание переменных имеет вид:

VAR <имя_переменной> : <тип_переменной>;

Типы переменных:

1. integer – целый;

2. real – вещественный;

3. char – символьный;

4. string – строковый;

5. Boolean – логический:

a. false – ложь;

b. true – истина.

Например,

{ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ}

VAR A : INTEGER;

B : REAL;

C : CHAR;

{ОБЪЯВЛЕНИЕ КОНСТАНТ}

CONST C1 = 17; // INTEGER

С2 = 3.14; // REAL

С3 = ‘A’; // CHAR

C4 = ‘APPLE’; // STRING

C5 = FALSE; // BOOLEAN

Операторы в Турбо Паскаль

Операторы языка программирования Турбо Паскаль можно разделить на следующие операторы:

1. простые:

a. оператор присваивания;

b. пустой оператор;

c. оператор ввода;

d. оператор вывода;

e. составной оператор;

2. сложные:

a. условный оператор;

b. циклические операторы;

c. оператор выбора (варианта);

d. оператор присоединения в записях;

e. оператор перехода.

Оператор присваивания

Оператор присваивания обозначается знаком “:=”.

Формат оператора присваивания:

V := A;

где V – имя переменной, := - знак присваивания, A – выражение.

Тип выражения должен соответствовать типу переменной. Допускается присваивание переменной вещественного типа значения выражения целого типа, но не наоборот! Для преобразования значения вещественного типа в значение целого типа предназначены функции TRUNC(X) – нахождение целой части X и ROUND(X) – округление X в сторону ближайшего целого.

Например,

A := 5;

B := A*A-2;

C := ‘A’;

Операторы ввода и вывода

Операторы ввода и вывода служат для организации обмена информацией между внешними устройствами (дисплей, клавиатура, принтер) и памятью ЭВМ.

Оператор ввода имеет следующие форматы:

1. READ (a1, a2,.., ak), где a1, a2,.., ak – список вводимых параметров. Здесь, каждое вводимое значение присваивается последовательно данным переменным.

2. READLN (a1, a2,.., ak) – каждое вводимое значение присваивается последовательно переменным a1, a2,.., ak, после чего происходит переход на новую строку.

3. READLN – обеспечивает пропуск одной строки и переход к началу новой строки.

Примечание. Ввод переменных логического типа недопустим. Числовые значения задаются после запуска программы через пробел (или ввод).

Например, ввести данные A=5, B=1.7, C = ‘L’.

READ (A, B, C);

5_1.7_L /после запуска программы на выполнение/

Оператор вывода имеет следующие форматы:

1. WRITE (b1, b2,.., bk), где b1, b2,.., bk – список переменных подлежащих выводу. Выводимые значения размещаются в одной строке.

2. WRITELN (b1, b2,.., bk) – осуществляется вывод значений b1, b2,.., bk и после вывода последнего значения осуществляется переход на новую строку.

3. WRITELN – обеспечивает пропуск строки в файле и переход к новой строке.

Примечание. В качестве выводимых параметров могут быть целые, вещественные, символьные и логические переменные и константы.

Пример 1.1. Вычислить значение выражения по формуле.

Рекомендуется числитель и знаменатель вычислить как отдельные выражения:

A := exp (abs(x-z)) + sqr (sin (sqr(z)*z));

B := sin (x) / cos (x) – sqrt (abs(cos (sqr(x))-exp(z)));

Y := A/B;

 
 

Задача 1.1. Рассмотрим разработку алгоритма и программы вычисления площади треугольника по формуле Герона.

Блок-схема алгоритма

Листинг программы

PROGRAM TREUG;

USES CRT; {РАЗДЕЛ ПОДКЛЮЧЕНИЯ БИБЛИОТЕКИ CRT}

VAR A, B, C, P, S : REAL;

BEGIN

CLRSCR;

WRITELN (‘Введите стороны треугольника’);

READLN (A, B, C);

P := (A+B+C)/2;

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

WRITELN (‘Площадь треугольника равна - ’, S);

READLN; {ОСТАНОВ ПРОГРАММЫ}

END.

Задача 1.2. Ввести с клавиатуры четырёхзначное число и найти произведение цифр этого числа.

Листинг программы

PROGRAM PRIMER1;

USES CRT;

VAR A, A1, A2, A3, A4, A5, A6, A7 : INTEGER;

BEGIN

WRITELN (‘Введите целое 4-хзначное число’);

READLN (A); // 4375

A1 := A MOD 10; // 5

WRITELN (A1);

A2 := A DIV 10; // 437

A3 := A2 MOD 10; // 7

WRITELN (A3);

A4 := A2 DIV 10; // 43

A5 := A4 MOD 10; // 3

WRITELN (A5);

A6 := A DIV 1000; // 4

WRITELN (A6);

A7 := A1 * A3* A5*A6; // 420

WRITELN (A1, ‘*’, A3, ‘*’, A5, ‘*’, A6, ‘=’, A7);

WRITELN;

END.

Вопросы для самопроверки

1. Какие известны объекты алгоритмов?

2. Какова структура программы на языке Паскаль?

3. Дайте определение раздела Var?

4. Зачем используется раздел Type?

5. Что описывают в разделе Cons?.

6. Где располагают раздел Procedure, Function?

7. Каков диапазон значений целого типа?

8. Каков объём памяти требуется для данных вещественного типа?

9. Как описываются данные символьного типа?

10. Для чего используют данные логического типа?

11. Объясните принцип работы оператора присваивания?

12. Каков формат оператора ввода?

  1. Каков формат оператора вывода?
  2. Дайте определение идентификатора?
  3. Что такое служебные слова? Привести пример.
  4. Где подключают стандартные функции библиотеки Турбо Паскаля? Привести пример.

Лабораторная работа №1

Наши рекомендации