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

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

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

> задача на табулирование значений функции.
Andrewshkovskii
сообщение 12.11.2006 0:27
Сообщение #1


Бывалый
***

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

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


ВОт задача
Составить структурированную программу табулировании значения функции S(x)=3x+8x^2+..n(n+2)x^n
y(x)=x(3-x)/(1-x)^3
на отрезке 0,1<=x<=0.8
сумму S(x) вычислить из к членов ряда,к=40.
шаг х dX=(abs(Xkонечный-Xначальный))/9
Алгоритм для каждого значения х,от Хначальный до Хконечный ,с амое dX,посчитать значения S(x) и y(x) и выдать на экран таблицу с помощью ASCII кодов.


Вот первая программа

Program z3v28;
uses crt;
const
xn=0.1;
xk=0.8;
k=40;
var
a, x,s,y,dx:real;
n:integer;
begin
clrscr;
writeln(' ЙННННННННННЛННННННННННЛНННННННННН»');
writeln(' є x є y є s є');
dx:=abs(Xk-Xn)/9;
x:=xn;
while (x<Xk) do begin
S:=0;
a:=1;
n:=1;
while n<=40 do begin
a:=a*x;
S:=S+n*(n+2)*a;
n:=n+1;
end;
y:=x*(3-x)/((1-x)*(1-x)*(1-x));
writeln (' МННННННННННОННННННННННОНННННННННН№');
writeln (' є',x:6:3,' є',y:6:3,' є',s:6:3,' є');
x:=x+dx;
end;
writeln (' ИННННННННННРННННННННННРННННННННННј');
readkey;
end.



Должно получиться равные значения в полях y и s.
В этой программе не получаеться только в самой посл. строке.
И ешё я не писал здесь первую часть функции (* s(x) 3*x+8*sqr(x); *).
не знаю больше как решать..есле подставлять в прогу первую часть s(x) то он в таблице возрастает,и у его никак не догонит=/

Сообщение отредактировано: Andrewshkovskii - 16.11.2006 9:34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
volvo
сообщение 12.11.2006 0:37
Сообщение #2


Гость






Первая содержит как минимум одну ошибку:
repeat
Writeln ('Vvedite Xk [0.2..0.8]');
readln(Xk);
until (Xk>=0.2) or (Xk<=0.8); { <--- Здесь !!! }


К тому же, с чего ты взял, что в цикле For будет именно 10 итерации? Вручную считал? "Это не наш метод" (С), это должна считать программа, если уж так хочется использовать именно For...

Ну, а потом - эти 2 программы выдают совершенно разные результаты, как ты можешь их сравнивать? Посчитай, что программа ДОЛЖНА выдавать, и та, которая это выдаст будет правильной...
 К началу страницы 
+ Ответить 
Andrewshkovskii
сообщение 12.11.2006 11:27
Сообщение #3


Бывалый
***

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

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


насчет то что должна ты прав=)
А вот что там за ошибка в цикле которую ты нашел??Программа компилируетсья нормально. mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 12.11.2006 12:51
Сообщение #4


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

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

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


 (Xk>=0.2) or (Xk<=0.8);


При такой постановке условия годится любое Х. А тебе -то надо чтоб было в интервале [0,2 ... 0,8].


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


Бывалый
***

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

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


исправил задание (*см первый пост*).
намучался уже..не могу=/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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