profile
Опубликовано 6 лет назад по предмету Информатика от yurchishin14

Подскажите почему ошибка:
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.

  1. Ответ
    Ответ дан shavrinatv

    Ответ:

    Объяснение:

    Тут смысла нет передавать массив в качестве параметра, т.к. он описан как 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.