Функция Int вычисляет целую часть значения с плавающей точкой. Синтаксис:
function Int(X: ValReal) : ValReal;
Функция возвращает целую часть вещественного числа Х. Тип данных возвращаемого значения является также вещественным числом.
О типе ValReal я рассказывал здесь.
Функция Frac возвращает дробную часть числа с плавающей точкой. Синтаксис:
function Frac(X: ValReal) : ValReal;
Целая часть числа
Как известно, вещественное число имеет целую часть и дробную часть. Например, число 3,14 можно произнести словами как “три целых, четырнадцать сотых”.
Соответственно, целая часть числа 3,14 — это число 3.
И, как вы теперь уже знаете, получить целую часть числа в Паскале можно с помощью функции Int:
Дробная часть числа
Если рассмотреть всё то же число 3,14, то его дробной частью будет число 0,14. То есть вещественное число состоит из двух частей, сумма которых и является вещественным числом:
Получить дробную часть числа в Паскале можно с помощью функции Frac:
Пример программы, которая использует функции Int и Frac, приведён ниже:
Программирование. Стандартные функции Pascal-Паскаль
- Скачено бесплатно: 6955
- Куплено: 414
- 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)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Арифметические операции
Начнем , пожалуй , с самого простого — арифметические операции с числами в паскале. В паскаль встроены многие привычные нам арифметические операции ( Сложение , вычитание , умножение , деление и т.п ).
Как же осуществляются подобные операции с числами ?. Давайте разберем это на примере исходника одной программы.
200?’200px’:»+(this.scrollHeight+5)+’px’);"> program mypascal;
var
a,b:integer;
c:real;
begin
a:= a — b; // a-b = 7 — 4 = 3 , следовательно a = 3 , b = 4 , c = 0
b:= a + b; // a+b = 3 + 4 = 7 , a = 3 , b = 7 , c = 0
a:= b * 2; // b*2 = 7 * 2 = 14 , a = 14 , b = 7 , c = 0
c:= a / b; // a/b = 14 / 7 = 2 , a = 14 , b = 7 , c = 2
Результатом выполнения данной программы будет вывод на экран трех чисел 14 7 2. Разберемся в том , как это работает.
В начале программы мы объявляем 2 целочисленные ( integer ) переменные "a" и "b" , а также 1 переменную "c" вещественного ( real ) типа.
Зачем нам нужна вещественная переменная ? Для записи результата деления целочисленная переменная не подходит , так как у нас получается дробь , а не целое число.
Теперь мы присваиваем переменной "a" значение 7 , а переменной "b" значение 3
. Переменную "c" при этом оставляем нулевой ( она нам пока не понадобится ).
Далее (в блоке begin end) мы расписываем арифметические операции с нашими числами. Обратите внимание на то , что после символов // идет комментарий , который не компилируется программой.
Запомните : Строка a:= a — b; выглядит так a:= 7 — 4; , а не так 7:= 7 — 4;
Другие операции с числами
В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.
1. Как найти квадрат числа в паскале ?
Для нахождения квадрата числа в паскале предусмотрена функция sqr(x) , где x — число.
Пример :
Результат : переменной "а" присваивается значение 25.
2. Как найти корень числа в паскале ?
Для нахождения корня числа в паскале предусмотрена функция sqrt(x) , где x — число.
Пример :
Результат : переменной "а" присваивается значение 5.
3. Как округлить число в паскале ?
Для того , чтобы округлить некоторое число используется операция round(x).
Пример :
Результат : переменной "а" присваивается значение 9.
4. Как убрать дробную часть у числа в паскале ?
Для того , чтобы отбросить дробную часть числа используется операция trunc(x).
Пример :
Результат : переменной "а" присваивается значение 25.
5. Как убрать целую часть у числа в паскале ?
Для того , чтобы отбросить целую часть числа используется операция frac(x).
Пример :
Результат : переменной "а" присваивается значение 0.2.
6. Как получить модуль числа в паскале ?
Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :
Результат : переменной "а" присваивается значение 8.
Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.
Выводы :
Для работы с числами в паскале предусмотрено множество различных операций. Мы можем делать с числами все , что угодно ( складывать , умножать , возводить в квадрат и т.п ).