- Код:
uses crt;
eps=1e-3;
an:real;
n,summa:inereg;
begin
Summa:=0;
n:=1;
while an>=eps do
begin
summa:=summa+an;
writeln<'n=',n:2,'an=',an:8:5,'summa=',summa:8:5>;
n:=n+1
an:=an*exp<n*ln<n>>/exp<n*ln<n+1>>;
end;
readkey;
END.
Последние темы
Самые активные пользователи
Aster (142) | ||||
Exkalibur (89) | ||||
Чебурашка (63) | ||||
Administrator (34) | ||||
ak95 (8) | ||||
Пушкин (7) | ||||
K4_ (7) | ||||
LuDa (7) | ||||
Goldcoding (6) | ||||
Admin (6) |
Участников: 3
Проверьте прогу.
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 1
Проверьте прогу.
Ребята проверьте пожалуйста правильность прожки:
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 2
Re: Проверьте прогу.
K4_ пишет:Ребята проверьте пожалуйста правильность прожки:
uses crt;
eps=1e-3;
an:real;
n,summa:inereg;
begin
Summa:=0;
n:=1;
while an>=eps do
begin
summa:=summa+an;
writeln<'n=',n:2,'an=',an:8:5,'summa=',summa:8:5>;
n:=n+1
an:=an*exp<n*ln<n>>/exp<n*ln<n+1>>;
end;
readkey;
END.
Желательно оформлять программы в постах в тегах
- Код:
А по теме:
1) eps это константа.
2) что такое ln и exp. Насколько я понимаю, это функции и к тому же не встроенные, поэтому нужно их описать.
3) К тому же объясните, в чем баг этой программы. Работает она или нет?
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 3
Re: Проверьте прогу.
K4_ пишет:Ребята проверьте пожалуйста правильность прожки:
uses crt;
eps=1e-3;
an:real;
n,summa:inereg;
begin
Summa:=0;
n:=1;
while an>=eps do
begin
summa:=summa+an;
writeln<'n=',n:2,'an=',an:8:5,'summa=',summa:8:5>;
n:=n+1
an:=an*exp<n*ln<n>>/exp<n*ln<n+1>>;
end;
readkey;
END.
Кстати еще exp<n*ln<n+1>> не может быть равном нулю, иначе будет ошибка деления на ноль.
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 4
Re: Проверьте прогу.
У тебя выдает ошибку какую-нибудь или в чем вообще проблема?)
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 5
Re: Проверьте прогу.
да, пишет что после an:real выдает ошибку error 90: "="expectedAster пишет:У тебя выдает ошибку какую-нибудь или в чем вообще проблема?)
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 6
Re: Проверьте прогу.
K4_ пишет:да, пишет что после an:real выдает ошибку error 90: "="expectedAster пишет:У тебя выдает ошибку какую-нибудь или в чем вообще проблема?)
Var перед переменными
Const перед eps
И тип не intereg, а integer
Попробуй.
Сейчас тему перенесу в вопросы и ответы.
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 7
Re: Проверьте прогу.
Перенесено.
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 8
Re: Проверьте прогу.
Попробуй.
Сейчас тему перенесу в вопросы и ответы.[/quote]
Хе) там вроде так, только теперь в другом ошибка( :
там где begin
summa:=summa+an; (error 26: Type mismatch)
Сейчас тему перенесу в вопросы и ответы.[/quote]
Хе) там вроде так, только теперь в другом ошибка( :
там где begin
summa:=summa+an; (error 26: Type mismatch)
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 9
Re: Проверьте прогу.
Хе) там вроде так, только теперь в другом ошибка( :K4_ пишет:Попробуй.
Сейчас тему перенесу в вопросы и ответы.
там где begin
summa:=summa+an; (error 26: Type mismatch)[/quote]
У тебя summa типа integer, а an типа real. Сделай summa тоже типа real.
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 10
Re: Проверьте прогу.
Aster пишет:Хе) там вроде так, только теперь в другом ошибка( :K4_ пишет:Попробуй.
Сейчас тему перенесу в вопросы и ответы.
там где begin
summa:=summa+an; (error 26: Type mismatch)
У тебя summa типа integer, а an типа real. Сделай summa тоже типа real.[/quote]
Заработало) спасибище огромное)
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 11
Re: Проверьте прогу.
Если все правильно работает, то хорошо.
Незачто)
Незачто)
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 12
Re: Проверьте прогу.
Блин, и если несложно последнюю прожку проверить, Правильно ли она сделана по методу Симпсона:Aster пишет:Если все правильно работает, то хорошо.
Незачто)
uses crt;
var x:real;
const n=60;
function f1(x:real):real;
begin
f1:=(SQR(x)-1)*exp(-2*x*ln(10))
end;
function f2(x:real):real;
begin
f2:=1/(x*exp(2*ln(ln(x))));
end;
funcion f3(x:real;
begin
f3:=exp(3*ln(sin(x/2+pi/4)/cos(x/2+pi/4)));
end;
procedure Simps(F:func;a,b:real;n:integer;var INT:real;
var
sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:(b-a)/n;
sum:=0.5*(F(a)+F(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F(a+j*h);
INT:=2*h*sum/3;
end;
begin
WriteLn;
Read;
Simps(f1,f2,f3,n,I);
WriteLn('I=',I:8:3);
End.
Administrator- Admin
- Сообщения : 34
Очки : 142
Репутация : 4
Дата регистрации : 2010-01-07
- Сообщение 13
Re: Проверьте прогу.
Какая ошибка здесь?
Поставьте недостающие скобки, типы, равно и т.д.
Поставьте недостающие скобки, типы, равно и т.д.
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 14
Re: Проверьте прогу.
uses crt;Administrator пишет:Какая ошибка здесь?
Поставьте недостающие скобки, типы, равно и т.д.
type
func=function(x:real):real;
var x:real;
const n=60;
function f1(x:real):real;
begin
f1:=(SQR(x)-1)*exp(-2*x*ln(10))
end;
function f2(x:real):real;
begin
f2:=1/(x*exp(2*ln(ln(x))));
end;
funcion f3(x:real):real;
begin
f3:=exp(3*ln(sin(x/2+pi/4)/cos(x/2+pi/4)));
end;
procedure Simps(F:func;a,b:real;n:integer;var INT:real;
var
sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:=(b-a)/n;
sum:=0.5*(F(a)+F(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F(a+j*h);
INT:=2*h*sum/3;
end;
begin
WriteLn;
Read;
Simps(f1,f2,f3,n,I);
WriteLn('I=',I:8:3);
End.
error 143: Invalid procedure or function reference.
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 15
Re: Проверьте прогу.
K4_ пишет:Блин, и если несложно последнюю прожку проверить, Правильно ли она сделана по методу Симпсона:Aster пишет:Если все правильно работает, то хорошо.
Незачто)
uses crt;
var x:real;
const n=60;
function f1(x:real):real;
begin
f1:=(SQR(x)-1)*exp(-2*x*ln(10))
end;
function f2(x:real):real;
begin
f2:=1/(x*exp(2*ln(ln(x))));
end;
funcion f3(x:real;
begin
f3:=exp(3*ln(sin(x/2+pi/4)/cos(x/2+pi/4)));
end;
procedure Simps(F:func;a,b:real;n:integer;var INT:real;
var
sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:(b-a)/n;
sum:=0.5*(F(a)+F(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F(a+j*h);
INT:=2*h*sum/3;
end;
begin
WriteLn;
Read;
Simps(f1,f2,f3,n,I);
WriteLn('I=',I:8:3);
End.
Вот смотри:
в основной проге ты ссылаешься на процедуру simps, в параметрах которой ты передаешь функции... Зачем? Тем более, что, если ты так делаешь, нужно вместо simps(f1, f2...)писать simps(f1(параметры), f2(параметры)...).
Но у тебя в процедуру передается функция f:func. Не передавай ее вообще. То есть, процедура будет выглядеть так:
- Код:
procedure Simps(a,b:real;n:integer;var INT:real);
var sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:(b-a)/n;
sum:=0.5*(F1(a)+ F1(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F1(a+j*h);
INT:=2*h*sum/3;
end;
Вместо f(a), f(b), f(a+j*h) надо поставить f1(a), f1(b), f1(a+j*h), а f:func вообще убрать.
Ну и в основной программе в процедуру simps f не передавать.
Ошибка скорее всего в этом.
K4_- Новичек
- Сообщения : 7
Очки : 8
Репутация : 0
Дата регистрации : 2010-05-28
Возраст : 37
Откуда : Украина г.Кременчуг
- Сообщение 16
Re: Проверьте прогу.
Aster пишет:
Вот смотри:
в основной проге ты ссылаешься на процедуру simps, в параметрах которой ты передаешь функции... Зачем? Тем более, что, если ты так делаешь, нужно вместо simps(f1, f2...)писать simps(f1(параметры), f2(параметры)...).
Но у тебя в процедуру передается функция f:func. Не передавай ее вообще. То есть, процедура будет выглядеть так:
- Код:
procedure Simps(a,b:real;n:integer;var INT:real);
var sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:(b-a)/n;
sum:=0.5*(F1(a)+ F1(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F1(a+j*h);
INT:=2*h*sum/3;
end;
Вместо f(a), f(b), f(a+j*h) надо поставить f1(a), f1(b), f1(a+j*h), а f:func вообще убрать.
Ну и в основной программе в процедуру simps f не передавать.
Ошибка скорее всего в этом.
Так что эт получается так:
uses crt;
var x:real;
const n=60;
function f1(x:real):real;
begin
f1:=(SQR(x)-1)*exp(-2*x*ln(10))
end;
function f2(x:real):real;
begin
f2:=1/(x*exp(2*ln(ln(x))));
end;
funcion f3(x:real;
begin
f3:=exp(3*ln(sin(x/2+pi/4)/cos(x/2+pi/4)));
end;
procedure Simps(a,b:real;n:integer;var INT:real);
var sum,h:real;
j:integer;
begin
if odd(n) then n:=n+1;
h:(b-a)/n;
sum:=0.5*(F1(a)+ F1(b));
for j:=1 to N-1 do
sum:=sum+(j mod 2+1)*F1(a+j*h);
INT:=2*h*sum/3;
end;
только теперь выдает Error 10: Unexpected end of file.
Aster- Admin
- Сообщения : 142
Очки : 274
Репутация : 11
Дата регистрации : 2010-01-07
- Сообщение 17
Re: Проверьте прогу.
Выложи плиз полный код проги.
Ср Окт 12, 2016 2:43 am автор SeriousPasha
» требуется несколько JS разработчиков
Пт Окт 07, 2016 10:19 pm автор mrktwn1
» Защита приложения от взлома
Чт Июн 18, 2015 10:28 pm автор stradi
» Ищите программиста или дизайнера?
Пт Мар 27, 2015 6:25 am автор фриланс
» Создание и продвижение сайтов, их развитие.
Ср Мар 25, 2015 12:40 am автор asdfghhgfdsa
» Исходники для студентов + скайп-консультации,помощь в написании программ
Вт Окт 07, 2014 11:25 pm автор Horpion
» IT- технологии для развития бизнеса
Пн Июн 23, 2014 6:11 pm автор dvos12
» Стенли Кубрик "С Широко закрытыми Глазами"
Чт Июн 12, 2014 2:01 am автор Vertuozzz
» Каталог популярных хостинг компаний
Сб Май 10, 2014 7:18 pm автор naik