Как найти арктангенс в паскале

Раздел: Стандартные функции Паскаля

Основы программирования 2.0

Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать.
Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь.
Подробнее…

Функция 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

Как стать программистом 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


Студворк — интернет-сервис помощи студентам

А вообще функция такая:

https://www.cyberforum.ru/cgi-bin/latex.cgi?frac{arctansqrt[5]{x}}{{x}^{2}+0.5 sin {x}}

надо записать в Паскале



0



Puporev

Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

05.02.2014, 11:40

2

Лучший ответ Сообщение было отмечено biol как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var x,a,y:real;
begin
clrscr;
write('x=');
readln(x);
if x=0 then write('Выражение не определено'){в знаменателе 0}
else
 begin
  {вычислим корень 5 степени из х}
  if x>0 then a:=exp(ln(x)/5)
  else a:=-exp(ln(-x)/5);
  y:=arctan(a)/(x*x+0.5*sin(x));
  write('y=',y:0:3)
 end;
readln
end.



0



ermolay

3451 / 2389 / 2135

Регистрация: 04.12.2011

Сообщений: 3,966

05.02.2014, 11:42

3

для вычисления арктангенса в паскале есть стандартная функция ArcTan
Вычисление выражение можно записать так:

Pascal
1
2
3
4
5
6
7
8
9
10
Var
  x, y: Real;
Begin
  write('Введите x: ');
  readln(x);
  y:=ArcTan(exp(ln(abs(x))/5))/(x*x+0.5*sin(x));
  if x<0 then y:=-y;
  writeln('y(',x,')=',y);
  readln;
End.



0



Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

05.02.2014, 11:49

4

Так нельзя. Если x<0, то программа выдаст ошибку на стр.6, не говоря уже о х=0

Добавлено через 2 минуты
Я не обратил внимание на abs. , извиняюсь.

Добавлено через 2 минуты
Но все равно неверно будет.



1



ermolay

3451 / 2389 / 2135

Регистрация: 04.12.2011

Сообщений: 3,966

05.02.2014, 11:56

5

Puporev, да, спасибо, не учел x=0…

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Var
  x, y: Real;
Begin
  write('Введите x: ');
  readln(x);
  if x=0 then writeln('Выражение не определено') else
  begin
    y:=ArcTan(exp(ln(abs(x))/5))/(x*x+0.5*sin(x));
    if x<0 then y:=-y;
    writeln('y(',x,')=',y);
  end;
  readln;
End.



0



Puporev

Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

05.02.2014, 12:43

6

Так это тоже неверно

Pascal
1
2
 y:=ArcTan(exp(ln(abs(x))/5))/(x*x+0.5*sin(x));
    if x<0 then y:=-y;

от знака при х непосредственно зависит только это
при x>0 exp(ln(abs(x))/5)
при x<0 -exp(ln(abs(x))/5)
определить значение y сменой знака не получится.



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

Цитата
Сообщение от ermolay
Посмотреть сообщение

знак арктангенса прямо зависит от знака аргумента

Наверное я запутался….



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» будет присвоено значение числа «?».

Funkcii Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi

Funkcii Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi.

Дополнение к материалу.

  • Функции Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi определены только для вещественных (дробных) чисел.
  • В Паскале не существует операции возведения в степень. Есть только операция возведения числа в квадрат (Sqr). Чтобы возвести число в степень используют операцию умножения. Например, чтобы возвести число 3 в 5-ю степень необходимо записать 3*3*3*3*3

Добавить комментарий