Расчет индекса урожайности сельскохозяйственных культур

Photo

Задание 16. Составить блок-схему алгоритма и программу расчета индекса урожайности однородных сельскохозяйственных культур:

$I_{\text{урожайности}} = \frac{\sum y_1 S_1}{\sum y_0 S_1}$

где $y_0$ и $y_1$ — урожайность с 1 га в базисном и отчетном периодах, ц; $S_1$ — площадь посева в отчетном периоде, га.

Решение:

  1. Начало:

    • Начинаем программу.
  2. Ввод данных:

    • Запрашиваем количество культур $n$.
    • Для каждой культуры $i$ от 1 до $n$ запрашиваем:
      • $y_{0i}$ - урожайность в базисном периоде.
      • $y_{1i}$ - урожайность в отчетном периоде.
      • $S_{1i}$ - площадь посева в отчетном периоде.
  3. Вычисление сумм:

    • Инициализируем переменные для сумм:
      • sum1 = 0 (для $\sum y_1 S_1$)
      • sum0 = 0 (для $\sum y_0 S_1$)
    • Для каждой культуры $i$ от 1 до $n$:
      • sum1 = sum1 + y1i * S1i
      • sum0 = sum0 + y0i * S1i
  4. Вычисление индекса урожайности:

    • Если sum0 равно 0, то выводим сообщение об ошибке (деление на ноль невозможно).
    • Иначе:
      • I = sum1 / sum0
  5. Вывод результата:

    • Выводим значение индекса урожайности $I$.
  6. Конец:

    • Завершаем программу.

Блок-схема (описание):

Блок-схема будет содержать следующие элементы:

  • Начало/Конец: Овалы, обозначающие начало и конец программы.
  • Ввод/Вывод: Параллелограммы, обозначающие ввод данных (количество культур, урожайность, площадь) и вывод результата (индекс урожайности).
  • Процесс: Прямоугольники, обозначающие вычисления (суммирование, вычисление индекса).
  • Решение: Ромб, обозначающий проверку условия (деление на ноль).
  • Цикл: Шестиугольник, обозначающий цикл для перебора культур.
  • Стрелки: Линии, указывающие последовательность выполнения операций.

Пример программы (Python):

n = int(input("Введите количество культур: "))

sum1 = 0
sum0 = 0

for i in range(n):
    y0 = float(input(f"Введите урожайность в базисном периоде для культуры {i+1}: "))
    y1 = float(input(f"Введите урожайность в отчетном периоде для культуры {i+1}: "))
    S1 = float(input(f"Введите площадь посева в отчетном периоде для культуры {i+1}: "))

    sum1 += y1 * S1
    sum0 += y0 * S1

if sum0 == 0:
    print("Ошибка: деление на ноль!")
else:
    I = sum1 / sum0
    print(f"Индекс урожайности: {I}")
thinking img
progress gif

Текст скопирован
Готово
Ошибка
×