1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.9 Упр.15 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.9 Упр.15 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 15. Имеются сведения об учениках класса. Определить средний вес мальчиков и средний рост девочек. Кто из учеников класса самый высокий?

Подробный ответ

Для решения удобно использовать запись о каждом ученике как о структуре с полями: фамилия, пол, рост и вес. Сначала вводим данные обо всех учениках, затем отдельно считаем:

  • сумму весов мальчиков и их количество;
  • сумму ростов девочек и их количество;
  • максимальный рост среди всех учеников и фамилию самого высокого ученика.

После этого находим средние значения:

$$\text{средний вес мальчиков}=\frac{\text{сумма весов мальчиков}}{\text{количество мальчиков}}$$

$$\text{средний рост девочек}=\frac{\text{сумма ростов девочек}}{\text{количество девочек}}$$

Самого высокого ученика определяем по наибольшему значению роста.

TYPE student=record
  fam,pol:string;
  rost:100..220;
  mas:30..200;
end;
var
  s:array[1..100] of student;
  i,n,u,km,kd:integer;
  sv,sr,max:real;
begin
  write(‘Количество учеников= ‘);
  readln(n);
  writeln(‘Введите данные об учениках’);
  for i:=1 to n do
  begin
    writeln(i,’ ученик’);
    with s[i] do
    begin
      write(‘Фамилия: ‘); readln(fam);
      write(‘Пол (М/Ж): ‘); readln(pol);
      write(‘Рост: ‘); readln(rost);
      write(‘Вес: ‘); readln(mas);
    end;
  end;

  sv:=0;
  sr:=0;
  km:=0;
  kd:=0;

  for i:=1 to n do
  begin
    with s[i] do
    begin
      if pol=’М’ then
      begin
        km:=km+1;
        sv:=sv+mas;
      end;
      if pol=’Ж’ then
      begin
        kd:=kd+1;
        sr:=sr+rost;
      end;
    end;
  end;

  sv:=sv/km;
  sr:=sr/kd;
  writeln(‘Средняя масса мальчиков= ‘,sv);
  writeln(‘Средний рост девочек= ‘,sr);

  max:=100;
  for i:=1 to n do
  begin
    with s[i] do
    if rost>max then
    begin
      max:=rost;
      u:=i;
    end;
  end;
  with s[u] do
  writeln(‘Самый высокий = ‘,fam);
end.

Ответ

Программа вводит сведения об учениках, вычисляет средний вес мальчиков, средний рост девочек и выводит фамилию самого высокого ученика.



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