Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2009, 15:54   #1
Dashutka
 
Регистрация: 09.03.2009
Сообщений: 9
Восклицание Задача в Паскале

Помогите найти ошибку в задаче
Данные задачи:


Вот как я ее решила в Паскале

var i: real;
a,b,e,n,x1,dx,c,S:real;
function F(x:real):real;
begin
F:=sqrt(x);
end;
begin
readln(a,b,e);
c:=b;
repeat
x1:=(b-a)/2; b:=x1;
until abs(F(x1)-F(a))<e;
dx:=x1-a;
n:=(c-a)/dx;
S:=0;
for i:=1 to n do begin
S:=(F(a)+F(x1)*dx/2+S;
a:=a+dx;
x1:=x1+dx;
end;
writeln('S=',S:3:3);
end.
Dashutka вне форума Ответить с цитированием
Старый 09.03.2009, 15:57   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
var i: real;
может все таки integer ? да и n тоже!
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 09.03.2009, 16:00   #3
Dashutka
 
Регистрация: 09.03.2009
Сообщений: 9
По умолчанию

спасибо, исправила
теперь вот тут пишет ошибку 39
for i:=1 to n do begin
Dashutka вне форума Ответить с цитированием
Старый 09.03.2009, 16:00   #4
XeN0N
Форумчанин
 
Аватар для XeN0N
 
Регистрация: 18.01.2009
Сообщений: 118
По умолчанию

скобку после F(x1) забыли
S:=(F(a)+F(x1)*dx/2+S;

S:=(F(a)+F(x1))*dx/2+S;
XeN0N вне форума Ответить с цитированием
Старый 09.03.2009, 16:03   #5
Dashutka
 
Регистрация: 09.03.2009
Сообщений: 9
По умолчанию

точна но ошибка 39 в том же месте осталась
Dashutka вне форума Ответить с цитированием
Старый 09.03.2009, 16:07   #6
XeN0N
Форумчанин
 
Аватар для XeN0N
 
Регистрация: 18.01.2009
Сообщений: 118
По умолчанию

у меня нет паскаля, текст ошибки?
XeN0N вне форума Ответить с цитированием
Старый 09.03.2009, 16:09   #7
Dashutka
 
Регистрация: 09.03.2009
Сообщений: 9
По умолчанию

теперь тут 26 ошибка n:=(c-a)/dx;
Dashutka вне форума Ответить с цитированием
Старый 09.03.2009, 16:09   #8
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

потому что n - real, а надо целый тип - любой, потому что стоит в счетчике цикла for
capta1n вне форума Ответить с цитированием
Старый 09.03.2009, 16:09   #9
Dashutka
 
Регистрация: 09.03.2009
Сообщений: 9
По умолчанию

Ошибка 26: Type mismatch. Несоответствие типов.
Dashutka вне форума Ответить с цитированием
Старый 09.03.2009, 16:10   #10
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
теперь тут 26 ошибка n:=(c-a)/dx;
ну раз n - целое, то его надо округлять либо функцией отбрасывания дробной части trunc, либо округлением round
capta1n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Паскале koshkarjov Помощь студентам 3 02.03.2009 22:11
Задача в Паскале ! d00ker Помощь студентам 2 29.01.2009 21:52
Задача на паскале BBED Паскаль, Turbo Pascal, PascalABC.NET 1 19.11.2008 12:32
задача в паскале __k1ll3r__ Помощь студентам 3 27.12.2007 05:41