Текст книги "Python-3. Полезные программы. Книга вторая"
Автор книги: Сергей Гаврилов
сообщить о нарушении
Текущая страница: 3 (всего у книги 3 страниц)
Известны три стороны
if q==1: # Значит имеем три известные стороны
# Далее Cдвиг – четыре пробела в начале каждой строки
print (uu)
print (uu)
u=" Известны три стороны "
print (u)
print (uu)
u=" Введите сторону А "
print (u)
print (uu)
a=0.00000000
a=input( ) # Вводим число
a=float(a) # Принудительно в вещественное число
u=" Введите сторону B "
print (u)
print (uu)
b=0.00000000
b=input( ) # Вводим число
b=float(b) # Принудительно в вещественное число
u=" Введите сторону C "
print (u)
print (uu)
c=0.00000000
c=input( ) # Вводим число
c=float(c) # Принудительно в вещественное число
print (uu)
print (uu)
u=" .... ..... .... ..... ..... ..... .... ..... ..... "
print (u)
print (uu)
x=0.00000000
x=((b*b)+(c*c)-(a*a))/(2*b*c)
aur=0.0000000
aur=math.acos(x) # Угол А в радианах
au=aur*180/Pii # Угол А в градусах
x=((a*a)+(c*c)-(b*b))/(2*a*c)
bur=0.0000000
bur=math.acos(x) # Угол В в радианах
bu=bur*180/Pii # Угол В в градусах
cur=Pii-(aur+bur)
cu=cur*180/Pii # Угол С в градусах
Kvz=1 # Флаг – Если =1 то работа уже выполнена.
# Далее Конец Cдвига – четыре пробела в начале каждой строки
else:
# Далее Cдвиг – четыре пробела в начале каждой строки
Kvz=0
# Далее Конец Cдвига – четыре пробела в начале каждой строки
if q==2:
Две известные стороны и угол между ними
# Далее Cдвиг – четыре пробела в начале каждой строки
print (uu)
print (uu)
u=" Известны две стороны и угол меж ними "
print (u)
print (uu)
u=" Введите сторону А "
print (u)
print (uu)
a=0.00000000
a=input( ) # Вводим число
a=float(a) # Принудительно в вещественное число
u=" Введите сторону B "
print (u)
print (uu)
b=0.00000000
b=input( ) # Вводим число
b=float(b) # Принудительно в вещественное число
u=" Введите угол C в градусах "
print (u)
print (uu)
cu=0.00000000
cu=input( ) # Вводим число
cu=float(cu) # Принудительно в вещественное число
print (uu)
print (uu)
u=" .... ..... .... ..... ..... ..... .... ..... ..... "
print (u)
print (uu)
# Значит имеем две известные стороны А и В
# и угол между ними С
x=0.00000000
y=0.00000000
cur=cu*Pii/180 # Угол C в радианах
y=math.cos(cur) # COS угла С
x=((a*a)+(b*b))-(2*a*b*y)
c=math.sqrt(x) # Квадратный корень из " x "
x=((b*b)+(c*c)-(a*a))/(2*b*c)
aur=0.0000000
aur=math.acos(x) # Угол А в радианах
au=aur*180/Pii # Угол А в градусах
x=((a*a)+(c*c)-(b*b))/(2*a*c)
bur=0.0000000
bur=math.acos(x) # Угол В в радианах
bu=bur*180/Pii # Угол В в градусах
Kvz=1 # Флаг – Если =1 то работа уже выполнена.
# Далее Конец Cдвига – четыре пробела в начале каждой строки
else:
# Далее Cдвиг – четыре пробела в начале каждой строки
Kvz=0
# Далее Конец Cдвига – четыре пробела в начале каждой строки
if q==3:
Одна сторона – А и два угла В и С
# Далее Cдвиг – четыре пробела в начале каждой строки
print (uu)
print (uu)
u=" Известны два угла при одной стороне "
print (u)
print (uu)
u=" Введите сторону А "
print (u)
print (uu)
a=0.00000000
a=input( ) # Вводим число
a=float(a) # Принудительно в вещественное число
u=" Введите угол B в градусах "
print (u)
print (uu)
bu=0.00000000
bu=input( ) # Вводим число
bu=float(bu) # Принудительно в вещественное число
u=" Введите угол C в градусах "
print (u)
print (uu)
cu=0.00000000
cu=input( ) # Вводим число
cu=float(cu) # Принудительно в вещественное число
print (uu)
print (uu)
u=" .... ..... .... ..... ..... ..... .... ..... ..... "
print (u)
print (uu)
# Известны два угла В и С при одной стороне А
x=0.00000000
y=0.00000000
z=0.00000000
bur=bu*Pii/180 # Угол B в радианах
cur=cu*Pii/180 # Угол C в радианах
aur=Pii-(bur+cur)
au=aur*180/Pii
z=math.sin(aur) # Sin угла A
x=math.sin(bur) # Sin угла B
y=math.sin(cur) # Sin угла C
b=(a*x)/z # Сторона В
c=(b*y)/x # Сторона С
Kvz=1 # Флаг – Если =1 то работа уже выполнена.
# Далее Конец Cдвига – четыре пробела в начале каждой строки
else:
# Далее Cдвиг – четыре пробела в начале каждой строки
Kvz=0
# Далее Конец Cдвига – четыре пробела в начале каждой строки
if q==4:
Имеем три угла А, В и С
# Далее Cдвиг – четыре пробела в начале каждой строки
print (uu)
print (uu)
u=" Известны три угла ( определяем пропорции сторон ) "
print (u)
print (uu)
u=" Введите угол А в градусах "
print (u)
print (uu)
au=0.00000000
au=input( ) # Вводим число
au=float(au) # Принудительно в вещественное число
u=" Введите угол B в градусах "
print (u)
print (uu)
bu=0.00000000
bu=input( ) # Вводим число
bu=float(bu) # Принудительно в вещественное число
cu=180-(au+bu)
cu=float(cu) # Принудительно в вещественное число
print (uu)
print (uu)
u=" .... ..... .... ..... ..... ..... .... ..... ..... "
print (u)
print (uu)
aur=au*Pii/180 # Угол C в радианах
bur=bu*Pii/180 # Угол C в радианах
cur=cu*Pii/180 # Угол C в радианах
a=1000*(math.sin(aur))
b=1000*(math.sin(bur))
c=1000*(math.sin(cur))
# Далее Конец Cдвига – четыре пробела в начале каждой строки
else:
# Далее Cдвиг– четыре пробела в начале каждой строки
Kvz=0
# Далее Конец Cдвига – четыре пробела в начале каждой строки
# " ,,,, ,,,, ,,,, ,,,,, ,,,,, ,,,, ,,,,, ,,,,, ,,,,, "
# Это « добавочный расчет » во все подпрограммы Треугольника
x=0.00000000
z=0.00000000
R=0.00000000
ha=0.00000000
hb=0.00000000
hc=0.00000000
z=math.sin(aur) # Sin угла A
R=a/(2*z) # R Описанной окружности
hc=b*z # Высота из угла С
z=math.sin(cur) # Sin угла С
hb=a*z # Высота из угла B
z=math.sin(bur) # Sin угла B
ha=c*z # Высота из угла A
S=a*ha/2 # Площадь треугольника
Pe=a+b+c # Периметр
rv=(S+S)/Pe # Радиус вписанной окружности
u=" ,,,, ,,,, ,,,, ,,,,, ,,,,, ,,,, ,,,,, ,,,,, ,,,,, "
print (uu)
print (u)
print (uu)
print (uu)
u=" Сторона A = "
ss=str(a) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Сторона B = "
ss=str(b) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Сторона C = "
ss=str(c) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Угол А = "
ss=str(au) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Угол B = "
ss=str(bu) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Угол C = "
ss=str(cu) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" .... ..... .... ..... ..... ..... .... ..... ..... "
print (u)
print (uu)
print (uu)
input( ) # Ожидание нажима Ентер
print (uu)
u=" Площадь = "
ss=str(S) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Радиус описанной окружности. = "
ss=str(R) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Радиус вписанной окружности = "
ss=str(rv) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Высота из угла A = "
ss=str(ha) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Высота из угла B = "
ss=str(hb) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Высота из угла C = "
ss=str(hc) # Преобразуем число в строку
u=u+ss
print (u)
print (uu)
u=" Центр тяжести на одной трети высоты "
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
print (uu)
u=" ...... ...... ...... Конец программы ...... ...... ...... "
print (u)
print (uu)
input( ) # Ожидание нажима Ентер
print (uu)
# ..... ..... ..... Конец листинга программы ..... ....
Центр масс нескольких тел
Определение координат центра масс нескольких тел производим методом последовательного добавления к уже определенной суммарной массе нескольких тел – еще одной массы. Начинаем с определения центра масс двух тел М1 и М2. Находим суммарную массу дух тел и координаты центра масс этих двух тел в точке Хх. Далее считаем, что сумма масс двух тел сосредоточена в точке центра масс с координатами Хх. Считаем что получившееся суммарное тело – это тело № М3. Затем добавляем к нему еще одно тело № М4. Снова получаем задачу по определению центра масс двух тел № М3 и № М4. Находим координаты новой точки центра масс. Программа позволяет добавлять к уже определенному суммарному телу еще одно тело столько раз – сколько необходимо.
По анологичной методике можно разработать программу по вычислению момента инерции, координат нейтральной оси и момента сопротивления тела сложной формы. Сечение тела сложной формы разбиваем на элементарные прямоугольники и расчитываем их как составное тело. Если при разработке данной программы возникнут сложности – можно обратится к автору.
Листинг программы.
# -*– coding: cp1251 -*-
import sys # Подключили основные библиотеки
import math # Подключили математич модуль
uu=" "
print (uu)
print (uu)
print (uu)
u=" Расчет центра масс нескольких тел "
print (u)
u=" Введите массу первого тела М1 "
print (uu)
print (u)
m=0.0000
m=input( )
print (uu)
u=" Введите растояние до нулевой оси отсчета Х1 "
print (uu)
print (u)
r=0.0000
r=input( )
print (uu)
u=" .... .... ..... .... ..... ..... ..... ..... ..... ..... "
print (u)
u=" Масса первого тела М1 = "
t=str(m) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
u=" Растояние до нулевой оси отсчета Х1 = "
t=str(r) # Преобразуем число в строку
u=u+t # сложим строки
print (uu)
print (u)
m=float(m) # Принудительно в вещественное число
r=float(r) # Принудительно в вещественное число
mm=0.00000
mm=m*r
u=" Момент массы относительно нулевой оси = "
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.