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

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

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

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Работа над суммами и факториалами, Различные задания и решения над суммами и факториалами на Турбо Паска
Айра
сообщение 4.01.2008 22:45
Сообщение #21


Профи
****

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

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


Цитата
так нельзя

Почему так нельзя? всмысле препод запретил или ты считаешь, что так не правильно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
dron4ik
сообщение 4.01.2008 22:46
Сообщение #22


Бывалый
****

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

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


Прости volvo, в программировании нас не учат а по МАТАНУ я уж точно зная

Добавлено через 1 мин.
Оля думаю нельзя но хотя может можно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 4.01.2008 22:53
Сообщение #23


Профи
****

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

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


Цитата
Оля думаю нельзя но хотя может можно

Ну когда мы проходили вычисления с заданной точностью (там тоже были факториалы) это было не можно, а нужно))

to volvo: >>вот видишь, что происходит, когда даешь несоответствующие имена переменным?
да.. надо работать над собой))


p.s. к администрации: а нельзя сделать что-то типа "во время создания вами ответа в теме появились новые сообщения"? rolleyes.gif а то "некрасиво" порой получается..

Сообщение отредактировано: Айра - 4.01.2008 22:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
dron4ik
сообщение 4.01.2008 22:55
Сообщение #24


Бывалый
****

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

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


мы такое вроде не проходили вычисления с заданной точностью
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 4.01.2008 23:15
Сообщение #25


Профи
****

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

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


Цитата
мы такое вроде не проходили вычисления с заданной точностью

..да дело не в точности, а в вычислении факториала.. Просто нецелесообразно (о, какое слово)) заново считать факториал на каждом шаге цикла, поэтому люди, наверно, и додумались до описанного volvo алгоритма..
У тебя есть какие-то ограничения на алгоритм решения этой задачи? если нет, то разбирай этот алгоритм, задавай конкретные вопросы, попытаемся объяснить))

Сообщение отредактировано: Айра - 4.01.2008 23:16
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
dron4ik
сообщение 4.01.2008 23:18
Сообщение #26


Бывалый
****

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

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


я понял как факториал должен работать .
пользователь вводит какую нибудь цифру это цифра делится на 3 и умножается на фак( а фак зависит от количества ввода цифры которая делится, так в задаче должна быть сумма этих формул)

Добавлено через 7 мин.
в коде должна присутствовать сумма этих полученных результатов дроби по рисунку








Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 4.01.2008 23:41
Сообщение #27


Профи
****

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

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


..что и происходит в программе.. смотри:
  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 -> совпало! smile.gif }
s:=s+slag; //добавляем полученное слагаемое к сумме
writeln(slag:6:4); //для наглядности смотрим на промежуточные slagаемые))
end;
writeln(s:14:12);

Вроде все соответствует заданию и считается правильно.. что не так?

Сообщение отредактировано: Айра - 4.01.2008 23:51
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 4.01.2008 23:49
Сообщение #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 - 4.01.2008 23:49
 К началу страницы 
+ Ответить 
dron4ik
сообщение 5.01.2008 8:43
Сообщение #29


Бывалый
****

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

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


Все теперь все понятно . Спасибо Олечка, спасибо volvo.


Блин я даже незнал что есть такие добрые люди(но это уже следующая тема в другом разделе)!!!



Кстати а мне так стало интересно, это у вас хобби?(программировать)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 5.01.2008 16:35
Сообщение #30


Профи
****

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

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


[offtop]
Цитата
Кстати а мне так стало интересно, это у вас хобби?(программировать)

Ну, лично у меня сначало было хобби, теперь учу+хобби, а дальше, надеюсь, станет работа+хобби smile.gif))
[/offtop]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 9.09.2025 15:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"