Вобласти 20 районов.площади,засеянные пшеницей (в гектарах)и урожай,собранный в каждом районе(в центнерах)хранятся в двух массивах.определите средний урожайность пшеницы по каждому району и по области решить двумя а)без использования дополнительного третьего массива в)с использованием дополнительного массива

ailanka87 ailanka87    2   14.08.2019 23:50    103

Ответы
emin551 emin551  04.10.2020 19:50
Вот без массива.

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadArrReal('Площади:',20);
  var u:=ReadArrReal('Урожай:',20);
  s.Zip(u,(x,y)->y/x).Println
end.

Пример работы программы
Площади: 3200 2670 1530 3040 2360 2350 1250 4150 4790 2210 4300 2950 3100 4290 3710 3790 2930 2380 4630 3760
Урожай: 55040 84639 56151 107008 83308 58045 40500 46065 148969 24310 46010 97645 102920 50193 115752 142125 82040 29988 170384 90616
17.2 31.7 36.7 35.2 35.3 24.7 32.4 11.1 31.1 11 10.7 33.1 33.2 11.7 31.2 37.5 28 12.6 36.8 24.1

Вот с массивом )))

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadArrReal('Площади:',20);
  var u:=ReadArrReal('Урожай:',20);
  var q:=s.Zip(u,(x,y)->y/x).ToArray; q.Println
end.
ПОКАЗАТЬ ОТВЕТЫ
Grister555 Grister555  04.10.2020 19:50
Примечание: Ввод данных рандомный, но в скобках { } представлен альтернативный вариант ввода с клавиатуры. 
Также порядок ввода здесь по районам, но при желании можно изменить на ввод по массивам.

А) без использования дополнительного третьего массива

const n=20;
var
  a,b: array[1..n] of integer;
  sa: real;
  i: byte;
begin
  randomize;
  sa:=0;
  for i:=1 to n do begin;
    writeln ('Район № ',i);
    {write ('Площадь пшеницы: ');
    readln (a[i]);
    write ('Собрано пшеницы: ');
    readln (b[i]);}
    a[i]:=random(50,100); 
    b[i]:=random(500,1000);
    writeln ('Площадь пшеницы: ',a[i],' га');
    writeln ('Собрано пшеницы: ',b[i],' т');
    writeln ('Средняя урожайность: ',b[i]/a[i]:6:2,' т/га');
    writeln;
    sa:=sa+b[i]/a[i];
  end;
  sa:=sa/n;
  writeln;
  writeln ('Средняя урожайность по области = ',sa:6:2,' т/га');
  writeln;
  writeln ('Массив 1:');
  println (a);
  writeln ('Массив 2:');
  println (b);
end.

Результат работы для N=2
Район № 1
Площадь пшеницы: 98 га
Собрано пшеницы: 815 т
Средняя урожайность:   8.32 т/га

Район № 2
Площадь пшеницы: 63 га
Собрано пшеницы: 583 т
Средняя урожайность:   9.25 т/га

Средняя урожайность по области =   8.79 т/га

Массив 1:
98 63
Массив 2:
815 583


В) с использованием дополнительного массива 

const n=20;
var
  a,b,c: array[1..n] of real;
  sa: real;
  i: byte;
begin
  randomize;
  sa:=0;
  for i:=1 to n do begin;
    writeln ('Район № ',i);
    {write ('Площадь пшеницы: '); readln (a[i]);
    write ('Собрано пшеницы: '); readln (b[i]);}
    a[i]:=random(50,100); 
    b[i]:=random(500,1000);
    writeln ('Площадь пшеницы: ',a[i],' га');
    writeln ('Собрано пшеницы: ',b[i],' т');    
    c[i]:=b[i]/a[i];
    writeln ('Средняя урожайность: ',c[i]:6:2,' т/га');
    sa:=sa+c[i];
  end;  
  sa:=sa/n;
  writeln;
  writeln ('Средняя урожайность по области = ',sa:6:2,' т/га');
  writeln;
  writeln ('Массив 1:');
  println (a);
  writeln ('Массив 2:');
  println (b);
  writeln ('Массив 3:');
  println (c)
end.

Результат работы для N=2
Район № 1
Площадь пшеницы: 97 га
Собрано пшеницы: 891 т
Средняя урожайность:   9.19 т/га
Район № 2
Площадь пшеницы: 87 га
Собрано пшеницы: 945 т
Средняя урожайность:  10.86 т/га

Средняя урожайность по области =  10.02 т/га

Массив 1:
97 87
Массив 2:
891 945
Массив 3:
9.18556701030928 10.8620689655172
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика