В торговой точке перед продавцами поставлены следующие условия:
* Если торговля продавца составит объём, равный 5 размерам минимальной заработной платы, он получает 5 % премии;
* Если торговля продавца составит объём, равный 10 размерам минимальной заработной платы, он получает 7,5 % премии;
* Если торговля продавца составит объём, равный 20 размерам минимальной заработной платы, он получает 10 % премии;
* Если торговля продавца составит объём свыше 20 - кратного размера инимальной заработной платы, он получает 12 % премии;
Составьте таблицу логического решения данной задачи.
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200
1)
program mas1;
var
arr: array[1..10] of integer;
begin
randomize;
for var i := 1 to 10 do
begin
arr[i] := random(21);
write(arr[i], ' ');
end;
end.
2)
program mas2;
var
arr: array[1..10] of integer;
begin
randomize;
for var i := 1 to 10 do
begin
arr[i] := random(20 - 3 + 1) + 3;
write(arr[i], ' ');
end;
end.
3)
program mas3;
var
arr: array[1..10] of integer;
begin
arr[1] := 2;
write(arr[1], ' ');
for var i := 2 to 10 do
begin
arr[i] := arr[i - 1] + 2;
write(arr[i], ' ');
end;
end.
Объяснение:
1)
program mas1; // Название программы
var
arr: array[1..10] of integer; // Целочисленный массив, состоящий из 10 элементов
begin // Начало программы
randomize; // Процедура для инициализации датчика случайных чисел
for var i := 1 to 10 do // Идём от 1 до 10 индексов
begin // Начало цикла
arr[i] := random(21); // Заполняем массив случайными числами в диапазоне [0, 21)
write(arr[i], ' '); // Выводим через пробел
end; // Конец цикла
end. // Конец программы
2)
program mas2; // Название программы
var
arr: array[1..10] of integer; // Целочисленный массив, состоящий из 10 элементов
begin // Начало программы
randomize; // Процедура для инициализации датчика случайных чисел
for var i := 1 to 10 do // Идём от 1 до 10 индексов
begin // Начало цикла
arr[i] := random(20 - 3 + 1) + 3; // Заполняем массив случайными числами в диапазоне [3, 20] по формуле:
Значение = (b - a + 1) + a
write(arr[i], ' '); // Выводим через пробел
end; // Конец цикла
end. // Конец программы
3)
program mas3; // Название программы
var
arr: array[1..10] of integer; // Целочисленный массив, состоящий из 10 элементов
begin // Начало программы
arr[1] := 2; // Первый элемент массива = 2
write(arr[1], ' '); // Выводим его и ставим пробел
for var i := 2 to 10 do // Идём от 2 до 10 индексов
begin // Начало цикла
arr[i] := arr[i - 1] + 2; // Прибавляем к предыдущему элементу массива двойку
write(arr[i], ' '); // Выводим через пробел
end; // Конец цикла
end. // Конец программы