Skip to content

Instantly share code, notes, and snippets.

@Miron-Anosov
Created February 16, 2023 09:42
Show Gist options
  • Save Miron-Anosov/7f1d5eaa57050c0c79eaf109e8b6e1b9 to your computer and use it in GitHub Desktop.
Save Miron-Anosov/7f1d5eaa57050c0c79eaf109e8b6e1b9 to your computer and use it in GitHub Desktop.
print('Задача 5. Маятник ')
# Известно, что амплитуда качающегося маятника с каждым разом затухает
# на 8,4% от амплитуды прошлого колебания.
# Если качнуть маятник,
# то, строго говоря, он не остановится никогда,
# просто амплитуда будет постоянно уменьшаться до тех пор,
# пока мы не сочтём такой маятник остановившимся.
# Напишите программу,
# определяющую, сколько раз качнётся маятник, прежде чем он, по нашему мнению, остановится.
# Программа получает на вход
# начальную амплитуду колебания в сантиметрах
# и конечную амплитуду его колебаний,
# которая считается остановкой маятника.
# Обеспечьте контроль ввода.
# Пример:
# Введите начальную амплитуду: 1
# Введите амплитуду остановки: 0.1
# Маятник считается остановившимся через 27 колебаний
def Amplitude(start_amplitude, stop_amplitude):
count = 0
while start_amplitude >= stop_amplitude:
start_amplitude -= start_amplitude / 100 * 8.4
count += 1
return count
def Check(start_amplitude, stop_amplitude):
if start_amplitude < stop_amplitude:
print('Ошибка ввода. Начальная амплитуда меньше амплитуды остановки.')
Start()
else:
pendulum_stop = Amplitude(start_amplitude, stop_amplitude)
return pendulum_stop
def Start():
start_amplitude = int(input('Введите начальную амплитуду: '))
stop_amplitude = float(input('Введите амплитуду остановки:'))
ansver = Check(start_amplitude, stop_amplitude)
print('Маятник считается остановившимся через', ansver, 'колебаний')
Start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment