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

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

В данной программе в качестве данных вводятся случайные значения из определенного диапазона. Эти данные скорее всего обозначают «виртуальных» учеников. Сделано это чтобы не вводить вручную 30 значений. Значения можно ввести и из подготовленных файлов Input.txt.
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. Для уменьшения точности отбора можно увеличить эту величину, для увеличения точности - уменьшить.
abs(a[i] - srr) < 0.1 – сравнение двух вещественных чисел.
*Текст задания приводится исключительно в образовательных целях для более полного понимания решения.

Похожие решебники