Вычислить значение выражения - Pascal ABC (14320)

Узнай цену своей работы

Формулировка задачи:

Написать программу решения следующей задачи: Вычислить и где и – максимальные элементы массивов X(20), Y(30); и – минимальные элементы этих же массивов (вычисление максимального и минимально элементов массива осуществлять в одной подпрограмме).

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
const nx=20;ny=30;
type mas=array[1..ny] of integer;
var x,y:mas;
    z1,z2:real;
procedure vv_mas(var a:mas;n:integer;s:string);
var i:integer;
begin
 writeln(s);
 for i:=1 to n do
  begin
   a[i]:=random(51);
   write(a[i],' ')
  end;
 writeln
end;
function minmax(a:mas;n:integer;f:boolean):integer;
var i:integer;rez:integer;
begin  
  rez:=a[1];
  for i:=2 to n do if (a[i]>rez)=f then rez:=a[i];
  minmax:=rez
end;
begin
 vv_mas(x,nx,'массив X:');
 vv_mas(y,ny,'массив Y:');
 z1:=(minmax(x,nx,true)+minmax(y,ny,false))/2;writeln('Z1 = ',z1:0:1);
 z2:=(minmax(x,nx,false)+minmax(y,ny,false))/2;writeln('Z2 = ',z2:0:1);
end.

Объяснение кода листинга программы

  1. const nx=20;ny=30; - объявляются константы nx и ny, которые равны 20 и 30 соответственно
  2. type mas=array[1..ny] of integer; - объявляется тип данных mas, который представляет собой массив целых чисел от 1 до ny
  3. var x,y:mas; - объявляются переменные x и y, которые представляют собой массивы
  4. var z1,z2:real; - объявляются переменные z1 и z2, которые представляют собой вещественные числа
  5. procedure vv_mas(var a:mas;n:integer;s:string); - объявляется процедура vv_mas, которая принимает три аргумента: a (массив), n (количество элементов) и s (строка)
  6. var i:integer; - объявляется переменная i
  7. begin   writeln(s);   for i:=1 to n do   begin    a[i]:=random(51);    write(a[i],' ')   end;   writeln end; - выполняется цикл for, который заполняет массив a случайными числами от 1 до 51
  8. function minmax(a:mas;n:integer;f:boolean):integer; - объявляется функция minmax, которая принимает три аргумента: a (массив), n (количество элементов) и f (булево значение, указывающее, какой элемент считать минимальным)
  9. var i:integer; rez:integer; - объявляются переменные i и rez
  10. begin   rez:=a[1];   for i:=2 to n do if (a[i]>rez)=f then rez:=a[i];   minmax:=rez end; - выполняется цикл for, который ищет минимальный элемент в массиве в соответствии с указанным булевым значением f
  11. begin   vv_mas(x,nx,'массив X:'); - выполняется вызов процедуры vv_mas для массива x с аргументами nx и 'массив X:'   vv_mas(y,ny,'массив Y:'); - выполняется вызов процедуры vv_mas для массива y с аргументами ny и 'массив Y:'   z1:=(minmax(x,nx,true)+minmax(y,ny,false))/2;writeln('Z1 = ',z1:0:1); - выполняется вычисление среднего значения двух минимальных элементов массивов x и y и вывод результата на экран
  12. z2:=(minmax(x,nx,false)+minmax(y,ny,false))/2;writeln('Z2 = ',z2:0:1); - выполняется вычисление среднего значения двух максимальных элементов массивов x и y и вывод результата на экран
  13. end. - завершается блок кода

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5