Книга Python-3. Полезные программы. Книга вторая - читать онлайн бесплатно, автор Сергей Фёдорович Гаврилов. Cтраница 3
bannerbanner
Вы не авторизовались
Войти
Зарегистрироваться
Python-3. Полезные программы. Книга вторая
Python-3. Полезные программы. Книга вторая
Добавить В библиотекуАвторизуйтесь, чтобы добавить
Оценить:

Рейтинг: 0

Добавить отзывДобавить цитату

Python-3. Полезные программы. Книга вторая

# ...... ...... ...... .....

# Ширина грани = 58.778525229247315

# Площадь многогранника = 5944.10322684471

# ...... ...... ...... .....

# ..... ..... ..... Конец листинга программы ..... ....

Треугольник



Центр описанной окружности на пересечении перпендикуляров проведенных от середин сторон треугольника. Центр вписанной окружности на пересечении медиан углов треугольника. Центр тяжести треугольника лежит на линии Х-Х параллельной основанию и расположенной на 1/3 высоты – в точке пересечения медиан углов треугольника. Медиана делит противолежащую сторону пополам. Сейчас все привыкли к графическому интерфейсу – пункт меню вычирают мышкой и щелкают кнопкой. Здесь применен древний интерфейс: Пункты меню пронумерованы цифрами ( номерами ). Чтобы выбрать пункт меню – введите цифру номера пункта меню и нажмите Enter.

Листинг программы.

# -*– coding: cp1251 -*-

import math # Подключили математич модуль.

uu=" "

u=" Расчет элементов треугольника "

print (uu)

print (uu)

print (u)

print (uu)

u=" Напротив сторон треугольника лежат одноименные углы "

print (u)

print (uu)

u=" ...... ...... ...... ...... ...... ...... ..... ...... "

print (u)

print (uu)

Pii=0.000000

Pii=math.pi # Вытащили число " Пи "

Kvz=0 # Флаг – Если =1 то работа уже выполнена.

print (uu)

print (uu)

input( ) # Ожидание нажима Ентер

print (uu)

print (uu)

u=" 1 – Известны три стороны "

print (u)

print (uu)

u=" 2 – Известны две стороны и угол меж ними "

print (u)

print (uu)

u=" 3 – Известны два угла и сторона меж ними "

print (u)

print (uu)

u=" 4 – Известны три угла "

print (u)

print (uu)

u=" ...... ...... ...... ...... ...... ...... ..... ...... "

print (u)

print (uu)

q=0

q=input( ) # Вводим число

q=float(q) # Принудительно в вещественное число

Известны три стороны

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 Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.

Для бесплатного чтения открыта только часть текста.

Приобретайте полный текст книги у нашего партнера:

Полная версия книги