Задание 4 Вариант 2 Самостоятельная работа 5 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Решение #1
![Изображение ответа 4. Напишите программу. Школьная медсестра фиксирует антропометрические данные учеников (рост, вес). Определите средние показатели роста и веса учеников для некоторого... Изображение 4. Напишите программу. Школьная медсестра фиксирует антропометрические данные учеников (рост, вес). Определите средние показатели роста и веса учеников для некоторого...](/reshebniki/informatika/11/WBbosova/images1/sam5/2/4.png)
![Дополнительное изображение Дополнительное изображение](/reshebniki/informatika/11/WBbosova/images1/sam5/2/4-.png)
![Загрузка...](/pic/zapret_pravo.png)
Рассмотрим вариант решения задания из учебника Босова, Босова, Аквилянов 11 класс, Бином:
4. Напишите программу. Школьная медсестра фиксирует антропометрические данные учеников (рост, вес). Определите средние показатели роста и веса учеников для некоторого класса из 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 – сравнение двух вещественных чисел.
*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением