1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Program z1; Uses crt; Var s,t,n,E:real; begin writeln ('Введите точность'); Readln (E); s:=1; t:=1; n:=1; while abs (t)>e do begin n:=n+1; t:=t*x/n; s:=s+t; end; write ('S', S:0:4); Readkey; End.
Преподша сказала, что нужно добавить еще три строчки факториала. Вот собственно в этом и вопрос. Условие задачки на изображении.[code]
Я вам и говорю, что совершенно ничего не понимаю. Вы вместо того, чтобы ответить на вопрос, спрашиваете меня о том, в чем я не разбираюсь.
Ну мы же тоже должны знать какие числа вы вводите при запуске программы,чтоб чем нибудь помоч. Вам задали простой вопрос, а вы говорите что не разбираетесь в этом.
Тебе программа при старте показывает чёрное окно с мигающим курсором. Ты набираешь на клавиатуре число, нажимаешь ентер (это выполнилась строчка Readln(e)), потом вводишь второе число (икс). Если ты ничего не вводишь, то откуда ты вообще взял "программы выводит ноль"? Как она может что-то вывести, если она всё время ждёт ввода числа e?
Стас, ты извини, ничего личного.. Если бы ты прикладывал хоть какие-то минимальные усилия к тому, чтобы что-то ПОНЯТЬ (а не спихнуть), ты бы давно уже все сдал.. Уж тебе все разжевано и рот положено. Пошевели хоть одной извилиной..
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
Program z1; Uses crt; Var s,t,x,E:real; n:integer; begin write('x='); readln(x); write ('Введите точность e='); readln(e); s:=1; t:=1; n:=1; while abs(t)>e do begin n:=n+1; t:=t*x/n; s:=s+t; end; write ('S=', S:0:4); Readkey; End.
Но преподша все равно говорит, что задача решена неверно. Сказала, что нужен факториал, так как в формуле присутствуют восклицательные знаки. А также, она не видит здесь степеней, которые находятся в формуле. Еще раз покажу формулу
Но преподша все равно говорит, что задача решена неверно. Сказала, что нужен факториал, так как в формуле присутствуют восклицательные знаки. А также, она не видит здесь степеней, которые находятся в формуле.
Но она признает, что ответ правильный?
Может, она хочет, чтоб факториал был оформлен функцией?
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
> Но преподша все равно говорит, что задача решена неверно.
Может, дело не в том, что код якобы неверный, а в том, что ты не можешь объяснить его работу?
> Сказала, что нужен факториал, так как в формуле присутствуют восклицательные знаки. А также, она не видит здесь степеней, которые находятся в формуле.
Ну тогда преподша слепая дура, шли её нах. Хотя скорее всего, она специально так говорит, чтобы проверить а видишь ли факториал ты? Я-то вижу, но ты, судя по уровню задаваемых вопросов, этот код сам не понимаешь. А код-то правильный, из FAQ взял? На её провокации изговнякать код не ведись, если что.
Добавлено через 2 мин. стоп.
s:=1; t:=1; n:=1; while abs(t)>e do begin n:=n+1; t:=t*x/n; s:=s+t; end;
отладчиком пользоваться умеешь? Я применю свой, встроенный в мозг
инициализация s=1 t=1 n=1 начало цикла n=2 t=x/2 s=1+x/2 ошибка!
надо s=1+x/1 после первого прохода перенеси n:=n+1 в конец цикла. Либо инициализируй его нулём, а не единицей.
Пожалуйста, прочти правила. Обрати внимание на п.5 Правил Форума и п.2 правил раздела Задачи.
Ввожу х потому как мы же степень числа будем вычитывать! А е-это точность! тут как я понял надо найти приближенное значение числа
y:=exp(i*ln(x)); нарашиваем степень икса n:=n*i; вычисление факториала t:=x/n; присвойл переменную, иск (в степени н) деленное на факториал s:=s+t; i:=i+1;
Давай рассмотрим как должно это работать вводим х=5
2-ой круг y:=exp(i*ln(x)); 5 в степени 1=5 5 в степени 2=25 n:=n*i; 1*1=1 1*2=2 t:=x/n; т:=5/1=5 25/2=12,5 s:=s+t; S:=1+5/1=6 1+5/1+25/2=18,5 i:=i+1; i:=1+1=2 2+1=3
вроде алгоритм составлен правельно! но где то есть ошибка! так как не должно выводтиь 1 так же не вижу смысла здесь исползовать абс, так как тут полубому положительные числа выводит! но всё же дело не в абс! ах да Кап прочел правила {2. Давать заведомо ложную информацию 5. Выкладывать вредоносную информацию и программы.} ты это имел ввиду?
Сообщение отредактировано: BanneD -
--------------------
Один из законов жизни гласит, что как только закрывается одна дверь, открывается другая. Но вся беда в том, что мы смотрим на запертую дверь!
Ввожу х потому как мы же степень числа будем вычитывать!
Я спрашивал какие значения ты вводишь.
Цитата
ах да Кап прочел правила {2. Давать заведомо ложную информацию 5. Выкладывать вредоносную информацию и программы.} ты это имел ввиду?
Нет. Я имел в виду то, что я написал, то есть: - пункт 5 Правил Форума (не п.1.5, а п.5); - пункт 2 правил раздела Задачи (промотай эту страницу вверх, будь так добр - и увидишь 8 пунктов).
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
вроде алгоритм составлен правельно! но где то есть ошибка! так как не должно выводтиь 1
Может где-то и есть, только не в этой программе. Потому что при вводе X = 5 (что следует из твоего предыдущего поста) 1 в результате не получается. Получается
Я спрашивал какие значения ты вводишь. Нет. Я имел в виду то, что я написал, то есть: - пункт 5 Правил Форума (не п.1.5, а п.5); - пункт 2 правил раздела Задачи (промотай эту страницу вверх, будь так добр - и увидишь 8 пунктов).
сорри=) прочел, исправил!
Цитата(volvo @ 19.12.2010 13:58)
Где 1?
мда сам себе перечу вместо вещественных я целые числа вводил=)
Сообщение отредактировано: BanneD -
--------------------
Один из законов жизни гласит, что как только закрывается одна дверь, открывается другая. Но вся беда в том, что мы смотрим на запертую дверь!