Арифметические процедуры
Лекция 17 Тема: Стандартные процедуры и функции Функции преобразования
Следующие функции преобразуют значение аргумента к другому типу: chr (x : byte) : char – возвращает символ ASCII с заданным номером. Например, write(chr(105)); Результат = ‘i’. ord (x) : longint – возвращает порядковый номер скалярного аргумента. Например, write(ord(‘A’)); Результат = 65. round (x:real) : longint – возвращает округленное значение аргумента, преобразованного к целому типу. Например, write(round(5.6):2); Результат = 6. trunc (x:real) : longint – преобразовывает аргумент к целому типу путем отбрасывания дробной части. Например, write(trunc(5.7):2); Результат = 5. Арифметические функции
Для математических расчетов определены следующие функции: int (x : real) : real – возвращает целую часть аргумента. frac (x : real) : real - возвращает дробную часть аргумента. x = int (x) + frac (x) pi : real – возвращает значение числа “пи” (p = 3,141592653589793…- отношение длины окружности к диаметру). abs (x) – возвращает абсолютное значение аргумента (аргумент этой функции может быть и вещественным, и целым). arctan (x :real) : real – возвращает арктангенс аргумента. Для вычисления других обратных тригонометрических функций следует пользоваться тождествами: arcsin(x) = arctan(x/sqrt(1 – x*x)); arcctg(x) = pi/2 – arctan(x); arccos(x) = pi/2 – arctan(x / sqrt(1 – x*x)); cos(x : real) : real – возвращает косинус аргумента. sin(x : real) : real – возвращает синус аргумента. exp (x : real) : real – возвращает экспоненту аргумента. ln (x : real) : real – возвращает натуральный логарифм аргумента. sqr (x) – возвращает квадрат аргумента. Аргумент может быть и вещественным, и целым. sqrt (x : real) : real – возвращает квадратный корень аргумента.
Пример 5.1. Составить программу вычисления функции по формуле y := Выражение, встречающееся неоднократно, обозначим s = sin x, t = x2 + a2, тогда y = 0,5× ×(0,5×10-3 + ). Упрощение арифметических выражений и программирование сложных выражений в несколько приёмов экономит память, уменьшает время трансляции и выполнения программы. program p51; const pi = 3.14; var a, x, y, t, s : real; begin read(a, x); t := a*a+x*x; s := sin(x); y := 0.25*s*s / t; y := y * (1.0E-03 + sqrt(abs(p-x)) / ln(t) / abs(s)); write(‘a=’:5, a:8); write(‘x=’:5, x:8); write(‘y=’:5, y:8) End.
Задание 5.1 1. Запишите на Паскале следующие формулы: а) (1 + х)2; б) ; в) |a + bx|; г) sin 8; д) cos2x3; е) tg x; ж) log2 ; з) ch x; и) arcctg 103; к) acrsin x. 2. Запишите на Паскале следующие формулы (x >0): а) x-1; б) x4; в) x-2; г) x5; д) x100; е) ж) з) 3. Запишите на Паскале следующие формулы: а) б) в) 4. Вычислите значения выражений: а) б) в) 5. Переменной присвойте дробную часть положительного числа Возведение в степень
Если показатель степени – целое число, то возведение в степень сводится к многократному умножению в случае, когда показатель степени больше нуля, и многократному делению, если меньше нуля. Например:
Если показатель степени – вещественное число, то возведение в степень программируется согласно тождеству v u = e u×ln v. Отсюда v u ~ exp (u * ln(v)). Например:
Удобно пользоваться функциями sqrt(x) sqr(x):
Задание 5.2 Запишите на Паскале следующие выражения: а) еp+q; б) е|p+q|; в) xp+q; г) x|p+q|; д) (p + q) x; е) |p + q| x; ж) еp×q; з) ; и) еp×q; к) .
Арифметические процедуры
Для быстрого увеличения и уменьшения целых переменных определены процедуры dec и inc. dec(x [, n : longint]) – уменьшает значение первого аргумента на величину второго параметра, а если он отсутствует, то на 1. Например, x := 10; dec(x,2); Результат = 8. inc(x [, n : longint]) – увеличивает значение первого аргумента на величину второго параметра, а если он отсутствует, то на 1. Например, x := 10; inc(x,3); Результат = 13.
Скалярные функции
Скалярные функции обрабатывают данные любого скалярного типа, кроме вещественного. odd (x: longint) : boolean – возвращает true, если аргумент нечетный. Например, результатом выполнения функции odd(3) будет true. pred (x) – возвращает предшествующий элемент в типе аргумента. Например, результатом выполнения функции pred(90) будет 89. succ(x) - возвращает следующий элемент в типе аргумента. Например, результатом выполнения функции succ(90) будет 91. Примечание. Если var i : integer; {то следующие три оператора эквивалентны, но каждый следующий выполняется быстрее предыдущего} i := i + 1; i := i - 1; i := succ(i); i := pred(i); inc(i); dec(i);
Процедуры завершения Выход из процедуры и завершение Паскаль-программы реализуются следующими средствами: Exit – выход из процедуры. Halt[(Code:Word)] – выход в операционную систему с передачей кода возврата (если он указан).
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Почему стероиды повышают давление?: Основных причин три... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (340)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |