Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 23.10.2016
Сообщений: 249

Не могу вспомнить формулу в коде

05.12.2016, 04:45. Показов 1275. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
А=atan напомните пожалуйста, не как не вспомню.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
    #include<math.h>
using namespace std;
int main ()
    {
        float a,b,с,B,A;
        const float pi=3.1415;
        cin>>a>>b;
        C=sqrt(a*a+b*b);
        A=atan(a|b|*180/pi);
        B=90-b;
        cout<<С<<' '<<A<<' '<<B;
         return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2016, 04:45
Ответы с готовыми решениями:

Записать в коде формулу
y := arccos( (exp(-x) - exp(x)) / (x + sqrt(x)) ); Я так понял что arccos как то переводится, только математика у меня была очень...

Не могу вспомнить игру
Ищу игру (хотя бы как называется) в которую играла лет эдак пять-семь назад. Что помню: Фентезийная: Мир меча и магии. Бегаешь,...

Не могу вспомнить книгу
Для начинающих игроделов. Язык с#, книга года 2010-2013, автор учил писать текстовый квест Hyperion. Возможно даже часть разделов книги...

6
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,384
05.12.2016, 14:09
C++
1
A=atan(a * 180 / b / pi);
0
1 / 1 / 0
Регистрация: 23.10.2016
Сообщений: 249
06.12.2016, 02:39  [ТС]
Вы немного подправили, это хорошо, но немогли бы сказать что означает эта формула, как например перед ней теорема пифагора.
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,447
06.12.2016, 04:15
Лучший ответ Сообщение было отмечено Neiten как решение

Решение

Цитата Сообщение от Neiten Посмотреть сообщение
немного подправили
Ничего не было подправлено.
Цитата Сообщение от Neiten Посмотреть сообщение
что означает эта формула
Эта формула ничего не обозначает. В программе ошибка. Явно была попытка вычислить угол, прилежащий к гипотенузе прямоугольного треугольника по формуле A = arctg(a/b). Соотношение двух сторон даёт тангенс угла tg(A)=a/b (который ни в чём не измеряется, поскольку это - соотношение расстояний). А с помощью функции арктангенса тангенс угла преобразуется в значение угла A. Функция atan() возвращает значение угла в радианах. Теперь самое интересное. Вот это значение и нужно переводить в градусы. В программе же "переводится в градусы" соотношение двух расстояний. Это примерно то же самое, как звуки в разные цвета раскрашивать. Правильно вот так:
C++
10
        A=180/pi*atan(a/b);
И ещё. Neiten, я не постигаю... Вы Си от Паскаля не отличаете, что ли? Какого рожна Вы в паскалевскую ветку запихали сишный код? Перенести в "C++ для начинающих"? Или Вам требуется перевод этой эпохальной программы на паскаль?
1
 Аватар для vlisp
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,384
07.12.2016, 00:01
Лучший ответ Сообщение было отмечено Neiten как решение

Решение

Все расчеты на уровне программы принято проводить в радианах поэтому нет никакого смысла переводить радианы в градусы, кроме как показать их пользователю... и вообще в условии не было никакой информации, поэтому это может быть что угодно, кроме расчета углов прямоугольного треугольника... Хоть это и похоже... Но программист не обязан ничего придумывать, ему за это не платят...
Так что я просто написал то, что скомпилировалось бы, а смысл выражения меня не беспокоил.
Однако оказалось, что и кроме того в коде достаточно ошибок. Так что вот правильный вариант, если, конечно, это треугольник.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include "math.h"
 
using namespace std;
 
float rtd (float f) { return 180 * f / 3.1415 ; }
 
int main ()  {
    
        float a, b, c, B, A ;
 
        cin >> a >> b;
        
        c = sqrt(a * a + b * b);
        // Тут главное не запутаться какой где угол =)
        A = atan(a / b);
        B = atan(b / a);
 
        cout << c << ' ' << rtd (A) << ' ' << rtd(B) << endl;
        
    system("pause");
    
    return 0;
}
Ну и для сравнения на паскале
Pascal
1
2
3
4
5
6
7
8
9
uses math;
var a, b : float;
begin
  Readln(a,b);
  Writeln( sqrt( a * a + b * b):10:2,
           radtodeg(arctan2 (a, b)):10:2,
           radtodeg(arctan2 (b, a)):10:2 );
  Readln;
end.
1
1 / 1 / 0
Регистрация: 23.10.2016
Сообщений: 249
07.12.2016, 03:23  [ТС]
Спасибо, и да действительно ошибся в который раз.
0
Модератор
10442 / 5734 / 3406
Регистрация: 17.08.2012
Сообщений: 17,447
07.12.2016, 04:26

Не по теме:

vlisp, не обязан ничего придумывать? А это что, возможно при тех знаниях, которые имеет хорошо обученный программист? Я имею ввиду не самоучек, всего лишь знающих несколько языков программирования, а людей, закончивших ВУЗ по специальности, ну, например, "Вычислительная математика"?

Neiten, так что, в Си перенести, да? А то ведь непорядок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2016, 04:26
Помогаю со студенческими работами здесь

Не могу вспомнить исполнителя песни!
Исполняет девушка или девушки не помню уже,песня Collapse , похожа на (Eminem - Till I Collapse). Добавлено через 4 часа 57 минут ...

Не могу вспомнить название игры
как то 5-6 лет назад у меня стоял на машине Windows 2000.сборка была неофициальная,в ней была игра,которая захватила меня...потом как это...

Не могу вспомнить название игры
короч игра старая играл в детсвте еще на 2 пне...персонаж появляется за пределами замка...после он пройдя по мосту появляется на территории...

Не могу вспомнить название фильма
Фильм старый, я его еще на касете смотрел. Там был монстр, чем то похожий на чужого, время в фильме было настоящее. Я лишь помню что в нем...

Не могу вспомнить название игры
День добрый. Может кто подскажет название рпг. Точный сюжет не вспомню, но рпг в советско-российском сеттинге, то ли война, то ли какой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru