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

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

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

 
 Ответить  Открыть новую тему 
> Задача на табулирование, Помогите найти ошибку
сообщение
Сообщение #1





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

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


Помогите найти ошибку в этой задаче! Задание такое:
Даны натуральное число N и вещественное a. Вычислить
N (N над значком суммы)
S=∑ (k!- a^k) Не получается у меня правильно написать формулу YYY.gif (если что рисунок внизу)
k=1 (k=1 под значком суммы)

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

Var j,a,f,d,n,k,a1,a2,n1,i,e:integer;
res,y:real;
function summ(n,a:integer):real;
var
k,i:integer;
s:real;
Begin
s:=0;
k:=1;
for k:=1 to n do
begin
k:=k*i;
y:=Exp(k*ln(a));
s:=s+(k-y);
end;
summ:=s;
End;

Begin
writeln('n=');
read (n);
writeln ('a=');
read(n1);
writeln('shag n=');
read(f);
writeln('shag a=');
read(a1);
writeln('kolichestvo n=');
read(d);
writeln ('kolichestvo a=');
read(a2);
e:=a;
for k:=1 to d do
begin
a:=e;
for j:=1 to a2 do
begin
res:=summ(n,a);
writeln(n,' ',a,' ',res);
a:=a+a1;
end;
n:=n+f;
end;
End.


Сообщение отредактировано: Василяй -


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


просто человек
******

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

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


у меня получилось вот так:
program summ;
var N1,N2,N: integer;
a2,a, shag: real;

function sum(const N: integer; const a: real): real;
var k,fact: integer;
ak,s: real;
begin
ak:=1;
fact:=1;
s:=0;
for k:=1 to N do
begin
fact:=fact*k;
ak:=ak*a;
s:=s+fact-ak;
end;
sum:=s;
end;

begin
writeln('vvedite N1');
readln(N1);
writeln('vvedite N2');
readln(N2);
writeln('vvedite a1');
readln(a);
writeln('vvedite a2');
readln(a2);
writeln('vvedite shag dlya a');
readln(shag);
while a<=a2 do
begin
writeln('a=',a:0:2);
for N:=N1 to N2 do
begin
writeln(' N=',N);
writeln(' sum=',sum(N,a):0:2);
end;
a:=a+shag;
end;
readln;
end.


по поводу твоих ошибок... что бросается в глаза:
Цитата
Даны натуральное число N и вещественное a

а у тебя оно какое???

k:=k*i;

внутри цикла по k не стоит изменять k. тем более умножать его на неизвестно что (i не определена)

Добавлено через 5 мин.
а, вот еще:
здесь:
         e:=a;

а равно неизвестно чему (скорее всего 0). оно же не вводится нигде...


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





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

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


Спасибо что помогли!

но я не совсем понял что ознает вот эта строчка:
ak:=ak*a

я так думаю что это а^k?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

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

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


ну типа того. только ak - это не операция возведения в степень, а имя переменной.
при k=1 ak=a
k=2 ak=a*a
k=3 ak=a*a*a
то есть мы не рассчитываем степень каждый раз, а просто домножаем на а.


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

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

 





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