
- •1.1 Теоретические сведения
- •1.1.1 Структура программы в языке Паскаль
- •1.1.2 Основные типы данных
- •1.1.3 Оператор присваивания
- •1.1.4 Арифметические выражения
- •1.1.5 Логические выражения
- •1.1.6 Основные стандартные функции языка Паскаль
- •1.1.7 Основные функции ввода/вывода
- •1.1.8 Операторы цикла
- •1.1.9 Операторы перехода (безусловный и условные)
- •1.1.10 Работа с массивами
- •1.1.11 Процедуры и функции. Модули.
- •1.1.11.1 Модуль System
- •1.1.11.2 Модуль Crt
- •Порядок выполнения работ
- •Лабораторная работа №5. Работа с двумерными массивами
- •Лабораторная работа №6. Программирование с использованием подпрограмм
- •Содержание
- •1.1 Теоретические сведения 1
1.1.6 Основные стандартные функции языка Паскаль
Таблица 1.5 Стандартные математические функции и их типы
Математическая функция |
Функция на языке Паскаль |
Тип аргумента |
Тип функции |
Примечание |
|X| – модуль числа |
ABS(X) |
R, I |
R, I |
|
X2 |
SQR(X) |
R, I |
R, I |
|
|
SQRT(X) |
R, I |
R |
|
sin X |
SIN(X) |
R, I |
R |
Значение Х вводится в радианах |
cos X |
COS(X) |
R, I |
R | |
arctg X |
ARCTAN(X) |
R, I |
R |
|
eX |
EXP(X) |
R, I |
R |
|
ln X |
LN(X) |
R, I |
R |
|
[X] – целая часть Х |
TRUNC(X) |
R, I |
I |
|
округление Х до целого |
ROUND(X) |
R, I |
I |
|
Определение четности |
ODD(X) |
I |
Boolean |
TRUE, если Х-нечет FALSE, если Х-чет. |
Примечание: В языке Паскаль нет некоторых математических операций и функций. В этих случаях используется набор стандартных функций.
Например:
1) Возведение в степень – вместо AВ записывается EXP(В*LN(A));
2) Логарифм по произвольному основанию – вместо logAX записывается LN(X)/LN(A), например, lgX представляется в виде LN(X)/LN(10);
3) tgX и ctgX соответственно SIN(X)/COS(X) и COS(X)/ SIN(X);
4) arccosX – угол, косинус которого равен Х, при ХЄ[-1; 1].
Вместо arccosX записываем ARCTAN(SQRT(1/SQR(X) – 1)). Или ARCTAN(SQRT(1–SQR(X))/X) при Х≠0 и при Х=0 arccosX=π/2. Аналогично arcsinX вычисляется выражением: ARCTAN(X/SQRT(1–SQR(X))) при Х≠1 и при Х=1 arcsinX=π/2 и так далее.
1.1.7 Основные функции ввода/вывода
Вывод на экран производится при помощи встроенных процедур Write(переменная1, переменная2, …, переменнаяN) – печать,
WriteLn(переменная1, переменная2, …, переменнаяN) – печать с новой строки.
Ввод с экрана (чтение) реализуется аналогично: Read(переменные) или ReadLn(переменные).
Например, необходимо считать с экрана монитора значение переменной n. Для удобства обычно сначала выводят строку:
Write('n = ');
а затем считываю значение:
Read(n);
Форматный вывод
Для вывода чисел предусмотрен форматный вывод.
Для всех типов целых чисел выводится длина (количество знаков в числе), например, Write(n:5); – будет выделять для вывода числа 5 знаков, т.е. если числа двузначные, то между ними будет интервал в 3 пробела.
Для вывода действительных чисел используется «двойной» формат, который включает общее количество разрядов и количество знаков после запятой. Например, Write(а:10:3); – будет выводить число с 3 знаками после запятой. Общее количество разрядов – 10. Из них 3 – после запятой, 1 выделяется для самой запятой и 1 выделяется для знака числа (+ или –), причем + по умолчанию не печатается. Это означает, что данный формат вывода предусматривает 5 знаков перед запятой, и возможно превышение формата.
При форматном выводе необходимо предварительно оценивать количество знаков в выводимых числах.
Работа с файлами (ввод/вывод)
Сначала необходимо описать переменную файла, например: Var f: file;
Затем необходимо связать физический файл с файловой переменной. Для этого используется процедура Assign, например: Assign(f, ‘NameFile1.dat’) – работа с файлом NameFile1.dat из текущей директории. Также можно записывать полное имя файла (с указанием полного пути).
Открытие файлов выполняется процедурами Reset и Rewrite.
Процедура Reset(f) открывает существующий физический файл.
Процедура Rewrite(f) создает новый физический файл. Если файл с таким именем уже существует, то он удаляется, и на его месте записывается новый пустой файл.
Закрытие файлов выполняется процедурой Close: Close(f).
При открытии указатель текущей позиции устанавливается в начало файла.
Таблица 1.6 Функции, используемые при работе с файлами
Функция |
Описание |
Тип аргумента |
Тип функции |
EOF (F) |
TRUE, конец файла FALSE, нет конца |
file |
boolean |
EOLN (F) |
TRUE, конец строки FALSE, нет конца |
File |
boolean |
Например, необходимо вычислить сумму всех чисел, находящихся в файле, при этом заранее неизвестно их количество. Результат вывести на экран монитора. Это можно сделать при помощи программы
Program SummaElemFile;
Uses Crt;
Var x, Sum: real;
f: text;
Begin
ClrScr;
Assign(f, ‘NameFile1.dat’);
Reset(f);
Sum:=0;
While not Eof(f) do
begin
Read(f, x);
Sum:=Sum+x;
end;
Close(f);
WriteLn(‘Summa of file’s elements =’, Sum);
Readkey;
End.