1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 11 Параграф 1.4 ГДЗ Босова 9 класс 2023 (Информатика)
Босова
9 класс
Автор
Босова

Задание 11 Параграф 1.4 ГДЗ Босова 9 класс 2023 (Информатика)

Задача

Площадь прямоугольного треугольника равна половине произведения длин катетов. При делении произведения получится вещественное число. Сравнивать вещественные числа очень неудобно, поэтому сравнивать можно только произведение катетов и искать максимальную величину.
Для увеличения вероятности появления треугольников с одинаковой площадью, количество их (N) в программе увеличено.
const
N = 30;
var
a, b: array[1..N] of integer;
s: array[1..N] of integer;//массив для хранения площадей
i, im, max, k: integer;
begin
randomize;
for i := 1 to N do
begin
a[i] := random(5) + 5;
b[i] := random(6) + 6;
s[i] := a[i] * b[i]
end;
max := s[1]; im := 1;
for i := 2 to N do //определения максимальной площади
if s[i] > max then
begin
max := s[i]; im := i //
end;
writeln(‘Номер треугольника > > ‘, im, ‘, Катет а > > ‘, a[im], ‘, Катет b > > ‘, b[im], ‘, Максимальная площадь > > ‘, (max / 2):4:2);
write(‘Максимальную площадь имеют треугольники с номерами: ‘);
for i := 1 to N do
if s[i] = max then write(i, ‘, ‘)
end.
Окно вывода:
Номер треугольник > > 6, Катет а > > 9, Катет b > > 10, Максимальная площадь > > 45.00
Максимальную площадь имеют треугольники с номерами: 6, 8, 27

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

Площадь прямоугольного треугольника равна $$S=\dfrac{ab}{2}$$, где $$a$$ и $$b$$ — длины катетов. Чтобы не работать с вещественными числами при сравнении, удобно сравнивать произведения $$a \cdot b$$: у треугольника с наибольшим произведением будет и наибольшая площадь.

Сначала заполним массивы катетов случайными значениями, затем найдём максимальное произведение и номер первого треугольника с этой площадью. После этого выведем все номера треугольников, у которых произведение катетов равно максимальному.

const
N = 30;
var
  a, b: array[1..N] of integer;
  s: array[1..N] of integer;
  i, im, max: integer;
begin
  randomize;
  for i := 1 to N do
  begin
    a[i] := random(5) + 5;
    b[i] := random(6) + 6;
    s[i] := a[i] * b[i];
  end;

  max := s[1];
  im := 1;
  for i := 2 to N do
    if s[i] > max then
    begin
      max := s[i];
      im := i;
    end;

  writeln(‘Номер треугольника: ‘, im, ‘, катет a: ‘, a[im], ‘, катет b: ‘, b[im], ‘, площадь: ‘, (max / 2):0:2);
  write(‘Максимальную площадь имеют треугольники с номерами: ‘);
  for i := 1 to N do
    if s[i] = max then write(i, ‘ ‘);
end.

Так как при равенстве площадей равны и произведения катетов, программа выводит все номера треугольников с максимальной площадью.

Ответ

Программа на Pascal приведена выше.



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