
Program z4; Type Arr=array[1..255] of integer; Var A,b:arr; M,v,n:byte;Procedure sa(x, y: arr;
z:byte; var c:array[1..255] of real); Var i, j, K :byte; begin x[i]:=x[1]; y[j]:=y[1]; for k:=1 to z do begin c[k]:=(X[i]+y[j])/2; x[i]:=x[i+1]; y[j]:=y[j+1]; write (' ',c[k]); end; end;beginrandomize;write('введите N'); read(n); for M:=1 to n do begin A[m]:=random (90)-43; Write (' ',a[m]); End; writeln;for v:=1 to n do begin B[v]:=random (87)-36; Write (' ',b[v]); End; sa (a, b, n);End.что не так, срочно!!!!!!!!!!!!!составить блок схему

Ответы на вопрос

Ответ:
i,n: integer; procedure IN1(var a,b:real;n: integer;var y:real); var p:real; i:integer; ... Пример записи: CONST 63 N=20; TYPE T= ARRAY [ 1.



В коде, который вы предоставили, есть несколько ошибок:
В процедуре
sa
вам необходимо объявить переменныеi
,j
иk
и инициализировать их значениями перед их использованием в цикле. Также, для циклаfor k:=1 to z
следует использоватьz
как верхнюю границу, а не1
.В вызове процедуры
sa
в конце программы не передается переменная для хранения результата. Вы объявили массивc
, но не передали его в процедуру.В процедуре
sa
вы используете переменныеi
иj
, но не инициализируете их значениями. Вам нужно итерироваться по массивамx
иy
, чтобы вычислить значенияc[k]
, но в вашем коде это не выполняется.В вашем вызове процедуры
sa
вы передаете только два массиваa
иb
, но ожидаете, что будет передано третье значениеn
. Вы должны передавать все три параметра.Вы должны объявить переменную
k
перед использованием ее в цикле.После вызова
sa(a, b, n);
вам нужно указать переменную для хранения результата, либо изменить процедуруsa
, чтобы она возвращала результат.
Вот исправленный код:
pascalProgram z4; Type Arr = array[1..255] of integer; Var A, b: arr; M, v, n: byte; Procedure sa(x, y: arr; z: byte; var c: array[1..255] of real); Var i, j, k: byte; begin i := 1; j := 1; for k := 1 to z do begin c[k] := (x[i] + y[j]) / 2; x[i] := x[i + 1]; y[j] := y[j + 1]; write(' ', c[k]); end; end; begin randomize; write('Введите N: '); read(n); for M := 1 to n do begin A[M] := random(90) - 43; Write(' ', A[M]); end; writeln; for v := 1 to n do begin b[v] := random(87) - 36; Write(' ', b[v]); end; writeln; // Создайте массив для хранения результата var result: array[1..255] of real; sa(A, b, n, result); end.
Это исправленный код, который должен работать корректно. Теперь в нем объявлены и инициализированы все необходимые переменные и массивы.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili