Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 19.10.2013, 19:14   #1 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию Решение в Java

Здравствуйте! Помогите, пожалуйста, не знаю, как записать решение.

В общем, задача такая:

sin(a)+sin(a^2)+sin(a^3)+...+sin(a^n)
Нужно получить результат для определенных a и n.
Во первых, я не влип в смысл этой задачи, а во вторых, не знаю как написать решение.

Как я понимаю, здесь a представляется в радианах?

Заранее благодарен.
Вдвойне благодарен за подробно расписанное решение.
serij-68tmb вне форума   Ответить с цитированием

Старый 19.10.2013, 19:14
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пожалуйста, обратите внимание на то, что на форуме имеются схожие темы

ПК в столе - Java
Не доступен формат JAVA
Проблемы с Java

Старый 19.10.2013, 19:35   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Рад бы помочь, но, увы, в Яве ни бум-бум. Поэтому всё, что могу - это выложить решение на Паскале, авось с алгоритмом будет понятнее.
Код:
Var
 a,b,Sum:real;
 n,i:Integer;
Begin
 Write('a= ');
 Readln(a);
 Write('n= ');
 Readln(n);
 Sum:=0;
 b:=1;
 For i:=1 to n do
  begin
   b:=b*a;
   Sum:=Sum+Sin(b);
  end;
 Writeln('Result: ',Sum:0:5);
 Readln
End.
И да, геометрическая интерпретация абстрактных аргументов тригонометрических функций это, разумеется, радианы. Непонятно выразился? Поясню. В математике существуют функции Sin(x), Cos(x), Tg(x) и т.д., причем они, вообще говоря, ни с какой геометрией (углами) не связаны. Они сами по себе, так же, как и, например, Exp(x), Ln(x) и т.п. Если же нужно перейти к геометрии, то, конечно, аргументы следует интерпретировать, как радианы.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.10.2013, 20:04   #3 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Рад бы помочь, но, увы, в Яве ни бум-бум. Поэтому всё, что могу - это выложить решение на Паскале, авось с алгоритмом будет понятнее.
Паскаль мы даже не начинали изучать, поэтому я могу его знать только на уровне интуиции)

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
И да, геометрическая интерпретация абстрактных аргументов тригонометрических функций это, разумеется, радианы. Непонятно выразился? Поясню. В математике существуют функции Sin(x), Cos(x), Tg(x) и т.д., причем они, вообще говоря, ни с какой геометрией (углами) не связаны. Они сами по себе, так же, как и, например, Exp(x), Ln(x) и т.п. Если же нужно перейти к геометрии, то, конечно, аргументы следует интерпретировать, как радианы.
Хорошо, спасибо!

Завтра со свежей головой попробую код перевести в Java, авось что-то да получится...
serij-68tmb вне форума   Ответить с цитированием
Старый 19.10.2013, 20:16   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от serij-68tmb Посмотреть сообщение
Паскаль мы даже не начинали изучать, поэтому я могу его знать только на уровне интуиции)
Жаль. Ну тогда так.
1. Объявляются переменные a, n, Sum (будущая искомая сумма), i (переменная цикла), b (вспомогательная).
2. Вводятся значения a и n.
3. Присваиваются исходные значения: Sum=0, b=1.
4. Организуется цикл в n шагов, на каждом из которых:
а) число b домножается на a.
б) к Sum прибавляется Sin(b).
Если поразмыслить, то станет ясно, что это и будет суммированием синусов возрастающих степеней a.
5. Выводится результат.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.10.2013, 20:30   #5 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Жаль. Ну тогда так.
1. Объявляются переменные a, n, Sum (будущая искомая сумма), i (переменная цикла), b (вспомогательная).
2. Вводятся значения a и n.
3. Присваиваются исходные значения: Sum=0, b=1.
4. Организуется цикл в n шагов, на каждом из которых:
а) число b домножается на a.
б) к Sum прибавляется Sin(b).
Если поразмыслить, то станет ясно, что это и будет суммированием синусов возрастающих степеней a.
5. Выводится результат.
Завтра попробую что-нибудь начертать) Спасибо!)
serij-68tmb вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 20.10.2013, 11:12   #6 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию

Не-а, не получается... Ввод n, Ввод данных в градусах, затем преобразование в радианы, нахождение значения синуса и всё... А как цикл написать, чтобы значения всех полученных синусов суммировались, не знаю...
serij-68tmb вне форума   Ответить с цитированием
Старый 20.10.2013, 11:23   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от serij-68tmb Посмотреть сообщение
Не-а, не получается... Ввод n, Ввод данных в градусах, затем преобразование в радианы, нахождение значения синуса и всё... А как цикл написать, чтобы значения всех полученных синусов суммировались, не знаю...
Еще раз - в Яве не разбираюсь абсолютно, но что-то типа
Код:
for (int i = 1; i <= n; i++) {   
 b = b*a;
 Sum = Sum + Sin(b); 
}
За корректность не ручаюсь - тут Вам видней.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.10.2013, 11:27   #8 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Еще раз - в Яве не разбираюсь абсолютно, но что-то типа
Ага, похоже.
Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
За корректность не ручаюсь - тут Вам видней.
Ничего страшного, мне лишь бы понять смысл)
serij-68tmb вне форума   Ответить с цитированием
Старый 20.10.2013, 12:23   #9 (permalink)
serij-68tmb
Member
 
Аватар для serij-68tmb
 
Регистрация: 23.08.2012
Сообщений: 1,801
Записей в дневнике: 2
Сказал(а) спасибо: 6
Поблагодарили 10 раз(а) в 3 сообщениях
Репутация: 5686
По умолчанию

Как можно задать первоначальное значение для переменной Sum?
Сначала ведь её значение - 0, затем при n=1 - sin(a), затем при n=2 - sin(a)+sin(a^2)...
Если в начале программы поставить double Sum=0, то программа везде будет считать, что Sum=0?

Блин, пока я тут программу пробовал писать, у меня блинчики на кухне сгорели(((( Буду без завтрака(((
serij-68tmb вне форума   Ответить с цитированием
Старый 20.10.2013, 13:15   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от serij-68tmb Посмотреть сообщение
Если в начале программы поставить double Sum=0, то программа везде будет считать, что Sum=0?
Почему это? В цикле значение этой переменной как раз и будет изменяться, как надо.
Цитата:
Сообщение от serij-68tmb Посмотреть сообщение
Блин, пока я тут программу пробовал писать, у меня блинчики на кухне сгорели(((( Буду без завтрака(((
А вот это совсем не годится. Завтрак - дело святое.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 19:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.