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

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

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

 
 Ответить  Открыть новую тему 
> Суммирование рядов функций
Валерия19
сообщение 30.12.2013 1:05
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: Валерия

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


Ребят,помогите,прошу!
Вот постановка задачи:
Требуется разработать программу, позволяющую выполнять расчёт значений для некоторого набора функций в заданной точке с заданной погрешностью за счёт разложения этих функций в ряд Тейлора.
В дальнейшем под точностью понимается модуль разницы эталонного значения функции, полученного с помощью встроенной функции Pascal, и подсчитанной вами суммы. Под погрешностью понимается модуль разницы двух последних элементов ряда.

Программа должна работать в двух режимах:
Однократный расчет функции в заданной точке.
Серийный эксперимент.

При работе в режиме 1 пользователь должен иметь возможность:
выбрать функцию,
задать точку x, в которой необходимо вычислить значение,
задать точность вычисления (от 0.000001 и больше)
задать число элементов ряда для выполнения расчета (от 1 до 100).

Расчет значения выбранной функции выполняется либо до достижения заданной точности, либо до исчерпания введенного числа слагаемых. По результатам расчета программа должна вывести следующую информацию:
эталонное значение (полученное с использованием встроенных математических функций Pascal),
вычисленную оценку значения функции,
разницу между оценкой и эталонным значением,
количество слагаемых, которое было вычислено.

При работе в режиме 2 пользователь должен иметь возможность:
выбрать функцию,
задать точку x, в которой необходимо вычислить значение,
задать максимальное число элементов ряда для выполнения расчета (NMax - от 1 до 100).
По результатам расчета программа должна вывести следующую информацию:
эталонное значение (полученное с использованием встроенных математических функций Pascal),
таблицу из NMax строк со следующими столбцами: число слагаемых слагаемых, вычисленную оценку значения функции, разницу между оценкой и эталонным значением.
Технические требования:
В программе должны быть использованы процедуры и/или функции.
В программе должен быть использован процедурный тип данных.
В программе должны быть использованы модули.
Каждый студент должен реализовать расчет функций sin(x), cos(x), exp(x) и одной уникальной функции из списка ниже.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Валерия19
сообщение 30.12.2013 1:30
Сообщение #2





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: Валерия

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


 
Program Lab2;
uses Crt,My_lib2;
var
SumSin:real;
SumCos:real;
SumLog:real;
SumExpon:real;
x,eps:real;
count,b,numberfunc,countmax,i:integer;


procedure Casefunc();
begin
case numberfunc of
1: begin
while (x<0) do
x:=x+2*pi;
while (x>=2*pi) do
x:=x-2*pi;
Sum1(a0sin,qsin,x,countmax,eps,sumsin,count);
write ('|',sin(x)10.gif6,' |');
write(sumsin:12:6,' |');
end;
2: begin
while (x<0) do
x:=x+2*pi;
while (x>=2*pi) do
x:=x-2*pi;
Sum1(a0cos,qcos,x,countmax,eps,sumcos,count);
write ('|',cos(x)10.gif6,' |');
write(sumcos:12:6,' |');
end;
3: begin
Sum1(a0expon,qExpon,x,countmax,eps,sumexpon,count);
write ('|',exp(x)10.gif6,' |');
write(sumexpon:12:6,' |');
end;
4: begin
Sum1(a0log,qlog,x,countmax,eps,sumlog,count);
write ('|',ln(x)10.gif6,' |');
write (sumlog:12:6,' |');
end;
end;
end;

procedure Casefunc2();
begin
case numberfunc of
1: begin
while (x<0) do
x:=x+2*pi;
while (x>=2*pi) do
x:=x-2*pi;
Sum1(a0sin,qsin,x,i,eps,sumsin,count);
write('|',sumsin:6:4,' |');
end;
2: begin
while (x<0) do
x:=x+2*pi;
while (x>=2*pi) do
x:=x-2*pi;
Sum1(a0cos,qcos,x,i,eps,sumcos,count);
write('|',sumcos:6:4,' |');
end;
3: begin
Sum1(a0expon,qExpon,x,i,eps,sumexpon,count);
write('|',sumexpon:6:4,' |');
end;
4: begin
Sum1(a0log,qlog,x,i,eps,sumlog,count);
write('|',sumlog:6:4,' |');
end;
end;
end;
begin

writeln ('Выберите режим');
writeln(' 1.Однократный расчет функции в заданной точке.');
writeln(' 2.Серийный эксперимент');
readln(b);
if b=1 then
begin
repeat
numberfunc:=Viborfunc();
writeln ('Введите x');
readln(x);
writeln('Введите точность');
readln(eps);
writeln('Введите максимальное число слагаемых');
readln(countmax);



вот что у меня есть
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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