Вычисление произведения синусов, почему-то получается 0 |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Вычисление произведения синусов, почему-то получается 0 |
Лита |
29.10.2004 5:34
Сообщение
#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. Думаю, что таким малым числом можно пренебречь. И встал вопрос: правильный ли результат я получаю? -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Бродяжник |
29.10.2004 12:14
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
Похоже, что правильный. Если в каждой итерации цикла вывести значения S, то будет видно, что это число колеблется от 0 до примерно 2.9е+6. Это из-за того, что синус периодически меняет знак. И при i = 10.1 эта функция как раз близка к нулю. Так уж сложилось.
|
Лита |
29.10.2004 13:58
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: 0 |
Так вот и смущает, что такая задача была предложена к решению... Или пытались таким образом проверить знание циклов, кроме For?
-------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Digitalator |
29.10.2004 20:34
Сообщение
#4
|
Бывалый Группа: Пользователи Сообщений: 247 Пол: Мужской Репутация: 1 |
Да, так и есть... я тут вначале (1 + sin()) не заметил
Сообщение отредактировано: Digitalator - 29.10.2004 20:41 -------------------- |
FreeMan |
2.11.2004 17:13
Сообщение
#5
|
- Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: 4 |
Алгоритм правильный, значит и результат правильный.
-------------------- бб
|
Лита |
3.11.2004 1:52
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: 0 |
Цитата(FreeMan @ 2.11.04 17:13) Алгоритм правильный, значит и результат правильный. после долгих раздумий и копаний в справочнике, я тоже пришла к такому выводу... :D Спасибо... :p4: -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Текстовая версия | 19.04.2024 8:09 |