sychevao19975
?>

Рассмотрите фрагмент электронной таблицы с результатами приёма выпускников девятого класса в физико-математический класс:1)Сформулируйте условие приёма.2)Запишите соответствующую формулу​

Информатика

Ответы

mikek0906
Const
  nm = 50;
  nn = 50;

type
  Mas=array[1..nm,1..nn] of integer;

procedure MatrixInit(var a:Mas;m,n,p,q:integer);
{ Заполнение массива размером m*n
  целыми случайными числами из интервала [p;q] }
var
  i,j,k:integer;
begin
  k:=q-p+1;
  for i:=1 to m do
    for j:=1 to n do a[i,j]:=Random(k)-p
end;

procedure MatrixOutput(var a:Mas;m,n,k:integer);
{ вывод элементов матрицы размера m*n в k позициях }
var
  i,j:integer;
begin
  for i:=1 to m do
  begin for j:=1 to n do Write(a[i,j]:k); Writeln end
end;

function IsFits(var a:Mas;m,col:integer):boolean;
{ функция возвращает true, если колонка col явдяется "подходящей" }
var
  i,max:integer;
  mv:real;
begin
  max:=a[1,col]; mv:=max;
  for i:=2 to m do
  begin
    mv:=mv+a[i,col];
    if max<a[i,col] then max:=a[i,col]
  end;
  mv:=mv/m;
  IsFits:=(max-mv>a[1,col])
end;

procedure ColumnReplace(var a:Mas;m,col:integer);
{ Замена элементов столбца col единицами }
var
  i:integer;
begin
  for i:=1 to m do a[i,col]:=1
end;

var
  P: Mas;
  a,b,m,n,j,k:integer;
  flag:boolean;
begin
  Randomize;
  Write('Введите количество строк и столбцов матрицы: ');
  Read(m,n);
  Write('Укажите минимальное и максимальной значение элементов: ');
  Read(a,b);
  Write('Укажите количество позиций для вывода значения элемента: ');
  Read(k);
  MatrixInit(P,m,n,a,b);
  Writeln('Исходный массив');
  MatrixOutput(P,m,n,k);
  j:=1;
  repeat
    flag:=IsFits(P,m,j);
    if flag then
    begin
      ColumnReplace(P,m,j);
      Writeln('Результирующий массив');
      MatrixOutput(P,m,n,k)
    end
    else Inc(j)
  until flag or (j>n);
  if not flag then
    Writeln('')
end.

Тестовое решение:
Введите количество строк и столбцов матрицы: 5 8
Укажите минимальное и максимальной значение элементов: 0 20
Укажите количество позиций для вывода значения элемента: 3
Исходный массив
 19  7  2 15  2 11  2 15
 12 16  8 14  6  8  1 17
 12 14 10  8  7 19  7  1
  0  9  0  7 18 10  2  5
 18  8  4  9 16 10 14 10
Результирующий массив
 19  7  1 15  2 11  2 15
 12 16  1 14  6  8  1 17
 12 14  1  8  7 19  7  1
  0  9  1  7 18 10  2  5
 18  8  1  9 16 10 14 10
alexeytikhonov
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Рассмотрите фрагмент электронной таблицы с результатами приёма выпускников девятого класса в физико-математический класс:1)Сформулируйте условие приёма.2)Запишите соответствующую формулу​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

alekseydovganich6
Маргарита794
membuksdk
Голосова-Лобанов1555
Ямпольский
Галина-Юлия1292
milo4ka26
samogon-mozhaisk
cherkashenko87543
irinakuznetsova994741
deshkina82
m79857860146895
olimov9
abahtina582
taa19707470