Предмет: Информатика
ГДЗ Учебник по Информатике 9 класс Босова

В целочисленных массивах А и В содержатся длины катетов десяти прямоугольных треугольников

ЧАТ-БОТ: ГДЗ с нейронкой

§ 1.4 Обработка одномерных массивов целых чисел на языке Паскаль
Задание 11. В целочисленных массивах А и В содержатся длины катетов десяти прямоугольных треугольников (A[i]. — длина первого катета, B[i] — длина второго катета i-гo треугольника). Напишите программу, которая по имеющимся данным определит треугольник с наибольшей площадью и выведет его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько.


Программа на языке Паскаль:

program Zadacha11;
const
  N = 10; // количество треугольников
var
  A, B: array[1..N] of integer; 
  Area: array[1..N] of real;
  MaxArea: real; 
  MaxIndex: array[1..N] of integer; 
  MaxCount, i: integer; 
begin
  for i := 1 to N do
  begin
    Write('Введите длину первого катета для треугольника ', i, ': ');
    ReadLn(A[i]); 
    Write('Введите длину второго катета для треугольника ', i, ': ');
    ReadLn(B[i]); 
  end;
  // Инициализация переменных для поиска максимальной площади
  MaxArea := 0; // начальное значение максимальной площади
  MaxCount := 0; // начальное количество треугольников с максимальной площадью
  // Вычисление площадей треугольников и нахождение максимальной площади
  for i := 1 to N do
  begin
    Area[i] := 0.5 * A[i] * B[i]; // вычисление площади треугольника по формуле 0.5 * A * B
    if Area[i] > MaxArea then // если текущая площадь больше максимальной
    begin
      MaxArea := Area[i]; // обновляем максимальную площадь
      MaxCount := 1; // сбрасываем счетчик и устанавливаем его в 1
      MaxIndex[1] := i; // запоминаем индекс треугольника с новой максимальной площадью
    end
    else if Area[i] = MaxArea then // если текущая площадь равна максимальной
    begin
      MaxCount := MaxCount + 1; // увеличиваем счетчик
      MaxIndex[MaxCount] := i; // запоминаем индекс треугольника с максимальной площадью
    end;
  end;
  // Вывод результата
  WriteLn('Треугольники с наибольшей площадью:');
  for i := 1 to MaxCount do
  begin
  WriteLn('Треугольник ', MaxIndex[i], ': катеты A = ', A[MaxIndex[i]],
	', B = ', B[MaxIndex[i]], ', площадь = ', Area[MaxIndex[i]]);
  end;
end.

Программа на языке Python:

# Константа для количества треугольников
N = 10

# Инициализация списков для хранения катетов, площадей и индексов
A = [0] * N  # Длины первого катета
B = [0] * N  # Длины второго катета
Area = [0.0] * N  # Площади треугольников
MaxArea = 0.0  # Максимальная площадь
MaxIndex = []  # Список для хранения индексов треугольников с максимальной площадью

# Ввод данных о катетах
for i in range(N):
    A[i] = int(input(f'Введите длину первого катета для треугольника {i + 1}: '))
    B[i] = int(input(f'Введите длину второго катета для треугольника {i + 1}: '))

# Инициализация переменных для поиска максимальной площади
MaxCount = 0  # Количество треугольников с максимальной площадью

# Вычисление площадей треугольников и нахождение максимальной площади
for i in range(N):
    Area[i] = 0.5 * A[i] * B[i]  # Вычисление площади треугольника
    if Area[i] > MaxArea:  # Если текущая площадь больше максимальной
        MaxArea = Area[i]  # Обновляем максимальную площадь
        MaxCount = 1  # Сбрасываем счетчик и устанавливаем его в 1
        MaxIndex = [i]  # Запоминаем индекс треугольника с новой максимальной площадью
    elif Area[i] == MaxArea:  # Если текущая площадь равна максимальной
        MaxCount += 1  # Увеличиваем счетчик
        MaxIndex.append(i)  # Запоминаем индекс треугольника с максимальной площадью

# Вывод результата
print('Треугольники с наибольшей площадью:')
for i in range(MaxCount):
    index = MaxIndex[i]
    print(f'Треугольник {index + 1}: катеты A = {A[index]}, B = {B[index]}, площадь = {Area[index]}')