Const m = 3; n = 3; var a: array[1..m, 1..n] of integer; i,j,max3:integer; begin max3:=-MaxInt; for i:=1 to m do begin for j:=1 to n do begin write('A[',i,',',j,']= '); readln (a[i,j]); if (a[i,j] mod 3 = 0)and (max3<a[i,j]) then max3:=a[i,j]; end; end; writeln('Максимальное кратное трем ',max3); end.
begin Write('Введите натуральное четырехзначное число: '); Readln(n); if (n > 9999) or (n < 1000) then Writeln('Число должно быть четырехзначным') else begin a := n div 1000; d := n mod 10; n := (n div 10) mod 100; b := n div 10; c := n mod 10; s := a + b + c + d; p := a * b * c * d; Writeln('Сумма цифр равна ', s, ', а их произведение равно ', p) end end.
Тестовое решение: Введите натуральное четырехзначное число: 2345 Сумма цифр равна 14, а их произведение равно 120
Прежде всего, код надо отформатировать и исправить имеющиеся в нем ошибки. А затем приступать к его рассмотрению.
var a, b: integer;
procedure proc(var a: integer; b: integer); begin b := 4; a := 6; b := a + b end;
begin a := 2; b := 3; proc(a, b); Writeln(a, ' ', b) end.
Описаны две целочисленные переменные a и b. Им присваиваются значения 2 и 3 соответственно. Затем следует вызов процедуры proc, в которую эти переменные передаются в качестве параметров.
На входе в proc получаем a=2, b=3. Далее b получает значение 4, а получает значение 6 и затем b получает значение суммы a+b, т.е. 4+6=10. На этом работа процедуры завершается. Поскольку параметр процедуры a имеет описатель var, то в основную программу вернется значение, которое a имело внутри процедуры (т.е. 6). Значение b=10 действует только внутри процедуры и в основную программу не вернется.
Следовательно, в основной программа значение а поменяется на 6, а значение b сохранится прежним (3). В результате на выходе будет строка: 6 3
n = 3;
var a: array[1..m, 1..n] of integer;
i,j,max3:integer;
begin
max3:=-MaxInt;
for i:=1 to m do begin
for j:=1 to n do begin
write('A[',i,',',j,']= ');
readln (a[i,j]);
if (a[i,j] mod 3 = 0)and (max3<a[i,j]) then
max3:=a[i,j];
end;
end;
writeln('Максимальное кратное трем ',max3);
end.
Тестовое решение:
A[1,1]= -15
A[1,2]= 9
A[1,3]= 3
A[2,1]= 7
A[2,2]= -21
A[2,3]= 21
A[3,1]= 15
A[3,2]= -9
A[3,3]= 9
Максимальное кратное трем 21