Подскажите почему ошибка: const x=0.2; y :array[1..9]of...

0 голосов
66 просмотров

Подскажите почему ошибка: const x=0.2; y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9); function t(u:real):real; begin t:=sin(u)+cos(u); end; function p(a,b:integer; s:array[1..9] of real):real; var i:integer; d:real; begin d:=1; for i:= a to b do d:=d*v[i]; p:=d; end; Begin cls; writeln('z(x,y)=',exp(ln(t(x))*3)/p(y,1,9)+sqr(p(y,1,9))/exp(ln(t(x))*2/3)); End.


Информатика (120 баллов) | 66 просмотров
Дан 1 ответ
0 голосов

Ответ:

Объяснение:

Тут смысла нет передавать массив в качестве параметра, т.к. он описан как const .

Текст будет примерно такой

const x=0.2;

 y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9);

function t(u:real):real;

begin

t:=sin(u)+cos(u);

end;

function p(a,b:integer):real;

var i:integer; d:real;

begin

d:=1;

for i:= a to b do

d:=d*y[i];

p:=d;

end;

Begin

cls;

writeln('z(x,y)=',exp(ln(t(x))*3)/p(1,9)+sqr(p(1,9))/exp(ln(t(x))*2/3):6:4);

readln;

End.

Если нужно массив передать в функцию, то его описывают как новый тип переменной и передают

Вот так, например:

const z=9;

type mas=array[1..z] of integer;

var

u :mas;

i:integer;

// Вывод массива на экран

// a -массив n-размер,text - что хотим написать

procedure showmas(b:mas;n:integer;text:string);

var

i:integer;

begin

writeln(text);

for i:=1 to n  do

write(b[i],' ');

readln;

end;

begin

for i:=1 to 9 do

u[i]:= random(20);

showmas(u,10,'Исходный массив u');

end.

(3.3k баллов)