1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
(Сам и контр)
Задание 4 Вариант 2 Самостоятельная работа 5 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Босова, Босова, Аквилянов
11 класс
Класс
11
Предмет
Информатика
Автор
Босова, Босова, Аквилянов

Задание 4 Вариант 2 Самостоятельная работа 5 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)

Задача
  1. Напишите программу. Школьная медсестра фиксирует антропометрические данные учеников (рост, вес). Определите средние показатели роста и веса учеников для некоторого класса из 30 человек. Есть ли в этом классе хотя бы один ученик, удовлетворяющий этим показателям? Запишите текст программы.
Подробный ответ

Нужно найти средние значения роста и веса для 30 учеников, а затем проверить, есть ли среди них ученик, у которого рост и вес одновременно совпадают со средними значениями с учётом небольшой погрешности.

Сначала заполняем два массива: $$a[i]$$ — рост, $$b[i]$$ — вес. Затем находим суммы и делим их на $$n=30$$:

$$s_r=\frac{\sum a[i]}{n}, \quad s_w=\frac{\sum b[i]}{n}$$

После этого просматриваем все элементы массивов и проверяем условие:

$$|a[i]-s_r|<0.1 \land |b[i]-s_w|<0.1$$

Если такой ученик найден, выводится есть, иначе — нет.

program s5_v2_4;
const
  n = 30;
var
  a, b: array[1..n] of real;
  sr, sw, srr, srw: real;
  f: boolean;
  i: integer;
begin
  writeln(‘Ввод массивов’);
  for i := 1 to n do
  begin
    a[i] := random * 2 + 1; {массив значений роста}
    b[i] := random * 60; {массив значений веса}
  end;

  for i := 1 to n do
    write(a[i]:2:2, ‘ ‘);
  writeln;
  for i := 1 to n do
    write(b[i]:2:2, ‘ ‘);

  sr := 0;
  sw := 0;
  for i := 1 to n do
  begin
    sr := sr + a[i];
    sw := sw + b[i];
  end;

  srr := sr / n;
  srw := sw / n;
  writeln;
  writeln(srr:6:2, ‘ ‘, srw:6:2);

  f := false;
  for i := 1 to n do
    if (abs(a[i] — srr) < 0.1) and (abs(b[i] — srw) < 0.1) then f := true;

  if f then writeln(‘есть’) else writeln(‘нет’);
end.

Сравнение вещественных чисел выполняется с точностью до $$0.1$$, потому что при вычислениях средних значений возможны небольшие погрешности.

Ответ

Программа составлена.



Общая оценка
4.9 / 5
Другие учебники
Другие предметы