Почему так нельзя? всмысле препод запретил или ты считаешь, что так не правильно?
![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Айра |
![]()
Сообщение
#21
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата так нельзя Почему так нельзя? всмысле препод запретил или ты считаешь, что так не правильно? |
dron4ik |
![]()
Сообщение
#22
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Прости volvo, в программировании нас не учат а по МАТАНУ я уж точно зная
Добавлено через 1 мин. Оля думаю нельзя но хотя может можно |
Айра |
![]()
Сообщение
#23
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата Оля думаю нельзя но хотя может можно Ну когда мы проходили вычисления с заданной точностью (там тоже были факториалы) это было не можно, а нужно)) to volvo: >>вот видишь, что происходит, когда даешь несоответствующие имена переменным? да.. надо работать над собой)) p.s. к администрации: а нельзя сделать что-то типа "во время создания вами ответа в теме появились новые сообщения"? ![]() Сообщение отредактировано: Айра - |
dron4ik |
![]()
Сообщение
#24
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
мы такое вроде не проходили вычисления с заданной точностью
|
Айра |
![]()
Сообщение
#25
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата мы такое вроде не проходили вычисления с заданной точностью ..да дело не в точности, а в вычислении факториала.. Просто нецелесообразно (о, какое слово)) заново считать факториал на каждом шаге цикла, поэтому люди, наверно, и додумались до описанного volvo алгоритма.. У тебя есть какие-то ограничения на алгоритм решения этой задачи? если нет, то разбирай этот алгоритм, задавай конкретные вопросы, попытаемся объяснить)) Сообщение отредактировано: Айра - |
dron4ik |
![]()
Сообщение
#26
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
я понял как факториал должен работать .
пользователь вводит какую нибудь цифру это цифра делится на 3 и умножается на фак( а фак зависит от количества ввода цифры которая делится, так в задаче должна быть сумма этих формул) Добавлено через 7 мин. в коде должна присутствовать сумма этих полученных результатов дроби по рисунку Эскизы прикрепленных изображений ![]() |
Айра |
![]()
Сообщение
#27
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
..что и происходит в программе.. смотри:
slag:=n/3; //первое слагаемое у нас равно n(введенное пользователем число, пусть оно = 2)/(3*1)=0.66667, мы его считаем до цикла
s:=slag; // соответственно сумма уже равна первому слагаемому
for yota:=2 to maxYota do //тут у нас меняет значение йоты до ее максимума (который ввел пользователь)
//поскольку мы уже посчитали слагаемое при йота=1, то цикл можно начать сразу с 2-ки}
begin
slag:=slag/yota; //вычисляем следующее слагаемое (доделиваем на йоту).. по идее оно
//равно 2/(3*2*1)=0.3333 <- тут мы считали все заново, а если просто поделить
//значение 1-го слагаемого на йоту, то получим тоже самое: 0.6667/2=0.3333..
//Следующее слагаемое (при следующей итерации цикла) тогда будет 0.33333/3=0.11111
//Проверяем на калькуляторе: 2:(3*3!)=2:(3*3*2*1)=0.11111111 -> совпало!
}
s:=s+slag; //добавляем полученное слагаемое к сумме
writeln(slag:6:4); //для наглядности смотрим на промежуточные slagаемые))
end;
writeln(s:14:12);
Вроде все соответствует заданию и считается правильно.. что не так? Сообщение отредактировано: Айра - |
volvo |
![]()
Сообщение
#28
|
Гость ![]() |
Цитата я понял как факториал должен работать . А теперь пойми, что делает программа (пост №12 - обозначения переменных сохранены):Пользователь вводит: N = 2 (само число) MaxIota = 4 (количество повторений) Перед циклом: Slag = N / 3 = 2 / 3 = 2 / (3 * 1) = 2 / (3 * 1!) Итерация №1 (Iota = 2) Slag = предыдущее значение Slag / 2 = 2 / (3 * 1!) / 2 = 2 / (3 * 1! * 2) = 2 / (3 * 2!) S = S + Slag : добавили к сумме Итерация №2 (Iota = 3) Slag = предыдущее значение Slag / 3 = 2 / (3 * 2!) / 3 = 2 / (3 * 2! * 3) = 2 / (3 * 3!) S = S + Slag : добавили к сумме Итерация №3 (Iota = 4) Slag = предыдущее значение Slag / 4 = 2 / (3 * 3!) / 4 = 2 / (3 * 3! * 4) = 2 / (3 * 4!) S = S + Slag : добавили к сумме Что теперь непонятно? Какие суммы по-твоему неправильно считаются? Сообщение отредактировано: volvo - |
dron4ik |
![]()
Сообщение
#29
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
Все теперь все понятно . Спасибо Олечка, спасибо volvo.
Блин я даже незнал что есть такие добрые люди(но это уже следующая тема в другом разделе)!!! Кстати а мне так стало интересно, это у вас хобби?(программировать) |
Айра |
![]()
Сообщение
#30
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: ![]() ![]() ![]() |
[offtop]
Цитата Кстати а мне так стало интересно, это у вас хобби?(программировать) Ну, лично у меня сначало было хобби, теперь учу+хобби, а дальше, надеюсь, станет работа+хобби ![]() [/offtop] |
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 5:35 |