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

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

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

> Вычисление функции
сообщение
Сообщение #1


Новичок
*

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

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


Здравствуйте. Господа, прошу вашей помощи smile.gif)
Вообщем ситуация следующая:
С прошлого семестра (в котором мы начинали и видимо закончили изучать паскаль) за мной числится несданная курсовая. Курсовой конечно это назвать сложно, это скорее самостоятельная работа, но все же...
Загвоздка в том что бОльшее количество занятий я не посещал (о чем сейчас оч жалею), и сделать задание сам к сожалению не смог. Поэтому взял у друга его работу и сдал. На работе стояла хорошая отметка (результат каких-то исправлений прямо в печатной версии, в присутствии препода. изначальна работат тоже была не верна). Я переписал, вроде бы, исправленый код, но когда я сдал работу под своим именем препод нашел ошибку и настоятельно рекомендует мне ее исправить. Я к сожалению в паскале разбираюсь не очень, поэтому прошу Вашей помощи, благо програмулинка совсем маленькая
Код

program Summa;
var n,k: integer;
f,x,s: real;
begin
write('n=');read(n);
write('x=');read(x);
S:=1;
f:=S;
for k:=1 to n do
begin
S:=S*x;
S:=(f+S)/k*(k+1);
end;
write('S=',S:10:3);
end.


Вот собственно и вся программа.

S:=S*x;
S:=(f+S)/k*(k+1);
эти две строчки препод обвел фигурной скобкой, напротив которой написал "Ерунда!" smile.gif)

Пожалуйста, подскажите что тут можеть быть не верно.

Есть еще одна трудность. Точный текст задания утерян... Но для всех тип задания был един: записать какую-либо функцию на языке паскаль, и написать программу для подсчета этой функции. На сколько я понял из работы друга, функция была либо: "x^k/k!" (x в степени k поделить на k факториал),
либо:
*значек суммы перед дробной чертой*x^k/k*(k+1)

Извините за такие обозначение, но на бумаге это написать просто, а как здесь поставить значек суммы - ума не приложу smile.gif

Вообщем эти две функции были приписаны ручкой гдето справа от программы.

Ребята, если кому не лень помогите пожалуйста разобраться. Вылетать ой как не хочется sad.gif


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


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


1. В следующий раз тему с таким название закрою. Перенаименовал.
2. Почему в Теоретические вопросы ? Перенесено в задачи
3. Читаем правила форума.

С твоим либо - либо ясности мало
Цитата
функция была либо: "x^k/k!"
FAQ : Математика : Как разложить функцию exp(x) в ряд?



Вторую формулу я не понял


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

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


Цитата
Вычеслиние функции

Клемыч, это ты так переименовал ?
Я не сторонник жесткой грамотности, сам русский не очень знаю, но блин!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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



Списибо за внимание...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Felixxl @ 4.09.2006 9:31) *

Списибо за внимание...

Мы понимаем твои чувства, но гадать, что у тебя там за функция не можем - обращайся на форум телепатов. Потряси друга, узнай функцию и приходи снова - сразу получишь ответ.


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


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


С просони еще и не так можно написать smile.gif Опаздывал в инст, быстро печатал ну и машинально сначала е нажал потом и smile.gif

Исправляю smile.gif

Блин ну ты обо мне совсем плохого мнения smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


оО! Нарыл задание!


Подсчитать сумму:

Код


n             k
             x
∑  -----------------
             k!
k=1



Прошу простить за оформление, но никак не могу вставить картинку в пост. Не только картинку - даже ссылку дать не могу. Не проходят посты - выдает ошибку без объяснения sad.gif(

оч прошу помочь мне немощьному sad.gif

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


Гость






Felixxl,
ну тебе же klem4 давал ссылку о разложении Exp(x) в ряд... А Exp раскладывается как раз по такой формуле, которую ты привел... Вот более точная ссылка: FAQ: Разложение в ряд (вторая программа в этом посте)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


Если бы я еще что-то понял из того что там написано...
Трудность в том что нам преподали очень мало операторов, и выкручиваться приходится ими... вот например ума не приложу что означает inc(n) sad.gif(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Увеличение n на 1... Можешь заменить на
n := n + 1


А вообще твоя программа полностью (вместе с запросом значений X и K) будет выглядеть так:
var
k, n: integer;
x, s, next: double;

begin
write('k = '); readln(k);
write('x = '); readln(x);

next := 1;
s := 0;
n := 0;
repeat
n := n + 1;
next := (next * x) / n;
s := s + next;
until (n = k);
writeln('s = ', s:10:5);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

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

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


Огромное спасибо за помощь!
Только у меня проблемка... Набрал программу в паскале. И когда нажимаю запуск курсор перескакивает на readln(x) и выскакивает ошибка: "Error 116: Must be in 8087 mode to compile this."
=((
Изза чего это может происходить? P.S. У меня Turbo pascal 7.

И еще один вопросик: что за тип переменных double?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Сделай одно из двух:

1) либо поменяй Double на Real (просто Double - сопроцессорный тип, а у тебя как видно не включена по умолчанию поддержка сопроцессора)
2) либо САМОЙ ПЕРВОЙ строкой программы поставь {$N+}, это как раз и включит поддердку сопроцессорных типов...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

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

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


Заменил на real и все заработало! Еще раз огромное вам человеческое спасибо! give_rose.gif


И вопросик, с вашего позволения: это полностью вся программа, или, грубо говоря, скелет, куда просто нужно подставить x^k и k!?
Просто я в коде не узрел ни возведения в степень ни фактиориала...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Это - полная программа... Возведение в степень делается вот тут: (next*x) , факториал вычисляется последовательным умножением знаменателя на N... Согласись, что

X*X*X*X - это не что иное как X^4, а (1/1)*(1/2)*(1/3)*(1/4) равносильно 1/4!, хотя ты и не видишь функции их вычисления...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

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

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


Ну вроде бы примерно понял smile.gif)
Опять же спасибо! Попытаюсь вникнуть...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

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

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


Цитата
(1/1)*(1/2)*(1/3)*(1/4) равносильно 1/4!


А разве это не равносильно 1/24? ))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Цитата
А разве это не равносильно 1/24? ))


Равносильно, и что ?

ps 4! = 24.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

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

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


Ничего. Просто пытаюсь понять, про 1/4 это опечатка, или я еще и в математике чего-то не понимаю smile.gif)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Там написно не 1/4, a 1/4!

И восклицательный знак тут означает факториал smile.gif

4! = 1 * 2 * 3 * 4 = 24
5! = 1 * 2 * 3 * 4 * 5 = 120

Учите матчасть (с)

smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

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

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


Тьфу блин, я (!) воспринял не как значек факториала а просто как воскл. знак smile.gif)
Совсем стар стал...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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