Функция должна возвращать значение. Пусть катеты a и b, тогда она должна вернуть a * b / 2. Проверки входных параметров я не провожу, считая, что они корректны:
Код (Pascal):
function area(a, b: real): real;
begin
area := a * b / 2;
end;
begin
write(area(2, 2)) { должно вывести 2 }
end.
Процедура не возвращает значение. Чтобы она смогла-таки как-то сообщить основной программе результат, используем аргумент, перед которым указываем var.
Код (Pascal):
procedure area(a, b: real; var c: real);
begin
c := a * b / 2;
end;
var S: real;
begin
area(2, 2, S);
write(S) { должно вывести 2 }
end.
var
a: array [1..5,1..6] of integer;
i,j,sum,ip,jp:integer;
flag:boolean;
begin
flag:=false;
sum:=0;
for i:=1 to 5 do
begin
for j:= 1 to 6 do
begin
a[i,j]:=random(31)-10;
write(a[i,j]:4);
if a[i,j] mod 2 = 0 then
sum:=sum+a[i,j];
if not flag then
if abs(a[i,j] mod 2) = 1 then
begin
flag:=true;
ip:=i;
jp:=j;
end;
end;
writeln;
end;
a[ip,jp]:=sum;
writeln;
for i:=1 to 5 do
begin
for j:=1 to 6 do
write(a[i,j]:4);
writeln;
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, в которой осуществляется ввод целых чисел и подсчет суммы и среднего арифметического введенных положительных чисел. 1)ввод чисел осуществляется до тех пор пока не будет введен ноль. 2)количество введённых чисел заранее известно (оператор for to )
Такая программа называется Photomath