Раздел: Стандартные функции Паскаля
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее… |
Функция ArcTan вычисляет арктангенс числа. Синтаксис:
function ArcTan(X : ValReal) : ValReal;
Функция возвращает арктангенс числа Х, которое может быть любого вещественного типа. Результат работы функции – угол в радианах.
Как найти арктангенс числа
О тригонометрических функциях я рассказывал здесь. Поэтому в данной статье повторяться не буду. Напомню лишь о том, что такое тангенс и арктангенс.
Итак, тангенс – это отношение синуса угла к косинусу, которое выражается формулой:
tg(Z) = sin(Z) / cos(Z)
где Z – это угол.
В этом случае справедливо равенство:
tg(Z) = arctg(X)
где Х – это обратная функция, то есть число, которое мы получаем при вычислении тангенса угла Z.
То есть если
tg(45) = 1
то
arctg(1) = 45
Здесь углы указаны в градусах.
Отсюда также следует, что выражение арктангенс угла является
неправильным, так как угол может быть результатом вычисления арктангенса,
но не параметром функции. Можно говорить тангенс угла, или
арктангенс числа.
Таблица арктангенсов
В качестве примера использования функции ArcTan предлагаю небольшую программу, которая выводит на экран таблицу арктангенсов (числа от 0 до единицы с шагом 0,1). Углы будут выводиться в градусах и радианах. При желании можно создать более подробную таблицу, например, с шагом 0,01.
program arctanfunc; const STEP = 0.1; var x, at, gr : single; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin x := -STEP; while x <= 1 do begin x := Abs(x + STEP); at := ArcTan(x); gr := (180 * at / Pi); WriteLn('arctg (', x:0:1, ') = ', at:0:4, ' (', gr:0:1, ')'); end; WriteLn('The end. Press ENTER...'); ReadLn; end.
|
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… |
|
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение – ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. |
Паскаль
Корень квадратный
y := sqrt(2*x)
Модуль |x|
y := abs(2*x)
Случайное число в диапазоне от 0 до числа 9
y := random(10)
Случайное число в диапазоне от -5 до 5
y := random(11)-5
Синус
y := sin(2*x)
Косинус
y := cos(2*x)
Округление до ближайшего целого
y := round(2*x)
Тангенс
y := tan(2*x)
Арктангенс
y := arctan(2*x)
Натуральный логарифм
y := ln(2*x)
Экспонента
y := exp(2*x)
Целая часть числа
y := int(2*x)
Отбрасывание дробной части числа
y := trunc(2*x)
Дробная часть числа
y := frac(2*x)
Число Пи
y := Pi*2
Порядок вычислений в выражениях следующий:
- вычисляются подвыражения, заключенные в скобки;
- затем выполняются операции с наибольшим приоритетом.
Обычно используются следующие уровни приоритетов (в порядке убывания):
- возведение в степень;
- мультипликативные операции: * , / , div , mod;
- унарные операции: + , — , abs , not;
- аддитивные операции: +, -;
- операции отношения: = , <>, <, >, <=, >=;
- логические операции: and, or, not
Операции с одинаковым приоритетом выполняются слева направо.
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Замечание (это важно!)
- в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: xy= e y * ln(x)
- в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln(b)/ln(a)
- в Паскале нет стандартных функций арксинуса и арккосинуса, поэтому их находят через функцию арктангенса: Arcsin := Arctan(x/sqrt(1-sqrt(x))), Arccos := Arctan(sqrt(1-sqr(x))/x);
Dimasss
Мыслитель
(7082),
закрыт
13 лет назад
Лучший ответ
Машенька Хлупина
Мастер
(1182)
13 лет назад
arctan(1/x)
Остальные ответы
WIZARD
Мастер
(1318)
13 лет назад
Знаю, что в бэсике: ATAN . Попробуй в паскале
Саня Семенов
Оракул
(58683)
13 лет назад
так же, просто надо модуль math подключить в строке uses
Похожие вопросы
8 / 8 / 14 Регистрация: 01.02.2014 Сообщений: 65 |
|
1 |
|
Как записать арктангенс в паскале?05.02.2014, 11:26. Показов 30867. Ответов 8
А вообще функция такая: надо записать в Паскале
0 |
Puporev Почетный модератор 64285 / 47584 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
05.02.2014, 11:40 |
2 |
|||
Сообщение было отмечено biol как решение Решение
0 |
ermolay 3451 / 2389 / 2135 Регистрация: 04.12.2011 Сообщений: 3,966 |
||||
05.02.2014, 11:42 |
3 |
|||
для вычисления арктангенса в паскале есть стандартная функция ArcTan
0 |
Почетный модератор 64285 / 47584 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
05.02.2014, 11:49 |
4 |
Так нельзя. Если x<0, то программа выдаст ошибку на стр.6, не говоря уже о х=0 Добавлено через 2 минуты Добавлено через 2 минуты
1 |
ermolay 3451 / 2389 / 2135 Регистрация: 04.12.2011 Сообщений: 3,966 |
||||
05.02.2014, 11:56 |
5 |
|||
Puporev, да, спасибо, не учел x=0…
0 |
Puporev Почетный модератор 64285 / 47584 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
05.02.2014, 12:43 |
6 |
|||
Так это тоже неверно
от знака при х непосредственно зависит только это
0 |
3451 / 2389 / 2135 Регистрация: 04.12.2011 Сообщений: 3,966 |
|
05.02.2014, 15:51 |
7 |
со всем моим почтением осмелюсь возразить: знак арктангенса прямо зависит от знака аргумента. И степень нечетная, влиять на знак не будет.
0 |
Почетный модератор 64285 / 47584 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
05.02.2014, 16:06 |
8 |
знак арктангенса прямо зависит от знака аргумента Наверное я запутался….
0 |
ildwine |
05.02.2014, 18:38
|
Не по теме: Нешуточная дискуссия 😀
0 |
Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr – квадрат числа, Abs – модуль числа, Sqrt – корень числа, а также известные всем математические функции Sin, Cos, Arctan, Ln, Exp, Pi.
Program number12; uses crt; var A, B:real; begin clrscr; A:=2.0; B:=Sqr(A); writeln('Sqr(2.0)=',B:4:2); B:=Abs(-A); writeln('Abs(-2.0)=',B:4:2); B:=Sqrt(A); writeln ('Sqrt(2)=',B:4:2); B:=Sin(A); writeln('Sin(2)=',B:6:3); B:=Cos(A); writeln('Cos(2)=',B:6:3); B:=Arctan(A); writeln('Arctan(2)=',B:6:3); B:=Ln(A); writeln('Ln(2)=',B:10:9); B:=Exp (A); writeln('Exp (2)=',B:10:9); B:=Pi; writeln('Pi=',B:10:9); readln end.
В строке №7 записывается функция Sqr. Это функция возведения числа в квадрат.
В строке №9 записывается операция нахождения модуля числа.
Функции Sqr и Abs мы разбирали в уроке Abs, Sqr в Pascal.
В строке №11 записывается функция Sqrt. Данная функция подсчитывает корень числа, стоящего в скобках после слова Sqrt. В нашем случае функция Sqrt будет считать корень из числа «2».
В строке №13 записываем функцию Sin. Данная функция будет подсчитывать синус числа, стоящего в скобках после записи функции.
Строка №15. Функция Cos подсчитывает косинус числа, стоящего в скобках после функции.
Строка №17. Функция Arctan вычисляет арктангенс числа, стоящего в скобках после записи функции.
Строка №19. Функция Ln подсчитывает логарифм числа, стоящего в скобках после записи функции.
Строка №21. Функция Exp возводит число «e» (экспонента – 2.72…) в степень, значение которой указывается в скобках после слова Exp. Т.е. в нашем случае число «e» будет возведено в степень «2».
Строка №23. Переменной «B» будет присвоено значение числа «?».
Дополнение к материалу.
- Функции Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi определены только для вещественных (дробных) чисел.
- В Паскале не существует операции возведения в степень. Есть только операция возведения числа в квадрат (Sqr). Чтобы возвести число в степень используют операцию умножения. Например, чтобы возвести число 3 в 5-ю степень необходимо записать 3*3*3*3*3