СРОЧНО нужна ПОМОЩЬ. Задали слишком много для Паскаля. Ничего не успеваю. Буду благодарна...

0 голосов
55 просмотров


СРОЧНО нужна ПОМОЩЬ.

Задали слишком много для Паскаля. Ничего не успеваю. Буду благодарна хотя бы за несколько задач. Стоимость всего 35 баллов. Массивы. Обработка массива.



1. Задать, с помощью датчика случайных чисел одномерный
вещественный массив с именем H, состоящий из
десяти элементов и сложить все отрицательные элементы.


2. Задать, вводом с клавиатуры двумерный целый массив с
именем H, состоящий из трёх строк и четырёх столбцов и
перемножить все ненулевые элементы.


3. Задать вводом с клавиатуры строковый массив D[1 .. 4] и
подсчитать, сколько слов имеют вторую
букву О.


4. Задать вводом с клавиатуры массивы В[1 .. 4], где
записаны фамилии участников соревнования, и А[1 .. 4], где записано
время пробега каждого. Вывести на экран фамилию победителя и результат.





Информатика (158 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
  n = 10;

var
  h: array[1..n] of real;
  i: integer;
  s: real;

begin
  Randomize;
  Write('Элементы массива: ');
  s := 0;
  for i := 1 to n do
  begin
    h[i] := (100 * Random - 50) / 3;
    Write(h[i]:0:3, ' ');
    if h[i] < 0 then s := s + h[i]
  end;
  Writeln(#13#10, 'сумма отрицательных элементов равна ', s:0:3)
end.

Тестовое решение:

Элементы массива: 9.159 -12.427 11.448 -7.493 -12.976 -2.252 9.923 -4.759 -7.867 5.567
сумма отрицательных элементов равна -47.774

const
  m = 3;
  n = 4;

var
  h: array[1..m, 1..n] of real;
  i, j: integer;
  p: real;

begin
  p := 1;
  for i := 1 to m do
  begin
    Write('Введите через пробел элементы строки ', i, ': ');
    for j := 1 to n do
    begin
      Read(h[i, j]);
      if h[i, j] <> 0 then p := p * h[i, j]
    end
  end;
  Writeln('Произведение ненулевых элементов равно ', p:0:3)
end.

Тестовое решение:

Введите через пробел элементы строки 1: -2.1 3.7 0.46 17
Введите через пробел элементы строки 2: -3.54 0 11.7 2.222
Введите через пробел элементы строки 3: 3 -5.1 -4.7 0
Произведение ненулевых элементов равно 402114.968

const
  n = 4;

var
  i, k: integer;
  d: array[1..n] of string;

begin
  k := 0;
  for i := 1 to n do
  begin
    Write('Введите слово ', i, ': ');
    Readln(d[i]);
    if (d[i][2]='о') then k:= k + 1
  end;
  Writeln('Количество слов со второй буквой "о" равно ', k)
end.

Тестовое решение:

Введите слово 1: Информатика
Введите слово 2: Компьютер
Введите слово 3: Процессор
Введите слово 4: Монитор
Количество слов со второй буквой "о" равно 2

const
  n = 4;

var
  i, imin: integer;
  A: array[1..n] of real;
  B: array[1..n] of string;
  min: real;

begin
  min := 1000;
  for i := 1 to n do
  begin
    Write('Введите фамилиию участника ', i, ': ');
    Readln(B[i]);
    Write('Введите время участника ', i, ': ');
    Readln(A[i]);
    if A[i] < min then begin min := a[i]; imin := i end;
  end;
  Writeln('Лучшее время ', a[imin], ' у участника ', b[imin])
end.

Тестовое решение:

Введите фамилиию участника 1: Иванов
Введите время участника 1: 8.3
Введите фамилиию участника 2: Петров
Введите время участника 2: 7.9
Введите фамилиию участника 3: Сидоров
Введите время участника 3: 8.7
Введите фамилиию участника 4: Васечкин
Введите время участника 4: 8.0
Лучшее время 7.9 у участника Петров









(142k баллов)
0

Большое спасибо))))))))))

0

Величину "спасибо" тут принято оценивать количеством звездочек))

0

хорошо, тогда....

0

))