Anna_Kamil
?>

Найти сумму целих + чисел, больших 20, меньших 100 и кратных 3. сделать с 3-х цыклов.

Информатика

Ответы

kmalahov

program Numfind;

uses

 System.SysUtils;

var

 a: array [1..10] of Integer;   // 1..10 размерность массива можно изменять, программа будет работать правильно

 i, s: Integer;

begin

 Randomize;

 for i := Low(a) to High(a) do

   a[i] := - 25 + Random (151);

 WriteLn ('Массив чисел:');

 for i := Low(a) to High(a) do

   Write (a [i], ' ');

 s := 0;

 WriteLn;

 WriteLn;

 WriteLn ('Выбрано: ');

 for i := Low(a) to High(a) do begin  // цикл выбора чисел больше 20

   if (a [i] > 20) then begin

     s := s + a [i];

     Write (A [i], ' ');

   end;

 end;

 WriteLn;

 WriteLn ('Сумма чисел больше 20 = ', s);

 s := 0;

 WriteLn;

 WriteLn ('Выбрано: ');

 for i := Low(a) to High(a) do begin  // цикл выбора чисел меньше 100

   if (a [i] > 0) and (a [i] < 100) then begin

     s := s + a [i];

     Write (A [i], ' ');

   end;

 end;

 WriteLn;

 WriteLn ('Сумма чисел меньше 100 = ', s);

 s := 0;

 WriteLn;

 WriteLn ('Выбрано: ');

 for i := Low(a) to High(a) do begin  // цикл выбора чисел кратных 3

   if (a [i] > 0) and (a [i] mod 3 = 0) then begin

     s := s + a [i];

     Write (A [i], ' ');

   end;

 end;

 WriteLn;

 WriteLn ('Сумма чисел кратных 3 = ', s);

 ReadLn

end.

Vitalik6928
Алгоритм сортировки строки массива по возрастанию методом прямого выбора может быть представлен так:
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.

Решение:

//Pascal
const
  n = 7;

var
  a: array[1..n, 1..n] of integer;
  i, j, min, ind: integer;

//Заполнение массива сл. числами и вывод на экран
begin
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(100);
      write(a[i, j]:4);
    end;
    writeln;
  end;
 
  //Сортировка строки матрицы прямым выбором
 
  for i := 1 to n - 1 do
  begin
    min := a[4, i];
    ind := i;
    for j := i + 1 to n do
      if a[4, j] < min then
      begin
        min := a[4, j];
        ind := j;
      end;
    a[4, ind] := a[4, i];
    a[4, i] := min;
  end;
  writeln;
 
    //вывод отсортированной строки
  for j := 1 to n do
  begin
    write(a[4, j]:4);
  end;
end.
ValerevnaRustam1072
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным

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

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

Найти сумму целих + чисел, больших 20, меньших 100 и кратных 3. сделать с 3-х цыклов.
Ваше имя (никнейм)*
Email*
Комментарий*

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

oldulo74
stendpost
sayfullinmr
mrropevvv
snezhanaklimenkova
rendikalogistic
impuls20125948
jstepanova
albina6580
gub191025
len4ik1986
dentinnsmr467
olartamonov6
korotaeva778898
mokeevahelena