Запишите на языке Python программы решения задач № 3, 4, 6, 7 из § 3.6. Используйте оператор while.

ГДЗ информатика 8 класс

§ 5.5. Программирование циклических алгоритмов Гдз по информатике 8 класс по учебнику Босова. Базовый уровень. Обновленные ФГОС 2021 год.


5. Запишите на языке Python программы решения задач № 3, 4, 6, 7 из § 3.6. Используйте оператор while.

3. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.

4. Дана последовательность 5, 9, 13, 17, … . Составьте блок-схему алгоритма для определения числа слагаемых (первых членов последовательности), сумма которых равна 324.

6. Сумма 10 000 рублей положена в банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.

7. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет Х амёб.

Ответ

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

3. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.

def calculate_years(A, B, C):
years = 0

while A > C:
    A += A * 0.15  # ежегодный прирост рыбы
    A -= B  # ежегодный план отлова
    years += 1

return years

# Входные данные

A = float(input(«Введите начальный запас рыбы в тоннах (A): «))
B = float(input(«Введите ежегодный план отлова в тоннах (B): «))
C = float(input(«Введите наименьший запас рыбы в тоннах (C): «))

result = calculate_years(A, B, C)
print(«Количество лет, в течение которых можно выдерживать план: «, result)

Программа сначала объявляет функцию calculate_years, которая принимает три аргумента: начальный запас рыбы (A), ежегодный план отлова (B), и наименьший запас рыбы (C).

Затем, в функции calculate_years, используется цикл while, который выполняется до тех пор, пока запас рыбы (A) больше наименьшего запаса (C). Внутри цикла, каждый год к запасу рыбы добавляется 15% от текущего запаса (A += A * 0.15), а затем вычитается ежегодный план отлова (B). При каждой итерации цикла увеличивается счетчик лет (years).

После цикла, результат (количество лет) возвращается из функции calculate_years и выводится на экран.

Вы можете ввести необходимые значения для A, B и C и программа выведет количество лет, в течение которых можно выдерживать план.


4. Дана последовательность 5, 9, 13, 17, … . Составьте блок-схему алгоритма для определения числа слагаемых (первых членов последовательности), сумма которых равна 324.

def find_number_of_terms(target_sum):
a = 5 # первый член последовательности
d = 4 # разность между членами последовательности

sum_of_terms = 0
number_of_terms = 0

while sum_of_terms < target_sum:
    sum_of_terms += a
    a += d
    number_of_terms += 1

if sum_of_terms == target_sum:
    return number_of_terms
else:
    return -1  # если не удалось найти число слагаемых

# Входные данные

target_sum = 324

result = find_number_of_terms(target_sum)
if result == -1:
print(«Не удалось найти число слагаемых, сумма которых равна», target_sum)
else:
print(«Число слагаемых, сумма которых равна», target_sum, «равно», result)

Программа объявляет функцию find_number_of_terms, которая принимает целевую сумму в качестве аргумента.

Затем, в функции find_number_of_terms, используется цикл while, который выполняется до тех пор, пока сумма слагаемых меньше целевой суммы. Внутри цикла, на каждой итерации текущее слагаемое (начиная с 5) добавляется к сумме (sum_of_terms += a), а затем значение слагаемого увеличивается на 4, так как разность между членами последовательности равна 4 (a += d). При каждой итерации цикла увеличивается счетчик числа слагаемых (number_of_terms).

После цикла, программа проверяет, равна ли найденная сумма слагаемых целевой сумме. Если да, то результат (число слагаемых) возвращается из функции find_number_of_terms и выводится на экран. Если нет, то выводится сообщение о том, что не удалось найти число слагаемых, сумма которых равна целевой сумме.

Вы можете использовать программу, введя необходимую целевую сумму, и программа выведет число слагаемых, сумма которых равна этой сумме.


6. Сумма 10 000 рублей положена в банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.

def calculate_time(initial_sum):
target_sum = 2 * initial_sum # Целевая сумма, равная удвоенной первоначальной сумме
interest_rate = 0.05 # Годовая процентная ставка
current_sum = initial_sum # Текущая сумма
years = 0 # Счетчик лет

while current_sum < target_sum:
    current_sum += current_sum * interest_rate  # Увеличение суммы на годовой прирост
    years += 1

return years

#Входные данные

initial_sum = 10000 # Первоначальная сумма

result = calculate_time(initial_sum)
print(«Первоначальная сумма увеличится в два раза через», result, «лет»)

Программа объявляет функцию calculate_time, которая принимает первоначальную сумму в качестве аргумента.

Затем внутри функции calculate_time, используется цикл while, который выполняется до тех пор, пока текущая сумма меньше целевой суммы (удвоенной первоначальной суммы). Внутри цикла, каждый год текущая сумма увеличивается на долю годового прироста (current_sum += current_sum * interest_rate). При каждой итерации цикла увеличивается счетчик лет (years).

После цикла, результат (количество лет) возвращается из функции calculate_time и выводится на экран. Программа сообщает через какой промежуток времени первоначальная сумма увеличится в два раза.

Вы можете использовать программу, установив необходимую первоначальную сумму, и программа выведет количество лет, необходимых для удвоения этой суммы.


7. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет Х амёб.

def calculate_time(target_number):
current_number = 1 # Текущее количество амёб
hours = 0 # Счетчик часов

while current_number < target_number:
    current_number *= 2  # Увеличение количества амёб в два раза
    hours += 3  # Увеличение счетчика часов на 3

return hours

# Входные данные

target_number = 64 # Целевое количество амёб

result = calculate_time(target_number)
print(«Необходимо», result, «часов, чтобы получить», target_number, «амёб»)

Программа объявляет функцию calculate_time, которая принимает целевое количество амёб в качестве аргумента.

Затем внутри функции calculate_time используется цикл while, который выполняется до тех пор, пока текущее количество амёб меньше целевого количества. Внутри цикла, каждые три часа количество амёб удваивается (current_number *= 2). При каждой итерации цикла увеличивается счетчик часов (hours).

После цикла, результат (количество часов) возвращается из функции calculate_time и выводится на экран. Программа сообщает, через сколько времени будет достигнуто целевое количество амёб.

Вы можете использовать программу, установив необходимое целевое количество амёб, и программа выведет количество часов, которые потребуются для достижения этого количества.


Понравилась статья? Поделиться с друзьями: