a: arr = (-3, 100, 10, 12, 18); {задаем типизированную константу - массив и сразу же присваиваем элементам значения}
procedure readarr(a: arr); {процедура для чтения массива}
function summa : integer; {вложенная в процедуру функция для вычисления суммы элементов (входной в процедуру параметр виден и в функции)}
var
s, i: integer;
begin //начало функции
s: = 0;
for i: = 1 to 5 do s: = s + a[i]; //вычисление суммы
summa: = s; //присваиваем значение s функции
end; //конец функции
begin //начало процедуры
write(summa); //выводим значение функции
end; //конец процедуры
begin //начало программы
readarr(a);
end. //конец программы
если только так. я использовал процедуру, в которой входным параметром является заданный массив и в процедуре - вложенную функцию, вычисляющую сумму элементов. а вообще непонятно, зачем тут еще и procedure, ведь вполне можно обойтись одной функцией.
bespalovaannaanna
26.01.2023
Uses crt; var a,pr,n: integer; begin pr: =1; write('введите число: '); readln(a); while a> 0 do begin n: =a mod 10; if (n mod 2=0) and (n< > 0) then pr: =pr*n; a: =a div 10; end; writeln('произведение четных цифр числа: ',pr); end.
Александрович Алексеевна
26.01.2023
Var a, b: array [1..10] of integer; i, j: integer; begin j : = 1; for i : = 1 to 10 do read(a[i]); for i : = 1 to 10 do if (a[i] mod 2) < > 0 then begin b[j] : = a[i]; inc(j); end; for i : = 1 to 10 do write(a[i], ' '); writeln; for i : = 1 to j - 1 do write(b[i], ' '); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дан массив из 5 цифр подсчитать сумму элементов используя procedure для чтения и function для решения a[-3; 100; 10; 12; 18]
type arr = array [1..5] of integer; //тип массива
const
a: arr = (-3, 100, 10, 12, 18); {задаем типизированную константу - массив и сразу же присваиваем элементам значения}
procedure readarr(a: arr); {процедура для чтения массива}
function summa : integer; {вложенная в процедуру функция для вычисления суммы элементов (входной в процедуру параметр виден и в функции)}
var
s, i: integer;
begin //начало функции
s: = 0;
for i: = 1 to 5 do s: = s + a[i]; //вычисление суммы
summa: = s; //присваиваем значение s функции
end; //конец функции
begin //начало процедуры
write(summa); //выводим значение функции
end; //конец процедуры
begin //начало программы
readarr(a);
end. //конец программы
если только так. я использовал процедуру, в которой входным параметром является заданный массив и в процедуре - вложенную функцию, вычисляющую сумму элементов. а вообще непонятно, зачем тут еще и procedure, ведь вполне можно обойтись одной функцией.