Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Проверьте,пожалуйста, программу.

Автор: Елена 555 16.12.2009, 12:33

REM
DIM EPS,N,Y,YN,A(1 TO 8),Z(1 TO 8)
INPUT "EPS";EPS
DATA -0.5,-0.25,0,1,0.6,0.8,1.7.2.9
N=1:Y=0
DO
YN=ABS(XN*LN(XN))/((1+N)^3)
Y=Y+YN
N=N+1
LOOP WHILE ABS(YN)>EPS
PRINT "Y=";Y
FOR I=1 TO 8
IF A(I)>=0.1 AND A(I)<0.6 THEN
Z(I)=SQR(ABS(A*Y(I)-3))
ELSE
Z(I)=A*Y(I)+2
END IF
PRINT "Z";I;"=";Z(I)
NEXT I
END

Когда я подставляю значения EPS,программа выдаем мне все время одинаковые значения.Но такого ведь не может быть.Значит что-то не правильно в программе.Но что?

Автор: Julia 19.12.2009, 5:53

Задание очень плохо видно.

1) Не определяются значения XN.
2) Y(I) и А - неопознанные объекты.

Автор: Елена 555 19.12.2009, 16:14

REM
DIM EPS,N,Y,YN,XN,A(1 TO 8),Z(1 TO 8)
INPUT "EPS";EPS
DATA -0.5,-0.25,0,1,0.6,0.8,1.7,2.9
N=1:Y=0
DO
XN=0.5+0.1*N
YN=ABS(XN*LN(XN))/((1+N)^3):Y=Y+YN
N=N+1
LOOP WHILE ABS(YN)>EPS
PRINT "Y=";Y
FOR I=1 TO 8
READ A(I)
IF A(I)>=0.1 AND A(I)<0.6 THEN
Z(I)=SQR(ABS(A(I)*Y-3))
ELSE
Z(I)=A(I)*Y+2
END IF
PRINT "Z";I;"=";Z(I)
NEXT I
END

я вроде бы исправила,но все равно программа считает одинаково,при любых значениях EPS.

Автор: Julia 22.12.2009, 17:37

Цитата
ABS(YN)>EPS

Поменяйте знак в условии на противоположный.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)