Я думаю, что имеется в виду среднее по значению Pascal : var arr : array[0..2] of integer; { если числа целые } i, j, t : integer; begin read(arr[0], arr[1], arr[2]); // самый простой это отсортировать массив // в данном случае можно использовать сортировку "пузырьком" for i := 0 to 2 do for j := 0 to 2 do if arr[ j ] > arr[ j + 1] begin t := arr[ j ]; arr[ j ] := arr[ j + 1]; arr[ j + 1 ] := t; end; //Конечно, среднее по значению число будет храниться в элементе arr[1] writeln(arr[1]); end. На случай, если в учебнике просят среднее арифметическое, понятно, что нужно просто вывести ( arr[0] + arr[1] + arr[2] ) / 3 Если есть какие-то вопросы, то можете написать личное сообщение
// PascalABC.NET 3.2, сборка 1387 от 17.02.2017 // Внимание! Если программа не работает, обновите версию!
1) begin var a,b:real; Read(a,b); if (a>0) and (b>0) then Writeln('Произведение равно ',a*b) else Writeln('Сумма квадратов равна ',a*a+b*b) end.
2) begin var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println; for var i:=0 to a.Length-1 do if i.IsOdd then a[i]:=0 else if (i+1) mod 5 =0 then a[i]*=2; a.Println; end.
Замечание "Каждый второй" и "каждый пятый" дают пересечение на каждом десятом. И получается. что каждый десятый элемент должен быть обнулён. как каждый второй и удвоен, как каждый пятый, так что все равно получим ноль.
// PascalABC.NET 3.2, сборка 1387 от 17.02.2017 // Внимание! Если программа не работает, обновите версию!
function Gcd(a,b:integer):integer; // НОД begin while b<>0 do begin a:=a mod b; Swap(a,b) end; Result:=a end;
procedure RedFrac(var a,b:integer); // сокращение дроби begin var sgna:=sign(a); // мы должны учитывать знак! var sgnb:=sign(b); // мы должны учитывать знак! a:=abs(a); b:=abs(b); var d:=Gcd(a,b); a:=(a div d)*sgna; b:=(b div d)*sgnb end;
begin var p,q:integer; Write('Введите числитель и знаменатель: '); Read(p,q); RedFrac(p,q); Writeln('Результат: ',p,' ',q) end.
Пример Введите числитель и знаменатель: -210 165 Результат: -14 11
Pascal :
var arr : array[0..2] of integer; { если числа целые }
i, j, t : integer;
begin
read(arr[0], arr[1], arr[2]);
// самый простой это отсортировать массив
// в данном случае можно использовать сортировку "пузырьком"
for i := 0 to 2 do
for j := 0 to 2 do
if arr[ j ] > arr[ j + 1]
begin
t := arr[ j ];
arr[ j ] := arr[ j + 1];
arr[ j + 1 ] := t;
end;
//Конечно, среднее по значению число будет храниться в элементе arr[1]
writeln(arr[1]);
end.
На случай, если в учебнике просят среднее арифметическое, понятно, что нужно просто вывести ( arr[0] + arr[1] + arr[2] ) / 3
Если есть какие-то вопросы, то можете написать личное сообщение