Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84

Неправильно считает синус

13.10.2021, 23:14. Показов 4221. Ответов 39

Студворк — интернет-сервис помощи студентам
Здраствуйте, возникла проблема. Нужно посчитать синус, выбрал для проверки синус 30 градусов. Но дело в том, что синус считается неправильно. Помогите пожалуйста


Изображения
 
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2021, 23:14
Ответы с готовыми решениями:

Неправильно считает программа vba
Неправильно считает программа vba.Не могу понять где ошибка.Заранее спасибо за помощь. И если не трудно,можете помочь с созданием блок...

Неправильно считает синус
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { ...

Неправильно вычисляется синус
S:=sin(a); Ввожу 90, ответ выдает 0,89, а не "1". Почему, подскажите пожалуйста!?

39
 Аватар для Argus19
1433 / 450 / 78
Регистрация: 24.09.2017
Сообщений: 2,533
Записей в блоге: 23
13.10.2021, 23:31
то за конструкция TextBox_Data2?
Чему равно "z"?

Добавлено через 12 минут
В VB 6.0 TextBox-ы имеют названия Text1, Text2 и т.д.
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
13.10.2021, 23:48
AoHeaven, обычно угол считается в радианах (в компах). Переведите в градусы - если вам надо в градусах - pi/180.
0
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.10.2021, 10:27  [ТС]
Argus19, TextBox_Data2 это обычный TextBox, разве не очевидно? А z это перемегная, она равняется синуса числа которое находится в TextBox_Data3

P.S: TextBox_Dats2 случайно сюда вставил, перепутал. Моя ошибка

Добавлено через 1 минуту
vedunasv, тоесть то число, что получилось умножить на пи поделить на 180?
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 10:36
да - это перевод радиан на градусы
Но если Вы именно в радианах желаете, то надо тогда думать над ошибкой.
По умолчанию углы считаются в РАДИАНАХ.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
14.10.2021, 19:57
Цитата Сообщение от AoHeaven Посмотреть сообщение
Но дело в том, что синус считается неправильно.
- срочно письмо в Microsoft! Такая ошибка!... Но если дать себе труд подумать, то нужно градусы перевести в радианы (если ты знаешь, что такое радиан)

А то - синус вычисляется неверно! Ах! Конечно... У всего мира вычисляется верно.
Миниатюры
Неправильно считает синус  
2
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 21:38
Catstail, наоборот надо
Цитата Сообщение от Catstail Посмотреть сообщение
то нужно градусы перевести в радианы
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 21:41
Цитата Сообщение от vedunasv Посмотреть сообщение
да - это перевод радиан на градусы
Ты по-моему сам запутался
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 21:58
Лучший ответ Сообщение было отмечено AoHeaven как решение

Решение

хмммм..... проверьте себя!
sin(30 град )= 0.5

Visual Basic
1
2
3
4
5
6
7
8
9
Option Explicit
 
Private Sub Form_Load()
   Debug.Print Sin(30)  '=0.9 rad
 
   Debug.Print Sin(30 * 3.14 / 180)  '=0.5 grad
 
 
End Sub
Также найдена справка;

Returns a Double specifying the sine of an angle.

Syntax

Sin(number)

The required number argument is a Double or any valid numeric expression that expresses an angle in radians.

Remarks

The Sin function takes an angle and returns the ratio of two sides of a right triangle. The ratio is the length of the side opposite the angle divided by the length of the hypotenuse.

The result lies in the range -1 to 1.

To convert degrees to radians, multiply degrees by pi/180. To convert radians to degrees, multiply radians by 180/pi.


Я всегда перевожу из рад в градусы при помощи пи/180

Добавлено через 5 минут
Я всегда перевожу из рад в градусы при помощи пи/180


Может быть с, в современном каком-то VBA, VB не 6 - и в градусах уже считается - тогда не знаю...
1
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:02
Цитата Сообщение от vedunasv Посмотреть сообщение
проверьте себя!
А что не так то?
Надо перевести градусы в радианы, что ты и делаешь.
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 22:06
я выше привожу пример в коде
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:08
Цитата Сообщение от vedunasv Посмотреть сообщение
я выше привожу пример в коде
Да, переводишь градусы в радианы и вычисляешь синус.
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 22:16
стоп! син(30) градусов всегда было 0.5 так?

Добавлено через 2 минуты
I can, аууууу
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:16
Цитата Сообщение от vedunasv Посмотреть сообщение
стоп! син(30) градусов всегда было 0.5 так?
Да.
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 22:17
а здесь что Debug.Print Sin(30)
почему =0.9
в какой это системе?
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:19
Цитата Сообщение от vedunasv Посмотреть сообщение
почему =0.9
в какой это системе?
Это синус 30 радиан равен 0.9
0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 22:21
вот
знач
Цитата Сообщение от vedunasv Посмотреть сообщение
Debug.Print Sin(30 * 3.14 / 180)  '=0.5 grad
это перевод в градусы

Или в чём я ошибаюсь?????
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:23
Цитата Сообщение от vedunasv Посмотреть сообщение
это перевод в градусы
Нет, это перевод 30 градусов в радианы(примерно 0.52) и вычисление синуса угла величиной 0.52 радиан.
0
fly
 Аватар для I can
4955 / 4645 / 844
Регистрация: 13.04.2015
Сообщений: 9,840
14.10.2021, 22:25
И еще, у синуса нет единицы измерения, это отношение.

0
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
14.10.2021, 22:25
мдаааа, не понимаю....
как тогда выразить, чтоб было в градусах?

что нет измерения это да, с этим не спорю

короче, тут просто семантика.
но реально, чтоб получить син(30) град, надо применить формулу приведения - вот что я желаю сказать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2021, 22:25
Помогаю со студенческими работами здесь

Не работает функция синус и неправильно выводятся числа
#include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h> #define MAX_RAND 0x7fff ...

Неправильно считает
Почему-то первые 9 условий считает неправильно... (для сравнения...

неправильно считает
void __fastcall TForm1::Button1Click(TObject *Sender) { float x, y, z, s; x = StrToFloat(Edit1->Text); y = StrToFloat(Edit2->Text);...

Неправильно считает
Сделал программу под эту задачу :Дана матрица А(4,4). 1.Считать матрицу с файла и вывести на экран. 2.Найти сумму элементов среди...

Неправильно считает
имеется простой код #include <math.h> #include <stdio.h> #include <dos.h> #include <stdlib.h> int main(void) ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru