Составить программы с использованием While и Repeat к решению задачи.
В некотором году (назовем его условно первым) на участке в 100 гектар средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность на 2%.
Определить:
а) в каком году урожайность превысит 22 центнера с гектара;
б) в каком году площадь участка станет больше 120 гектар;
в) в каком году общий урожай, собранный за все время, начиная с первого года, превысит 800 центнеров.
a) Для определения в каком году урожайность превысит 22 центнера с гектара, мы будем использовать цикл while. Давайте создадим переменные year и yield_per_hectare, и начнем с первого года, когда урожайность составляла 20 центнеров с гектара.
```python
year = 1
yield_per_hectare = 20
while yield_per_hectare <= 22:
year += 1
yield_per_hectare += yield_per_hectare * 0.02
```
В этом цикле мы увеличиваем значение переменной year на 1 каждый год, и увеличиваем значение yield_per_hectare на 2% от его текущего значения. Цикл продолжается до тех пор, пока значение yield_per_hectare не превысит 22. Когда цикл завершится, значение переменной year будет содержать год, в котором урожайность превысит 22 центнера с гектара.
b) Для определения в каком году площадь участка станет больше 120 гектар, мы также будем использовать цикл while. Создадим переменные year и area, и начнем с первого года, когда площадь участка составляла 100 гектар.
```python
year = 1
area = 100
while area <= 120:
year += 1
area += area * 0.05
```
В этом цикле мы увеличиваем значение переменной year на 1 каждый год, и увеличиваем значение area на 5% от его текущего значения. Цикл продолжается до тех пор, пока значение area не станет больше 120. Когда цикл завершится, значение переменной year будет содержать год, когда площадь участка превысит 120 гектар.
c) Для определения в каком году общий урожай превысит 800 центнеров, мы также будем использовать цикл while. Создадим переменные year, yield_per_hectare и total_yield. В начале значения переменных будут такими же, как в пункте a.
```python
year = 1
yield_per_hectare = 20
total_yield = yield_per_hectare * 100
while total_yield <= 800:
year += 1
yield_per_hectare += yield_per_hectare * 0.02
total_yield = yield_per_hectare * 100 * year
```
В этом цикле мы увеличиваем значение переменной year на 1 каждый год, а значение yield_per_hectare увеличиваем на 2% от его текущего значения. Затем мы вычисляем общий урожай, умножив значение yield_per_hectare на 100 (площадь участка) и на значение year. Цикл продолжается до тех пор, пока значение total_yield не превысит 800. Когда цикл завершится, значение переменной year будет содержать год, когда общий урожай превысит 800 центнеров.
Таким образом, с использованием циклов while мы можем решить все три задачи: определить в каком году урожайность превысит 22 центнера с гектара, в каком году площадь участка станет больше 120 гектар, и в каком году общий урожай, собранный за все время, превысит 800 центнеров.