IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Вычисление произведения синусов, почему-то получается 0
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Задача такая: Вычислить (1+sin(0.1))(1+sin(0.2))...(1+sin(10))...
Составила следующую программу:
Код

var i,s,f:extended;
BEGIN
i:=0;
s:=1;
Repeat
i:=i+0.1;
f:=1+sin(i);
s:=s*f;
Until i>10;
writeln('summa=',s:10:2);
END.

в итоге он мне выводит ноль... при увеличении количества выводимых знаков после запятой выводит summa=0.000000000000017298. Думаю, что таким малым числом можно пренебречь.
И встал вопрос: правильный ли результат я получаю? huh.gif


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Похоже, что правильный. Если в каждой итерации цикла вывести значения S, то будет видно, что это число колеблется от 0 до примерно 2.9е+6. Это из-за того, что синус периодически меняет знак. И при i = 10.1 эта функция как раз близка к нулю. Так уж сложилось.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Так вот и смущает, что такая задача была предложена к решению... Или пытались таким образом проверить знание циклов, кроме For? huh.gif


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


Да, так и есть... я тут вначале (1 + sin()) не заметил rolleyes.gif

Сообщение отредактировано: Digitalator -


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


Алгоритм правильный, значит и результат правильный.


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Женский

Репутация: -  0  +


Цитата(FreeMan @ 2.11.04 17:13)
Алгоритм правильный, значит и результат правильный.

после долгих раздумий и копаний в справочнике, я тоже пришла к такому выводу... :D Спасибо... :p4:


--------------------
Что нам стоит мир пострить? Нарисуем - будем жить...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 6:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name