Стандартные функции паскаль
Pascal-Паскаль
Программирование. Стандартные функции Pascal-Паскаль
- Скачено бесплатно: 9293
- Куплено: 414
- Pascal-Паскаль->Программирование. Стандартные функции Pascal-Паскаль
Программирование. Стандартные функции Pascal-Паскаль
Стандартные функции Pascal-Паскаль
Стандартные математические функции Турбо Паскаля | |||
---|---|---|---|
Обращение | Тип аргумента | Тип результата | Примечание |
Abs(x) | Real, integer | Тип аргумента | Модуль аргумента |
ArcTan(x) | Real, integer | Real | Арктангенс (значение в радианах) |
Cos(x) | Real, integer | Real | Косинус, угол в радианах |
Exp(x) | Real, integer | Real | Экспонента |
Frac(x) | Real | Real | Дробная часть числа |
Int(x) | Real, integer | Real | Целая часть числа |
Ln(x) | Real, integer | Real | Логарифм натуральный |
Pi | Нет | Real | 3,141592653 |
Sin(x) | Real, integer | Real | Синус, угол в радианах |
Sqr(x) | Real, integer | Тип аргумента | Квадрат аргумента |
Sqrt(x) | Real, integer | Real | Корень квадратный |
Random | Нет | Real | Псевдослучайное число в интервале [0, 1] |
Random(I) | Integer | Integer | Псевдослучайное число в интервале [0, I] |
Round(x) | Real | Integer | Округление до ближайшего целого |
Trunc(x) | Real | Integer | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
- вычисляются подвыражения, заключенные в скобки;
- затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
- возведение в степень;
- мультипликативные операции: * , / , div , mod;
- унарные операции: + , — , abs , not;
- аддитивные операции: +, -;
- операции отношения: = , <>, , =;
- логические операции: and, or, not;
- операции с одинаковым приоритетом выполняются слева направо.
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
- в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: x y = e ylnx
- в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln a
Математическое выражение: x 3/2 — 7x + tg (x+2)
Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
Операторы действия
Операторы действия — это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия — оператор присваивания.
Пример оператора присваивания
Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.
Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.
- В каждый момент времени в ящике может храниться не более одного значения.
- Каждый ящик способен хранить только значения одного и того же типа. Попытка поместить в ящик значение любого другого типа приводит к тому, что ящик отказывается принимать на хранение передаваемое ему значение — это расценивается как ошибка в программе.
- Значение, помещенное в ящик, будет храниться в нем до тех пор, пока в этот ящик не будет помещено новое значение (в момент присваивания соответствующей переменной этого нового значения) — при этом предыдущее содержимое ящика безвозвратно теряется (уничтожается).
- Находящееся в ящике значение считается текущим значением соответствующей переменной. Это текущее значение может быть выдано из ящика для использования сколько угодно раз, но при этом содержимое ящика не меняется: из него каждый раз выдается копия хранящегося значения с сохранением оригинала в ящике без какого-либо изменения.
- К началу выполнения программы содержимое всех запоминающих ящиков считается неопределенным; в частности, их нельзя считать и пустыми, поскольку эти ящики могли использоваться при выполнении предыдущих программ, после чего в ящиках могло что-то остаться.
Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это — пустой оператор (в Паскале он обознается знаком «;»). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия — оператор останова, который прерывает работу программы (в Паскале это оператор halt).
Ввод и вывод данных
Ввод данных с клавиатуры производится с помощью стандартной процедуры read( ) или ее разновидности readln( ). Элементы списка ввода — идентификаторы (имена) переменных, перечисляемые через запятую. При выполнении этого оператора пользователь набирает на клавиатуре соответствующую последовательность значений, разделяя их пробелами (это важно!).
Пример ввода данных с клавиатуры
read(a,b,c);
readln(a,b,c);
Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).
Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.
Пример вывода данных на экран
write(a,b,c);
writeln(a,b,c);
Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Основные функции и процедуры
Математические функции
Синтаксис:
function Abs (X);
Действие: Возвращает абсолютное значение аргумента, в качестве которого можно использовать выражение целого или вещественного типа.
ArcTan
Синтаксис:
function ArcTan (X: Real): Real;
Действие: Возвращает арктангенс аргумента — угла, величина которого выражена в радианах.
Синтаксис:
function Cos (X: Real): Real;
Действие: Возвращает косинус аргумента — угла, величина которого выражена в радианах.
Синтаксис:
function Exp (X: Real): Real;
Действие: Возвращает значение, равное экспоненте аргумента.
Синтаксис:
function Ln (X: Real): Real;
Действие: Возвращает значение, равное натуральному логарифму аргумента.
Синтаксис:
function Sin (X: Real): Real;
Действие: Возвращает синус аргумента — угла, величина которого выражена в радианах.
Синтаксис:
function Sqr (X);
Действие: Возвращает квадрат аргумента, в качестве которого можно использовать выражение целого или вещественного типа.
Синтаксис:
function Sqrt (X: Real): Real;
Возвращает значение, равное квадратному корню из аргумента.
Random
Синтаксис:
function Random [ (Диапазон: Word)];
Действие: Если параметр Диапазон не указан, то возвращает случайное число X, которое удовлетворяет условию 0 типа Word , удовлетворяющее условию 0 Odd
Синтаксис:
function Odd (Число: Integer): Boolean;
Действие: Проверка нечётности числа. Если число нечётное, возвращается True, если число чётное — возвращается False.
Синтаксис:
function Pred (X);
Действие: Возвращает значение, предшествующее X (к первому элементу типа неприменима). Применима также и к символам (значениям порядкового типа данных Char ).
Синтаксис:
function Succ (X)
Действие: Возвращает значение, следующее за X (к последнему элементу типа неприменима). Применима также и к символам (значениям порядкового типа данных Char ).
Синтаксис: Inc (x); Inc (x, k);
Действие: Процедура inc(x) возвращает значение, следующее за х (для арифметических типов данных это эквивалентно оператору x := x + 1).
Процедура Inc(x, k) возвращает k-е значение, следующее за х (для арифметических типов данных это эквивалентно оператору x := x + k). Применима также и к символам (значениям порядкового типа данных Char ).
Синтаксис: Dec (x); Dec (x, k);
Действие: Процедура Dec(x) возвращает значение, предшествующее х (для арифметических типов данных это эквивалентно оператору x := x — 1).
Процедура Dec(x, k) возвращает k-e значение, предшествующее х (для арифметических типов данных это эквивалентно оператору x := x — k). Применима также и к символам (значениям порядкового типа данных Char ).
Функции и процедуры преобразования
Синтаксис:
function Int (X: Real): Real;
Действие: Возвращает целую часть аргумента как значение вещественного типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Round
Синтаксис:
function Round (X: Real): LongInt;
Действие: Возвращает округленное к ближайшему целому значение аргумента.
Синтаксис:
procedure Str (X [:ВсегоСимволов [:ДробнаяЧасть ]]; var Строка: string);
Действие: Выполняет преобразование числового выражения в его строковое представление. ВсегоСимволов и дробнаяЧасть — необязательные выражения целого типа, которые задают общее количество символов и количество символов дробной части в изображении числа.
Trunc
Синтаксис:
function Trunc (X: Real): LongInt;
Действие: Возвращает целую часть аргумента как значение целого типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Синтаксис:
procedure Val (Строка: string; var Переменная; var Ошибка: Integer);
Действие: Выполняет преобразование строки, изображающей целое или вещественное число, в число. Полученное значение присваивается переменной, указанной при вызове процедуры. Если преобразование не может быть выполнено, то в переменную Ошибка записывается номер символа строки, который явился причиной неудачи преобразования. Если преобразование выполнено успешно, то значение сшибка равно нулю.
Функции и процедуры для работы со строками и символами
Синтаксис:
function Chr (КодСимвола: Byte): Char;
Действие: Возвращает символ с указанным кодом.
Синтаксис:
function Ord (Символ: Char): Byte;
Действие: Возвращает код указанного символа.
Concat
Синтаксис:
function Concat (si [, s2, . sN] : string): string;
Действие: Возвращает строку, являющуюся объединением строк, указанных при вызове функции.
Синтаксис:
function Copy (s: string; n: Integer; i: Integer): string;
Действие: Возвращает подстроку — часть строки а. Подстрока начинается с символа с номером n и состоит из i символов.
Delete
Синтаксис:
procedure Delete (var s: string; НомерСимвола: Integer; Сколько: Integer);
Действие: Удаляет из строки s её часть, которая начинается с символа с номером п и состоит из i символов.
Length
Синтаксис:
function Length (Строка: string): Integer;
Действие: Возвращает значение, равное количеству символов строки-аргумента.
Синтаксис:
function Pos (Строка: string; Подстрока: string): Byte;
Действие: Возвращает позицию (номер символа) подстроки в строке.
Процедуры и функции для работы с файлами
Append
Синтаксис:
procedure Append (var F: Text);
Действие: Открывает существующий файл, связанный с файловой переменной F в режиме добавления в конец файла. При попытке открыть несуществующий файл появляется ошибка времени выполнения программы.
Assign
Синтаксис:
procedure Assign (var F; ИмяФайла: string);
Действие: Связывает файловую переменную г с конкретным файлом.
Close
Синтаксис:
procedure Close (var F);
Действие: Закрывает файл, связанный с файловой переменной к.
Синтаксис:
function Eof (var F): Boolean;
Действие: Проверяет, не достигнут ли конец файла (end of file) при чтении из файла, связанного с файловой переменной f. Если указатель чтения достиг конца файла, то функция Eof возвращает значение True, в противном случае — False.
Erase
Синтаксис:
procedure Erase (var F) ;
Действие: Уничтожает файл, имя которого связано с файловой переменной F.
Reset
Синтаксис:
procedure Reset (var F [:File; RecSize: Word]);
Действие: Открывает существующий файл. Тип файла может быть любым. Если элементы файла не относятся к одному из стандартных типов, то параметр RecSize задает длину записи (в байтах). При попытке открыть несуществующий файл возникает ошибка времени выполнения.
Rewrite
Синтаксис:
procedure Rewrite (var F [:File; RecSize: Word]);
Действие: Создает и открывает файл, имя которого связано с файловой переменной F Если файл с таким именем уже существует то процедура Rewrite его уничтожает и создаёт новый.
Синтаксис:
function Eoln [ (var F: Text)]: Boolean;
Действие: Если при обращении к функции Eoln параметр не указан, то функция проверяет, не является ли очередной символ, читаемый из буфера клавиатуры, символом «новая строка». Если является, то функция возвращает значение True, в противном случае — False. Если параметр указан, то функция аналогичным образом проверяет очередной символ текстового файла, связанного с файловой переменной, указанной при вызове функции.
Синтаксис:
procedure Halt [ (КодЗавершения: Word) ];
Действие: Завершает выполнение программы и передаёт управление операционной системе.
Pascal. Стандартные функции и выражения
Стандартные функции Pascal
В программировании, довольно часто приходиться выполнять однотипные действия, причем в задачах разного уровня и класса. И для ускорения процесса написания кода эти действия выносят в специальные подпрограммы – стандартные функции. Обращение к такой подпрограмме происходит по ее имени, а в скобках указывается значение аргумента. В следующей таблице указаны те стандартные функции, которые используются в языке программирования Pascal.
Функция | Назначение |
ABS(x) | Вычисление абсолютного значения x: |х| |
SQR(x) | Вычисление квадрата x: x*x |
SIN(x) | Вычисление синуса x: sin x |
COS(x) | Вычисление косинуса x: cos x |
ARCTAN(x) | Вычисление арктангенса x: arctg x |
EXP(x) | Вычисление экспоненты (числа Е) в степени x |
EXP10(x) | Вычисление 10 в степени x |
LN(x) | Вычисление натурального логарифма x |
LOG(x) | Вычисление десятичного логарифма x |
SQRT(x) | Вычисление квадратного корня из x |
A DIV B | Вычисление частного при делении А на В с отбрасыванием остатка |
A MOD B | Нахождение остатка от делении А на В |
TRUNC(x) | Нахождение целой части x |
RANDOM(x) | Псевдослучайное число в интервале [0, x] |
ROUND(x) | Округление значения x в сторону ближайшего целого |
ODD(x) | Проверяет аргумент на нечетность. Результат TRUE, если аргумент нечетный, FALSE – если четный. |
ORD(x) | Возвращает порядковый номер аргумента и, как следствие, преобразует величину порядкового типа в величину целого типа. |
CHR(x) | Определение символа языка Паскаль по его порядковому номеру |
SUCC(x) | Нахождение элемента, идущего после данного в перечне допустимых элементов |
PRED(x) | Нахождение элемента, идущего перед данным в перечне допустимых элементов |
FRAC(X) | Возвращает дробную часть x |
INT(X) | Возвращает целую часть x |
Pi | Значение математической постоянной π |
EOF(x) | Возвращает TRUE, если файл находится в стоянии “конец файла”, иначе FALSE, если нет конца файла |
Выражения в Pascal
Выражение состоит из переменных, констант, полей в записях, указателей функций, круглых скобок и знаков операций. Для корректной записи выражений необходимо знать не только как обозначаются те или иные операции, функции и т. п., но также стоит предусмотреть приоритеты их выполнения, математические и логические правила, а также некоторые тонкости самого языка. Для более углубленного изучения выражений, стоит рассмотреть несколько примеров.
1) 12+3*3=21 (12+3)*3=45
Как видите выражения в Pascal, имеют такой же приоритет, как и в математике, а с помощью круглых скобок его можно изменить.
Такое логическое выражение возвращает истину, лишь в том случае, когда истинны оба выражения, т. е. если a входит в диапазон от 1 до 20 включительно. Стоит обратить внимание на скобки, здесь они необходимы для изменения приоритета, так как у операторов сравнения он низший.
3) (a+3>0) and (a+3 1) and (b
Условие вернет истину, тогда когда истинными будут два условия слева или справа от OR, а также если они оба будут истинными.
Логическая операция OR (или) суть дизъюнкция в логики и поэтому имеет следующую таблицу истинности:
X | Y | X or Y |
1 | 1 | |
1 | 1 | |
1 | 1 | 1 |
Ложь имеет место только когда X и Y ложны (нули). В том случае, чтобы истина возвращалась только тогда, когда одно из условий верно следует применить оператор XOR (исключающее или):
(a+3>0) and (a+3 1) and (b
В Pascal нет функции возведения числа в степень (кроме степени 2), поэтому существует два пути:
1 — умножать число само на себя, какое то количество раз;
2 — воспользоваться функциями экспоненты и натурального логарифма.
В этом примере использованы оба варианта, но если степень, в которую необходимо возвести число, достаточно велика, то предпочтение следует отдать второму способу.
Pascal. Стандартные функции и выражения
Стандартные функции.
В программировании, довольно часто приходиться выполнять однотипные действия, причем в задачах разного уровня и класса. И для ускорения процесса написания кода эти действия выносят в специальные подпрограммы – стандартные функции. Обращение к такой подпрограмме происходит по ее имени, а в скобках указывается значение аргумента. В следующей таблице указаны те стандартные функции, которые используются в языке программирования Pascal.
Функция | Назначение |
ABS(x) | Вычисление абсолютного значения x: |х| |
SQR(x) | Вычисление квадрата x: x*x |
SIN(x) | Вычисление синуса x: sin x |
COS(x) | Вычисление косинуса x: cos x |
ARCTAN(x) | Вычисление арктангенса x: arctg x |
EXP(x) | Вычисление экспоненты (числа Е) в степени x |
EXP10(x) | Вычисление 10 в степени x |
LN(x) | Вычисление натурального логарифма x |
LOG(x) | Вычисление десятичного логарифма x |
SQRT(x) | Вычисление квадратного корня из x |
A DIV B | Вычисление частного при делении А на В с отбрасыванием остатка |
A MOD B | Нахождение остатка от делении А на В |
TRUNC(x) | Нахождение целой части x |
RANDOM(x) | Псевдослучайное число в интервале [0, x] |
ROUND(x) | Округление значения x в сторону ближайшего целого |
ODD(x) | Проверяет аргумент на нечетность. Результат TRUE, если аргумент нечетный, FALSE – если четный. |
ORD(x) | Возвращает порядковый номер аргумента и, как следствие, преобразует величину порядкового типа в величину целого типа. |
CHR(x) | Определение символа языка Паскаль по его порядковому номеру |
SUCC(x) | Нахождение элемента, идущего после данного в перечне допустимых элементов |
PRED(x) | Нахождение элемента, идущего перед данным в перечне допустимых элементов |
FRAC(X) | Возвращает дробную часть x |
INT(X) | Возвращает целую часть x |
Pi | Значение математической постоянной π |
EOF(x) | Возвращает TRUE, если файл находится в стоянии “конец файла”, иначе FALSE, если нет конца файла |
Выражения
Выражение состоит из переменных, констант, полей в записях, указателей функций, круглых скобок и знаков операций. Для корректной записи выражений необходимо знать не только как обозначаются те или иные операции, функции и т. п., но также стоит предусмотреть приоритеты их выполнения, математические и логические правила, а также некоторые тонкости самого языка. Для более углубленного изучения выражений, стоит рассмотреть несколько примеров.
1) 12+3*3=21 (12+3)*3=45
Как видите выражения в Pascal , имеют такой же приоритет, как и в математике, а с помощью круглых скобок его можно изменить.
2) ( a >1) and ( a 3) (a+3>0) and (a+3 1) and (b
Условие вернет истину, тогда когда истинными будут два условия слева или справа от OR , а также если они оба будут истинными.
Логическая операция OR (или) суть дизъюнкция в логики и поэтому имеет следующую таблицу истинности:
X | Y | X or Y |
1 | 1 | |
1 | 1 | |
1 | 1 | 1 |
Ложь имеет место только когда X и Y ложны (нули). В том случае, чтобы истина возвращалась только тогда, когда одно из условий верно следует применить оператор XOR (исключающее или):
(a+3>0) and (a+3 1) and (b
4) x ^( a ) = exp( a *ln( x ))
В Pascal нет функции возведения числа в степень (кроме степени 2), поэтому существует два пути:
1 — умножать число само на себя, какое то количество раз;
2 — воспользоваться функциями экспоненты и натурального логарифма.
В этом примере использованы оба варианта, но если степень, в которую необходимо возвести число, достаточно велика, то предпочтение следует отдать второму способу.