Форум «Всё о Паскале» _ Задачи _ Одномерные массивы
Автор: Needhelp 26.04.2007 23:41
const n = 10; type dimen = array[1..n] of Real; var D,S: dimen; i,j : Integer; a,b,y,h,x,q,l: Real; Procedure massiv; begin for i:=1 to n do begin D[i]:=a+(i-1)*h; end; for j:=1 to n do begin x:=a+(j-1)*h; y:=sin(x)+1/x; q:=exp(2*ln(cos((x*x*x)/((x*x)-4)))); l:=exp(2*ln(sin((x*x*x)/((x*x)-4)))); S[j]:=y/-(exp(1/3*ln(l/q))); end; end; begin WriteLn('a'); Readln(a); WriteLn('b'); ReadLn(b); h:=(b-a)/(n+1); massiv; for i:=1 to n do Write(D[i]); for j:=1 to n do Write(S[j]); end.
При вводе a=4 и b=6...выдает ошибку (плав. точка) в этой строке "l:=exp(2*ln(sin((x*x*x)/((x*x)-4))))" ... Тормознул...в общем я тут))
Автор: Tan 26.04.2007 23:45
Как ты считаешь, чтобы помоч тебе, нам стоит знать задание ? Или его можно придумать ?
Автор: Needhelp 26.04.2007 23:58
Цитата(Tan @ 26.04.2007 20:45)
Как ты считаешь, чтобы помоч тебе, нам стоит знать задание ? Или его можно придумать ?
Задание специально не писал (просто, пока только часть задания)...Массив D[i] по формуле D[i]:=a+(i-1)*h, а массив S[j] по 2м: 1)x:=a+(j-1)*h; 2)S[i]:=(sin(x)+(1/x))/-(exp(1/3*ln(exp(2*ln(sin((x*x*x)/((x*x)-4))))/exp(2*ln(cos((x*x*x)/((x*x)-4))))))); (как видишь они связаны между собой)
Автор: volvo 27.04.2007 0:04
Цитата
выдает ошибку (плав. точка) в этой строке
Ln от отрицательного аргумента не определен, вот и выдает ошибку ...
Добавлено через 2 мин. Можно было просто сделать sqr(...), а не так вычислять квадрат?
Автор: Needhelp 27.04.2007 0:12
Цитата(volvo @ 26.04.2007 21:04)
Ln от отрицательного аргумента не определен, вот и выдает ошибку ...
Добавлено через 2 мин. Можно было просто сделать sqr(...), а не так вычислять квадрат?
Ага!!! можно...сразу не подумал..Спасибо))А то я на "x^a = Exp(a*Ln(x))" сбился