355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Сергей Гаврилов » Полезные программы Python-3. Книга третья » Текст книги (страница 2)
Полезные программы Python-3. Книга третья
  • Текст добавлен: 19 августа 2020, 06:30

Текст книги "Полезные программы Python-3. Книга третья"


Автор книги: Сергей Гаврилов



сообщить о нарушении

Текущая страница: 2 (всего у книги 3 страниц)

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

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

# Позволяет рассмотреть результаты расчета

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

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

Расчет по Прогибу и Углу раствора

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

# -*– coding: cp1251 -*-

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

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

uu=" "

print (uu)

print (uu)

u=" Расчет по Прогибу и Углу раствора "

print (u)

print (uu)

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

print (u)

print (uu)

u=" Введите Угол раствора в градусах "

print (u)

print (uu)

au=0.00000000

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

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

aur=au*Pii/180

u=" Введите стрелу Прогиба "

print (u)

print (uu)

b=0.00000000

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

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

z=math.cos(aur/2)

R=b/(1-z)

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=1.000000

x= math.cos(aur/2)

y=R*x

x=(R*R)-(y*y)

c=math.sqrt(x) # Квадратный корень из " x "

a=c+c

D=R+R

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

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

# Позволяет рассмотреть результаты расчета

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

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

Расчет по Углу раствора и длине Дуги

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

# -*– coding: cp1251 -*-

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

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

uu=" "

print (uu)

u=" Расчет по Углу раствора и длине Дуги "

print (u)

print (uu)

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

print (u)

print (uu)

u=" Введите Угол раствора в градусах "

print (u)

print (uu)

yg=0.00000000

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

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

print (uu)

u=" Введите длину Дуги "

print (u)

print (uu)

L=0.00000000

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

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

C=L*360/yg

D=C/Pii

R=D/2

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=1.000000

yr=yg*Pii/180

x= math.cos(yr/2)

y=R*x

b=R-y

z=(R*R)-(y*y)

c=math.sqrt(z) # Квадратный корень из " x "

a=c+c

au=yg

# Вывод по Хорде Прогиб Радиус

# Далее следует блок вывода результата ( смотри выше ).

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

# Позволяет рассмотреть результаты расчета

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

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

Расчет Правильного многогранника

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

# -*– coding: cp1251 -*-

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

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

uu=" "

print (uu)

print (uu)

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

print (u)

print (uu)

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

print (u)

print (uu)

u=" Введите Описанный диаметр "

print (u)

u=" при вводе нуля – переход на вписанный диаметр "

print (u)

print (uu)

D=0.00000000

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

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

x=0.00000000

y=0.00000000

v=0.00000000

Sk=0.0000000

St=0.00000000

S=0.000000000

Ex=10000000

vv=0 # Флаг расчета при заданном Описанном диаметре

vv=float(vv)

if D==0:

# Далее Cдвиг – четыре пробела в начале каждой строки

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

print (u)

print (uu)

u=" Введите Вписанный диаметр "

# Вписанный диаметр, при четном числе граней,

# является размером под ключ.

print (u)

print (uu)

Sv=0.00000000

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

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

u=" Введите число Граней "

print (uu)

print (u)

print (uu)

n=0.00000000

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

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

sur=2*Pii/n # Угол А в радианах

su=360/n # Угол А в градусах

au=su

yg=au

yr=sur

x=math.cos(sur/2) # Cos Угла А

y=Sv/2

R=y/x

D=R+R

vv=1 # Флаг расчета при заданном Вписанном диаметре

# Далее Cдвига нет…

if vv==0:

# Далее Cдвиг – четыре пробела в начале каждой строки

u=" Введите число Граней "

print (uu)

print (u)

print (uu)

n=0.00000000

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

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

R=D/2

sur=2*Pii/n # Угол А в радианах

su=360/n # Угол А в градусах

au=su

yg=au

yr=sur

x=math.cos(sur/2) # Cos Угла А

y=R*x

# Далее Cдвига нет ….

Sh=y

Sv=y+y

b=R-y

x=(R*R)-(y*y)

c=math.sqrt(x) # Квадратный корень из " x "

a=c+c

Sm=(a*(R-b)/2)*n # Площадь многогранника

nn=0

# Вывод по Многограннику

u=" Описанный диаметр = "

ss=str(D) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u=" Число граней = "

ss=str(n) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u=" Высота: Грань – Центр = "

ss=str(Sh) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u=" Вписанный диаметр = "

ss=str(Sv) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u=" Ширина грани = "

ss=str(a) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

u=" Площадь Многогранника = "

ss=str(Sm) # Преобразуем число в строку

u=u+ss

print (u)

print (uu)

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

# Позволяет рассмотреть результаты расчета

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

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

Овал ( коробовая кривая )

На схеме показано построение коробовой кривой ( овала ).

Отрезок АО – половина большей оси овала. Отрезок ВО – половина меньшей оси овала.

Rb – Большой радиус овала. Rм – Малый радиус овала. Остальное понятно из чертежа.

Построенная коробовая кривая отличается от овала – но для большенства расчетов различие

является несущественным. Данный расчет применяется к определению формы резинового кольца при сжатии в осевом направлении.

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

# -*– coding: cp1251 -*-

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

# Проверено и геометрически тоже 15-12-2015 г..

ug=0.000000

uu=" "

Uu=" "

u=" Расчет параметров овала ( коробовой кривой ) "

print (uu)

print (uu)

print (u)

u1=u

print (uu)

u=" ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, "

print (uu)

print (u)

print (uu)

u=" Вводим больший габаритный размер овала "

print (u)

print (uu)

x1=0.00000000

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

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

u=" Вводим меньший габаритный размер овала "

print (u)

print (uu)

y1=0.00000000

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

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

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

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

oa=x1/2 # Большая полуось овала

ob=y1/2 # Малая полуось овала

pb=oa-ob

tb=pb

x=(oa*oa)+(ob*ob)

ab=math.sqrt(x) # Квадратный корень из " x "

at=ab-tb

xt=at/2

ao1=(xt*ab)/oa # Малый радиус

bk=(ab*(xt+pb))/ob # Большой радиус

x=ob/oa

ua=math.atan(x) # АрксТангенс от Х

# ua – Угол четвертинки сектора большого круга

ub=(Pii/2)-ua # Угол четвертинки сектора малого круга

Sb=Pii*bk*bk # Площадь круга с Большим радиусом

Sm=Pii*ao1*ao1 # Площадь круга с Малым радиусом

Sbs=Sb*2*ua/Pii # Площадь секторов с Большим радиусом

Sms=Sm*2*ub/Pii # Площадь секторов с Малым радиусом

ko=bk-ob

oo1=oa-ao1

Str=2*ko*oo1 # Площадь четырех вычитаемых треугольников

So=(Sms+Sbs)-Str

xu=ua*360/Pii # Угол раствора Б. радиусов

x=4*So/Pii

Ds=math.sqrt(x) # Диаметр равного по площади – круга

x=xu/2

Pp=((ao1*(90-x))+(bk*x))*Pii/45 # Периметр овала.

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

u=" ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, "

print (uu)

print (u)

u2=u

print (uu)

u=" Большая ось овала = "

ss=str(x1) # Преобразуем число в строку

u=u+ss

print (u)

u3=u

print (uu)

u=" Меньшая ось овала = "

ss=str(y1) # Преобразуем число в строку

u=u+ss

print (u)

u4=u

print (uu)

u=" Больший радиус = "

ss=str(bk) # Преобразуем число в строку

u=u+ss

print (u)

u5=u

print (uu)

u=" От оси до центра Б. радиуса = "

ss=str(ko) # Преобразуем число в строку

u=u+ss

print (u)

u6=u

print (uu)

u=" Меньший радиус = "

ss=str(ao1) # Преобразуем число в строку

u=u+ss

print (u)

u7=u

print (uu)

u=" От оси до центра M. радиуса = "

ss=str(oo1) # Преобразуем число в строку

u=u+ss

print (u)

u8=u

print (uu)

u=" Угол раствора Б. радиусов = "

ss=str(xu) # Преобразуем число в строку

u=u+ss

print (u)

u9=u

print (uu)

u=" Периметр овала = "

ss=str(Pp) # Преобразуем число в строку

u=u+ss

print (u)

u10=u

print (uu)

u=" Площадь овала = "

ss=str(So) # Преобразуем число в строку

u=u+ss

print (u)

u11=u

print (uu)

u=" Диаметр равного по площади – круга = "

ss=str(Ds) # Преобразуем число в строку

u=u+ss

print (u)

u12=u

print (uu)

print (uu)

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

f = open('Rezult.txt', 'w') # Открыли файл для записи

# Записываем числа в текстовом виде

u=uu+"n" # Добавим код перевода строки

f.write(u)

u=u1+"n"

f.write(u)

uu=" "+"n"

f.write(uu)

u=u2+"n"

f.write(u)

f.write(uu)

u=u3+"n"

f.write(u)

u=u4+"n"

f.write(u)

f.write(uu)

u=u5+"n"

f.write(u)

u=u6+"n"

f.write(u)

u=u7+"n"

f.write(u)

u=u8+"n"

f.write(u)

u=u9+"n"

f.write(u)

u=u10+"n"

f.write(u)

u=u11+"n"

f.write(u)

u=u12+"n"

f.write(u)

f.write(uu)

f.close() # закрыли файл

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

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

u=" ...... Конец программы ......"

print (u)

print (uu)

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

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

Треугольни

к


Центр описанной окружности на пересечении перпендикуляров проведенных от середин сторон треугольника. Центр вписанной окружности на пересечении медиан углов треугольника. Центр тяжести треугольника лежит на линии Х-Х параллельной основанию и расположенной на 1/3 высоты – в точке пересечения медиан углов треугольника. Медиана делит противолежащую сторону пополам.

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

# -*– 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 # Вытащили число " Пи "

#

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

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 # Угол С в градусах

# ……. ……

# Это « добавочный расчет » во все

# подпрограммы Треугольника

# И вывод результатов расчета

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)

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

Две известные стороны и угол между ними

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

# -*– 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 # Вытащили число " Пи "

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 # Угол В в градусах

Gsf = 461030/2725231222…

# Далее вставляем блок добавочных расчетов

# И вывода результатов ( смотри выше ).

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

Одна сторона – А и два угла В и С

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

# -*– 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 # Вытащили число " Пи "

print (uu)

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 # Сторона С

# Далее вставляем блок добавочных расчетов

# И вывода результатов ( смотри выше ).

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

Имеем три угла А, В и С

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

# -*– 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 # Вытащили число " Пи "

print (uu)

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))

# " ,,,, ,,,, ,,,, ,,,,, ,,,,, ,,,, ,,,,, ,,,,, ,,,,, "

# Это « добавочный расчет »

# во все подпрограммы Треугольника

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=" Момент массы относительно нулевой оси = "

t=str(mm) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

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

print (u)

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

ms=m # Сумма масс.

mms=mm # Сумма моментов масс.

n=1 # Порядковый номер прямоугольника

n=int(n) # Переведем в целое число

# " .... .... ..... .... ..... ..... ..... ..... ..... ..... "

x=0

x=int(x) # Переведем в целое число

y=int(r) # Переведем в целое число

while y>x:

# Далее Cдвиг – четыре пробела в начале каждой строки

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

print (u)

print (uu)

n=n+1

u=" Ввести значение массы № "

t=str(n) # Преобразуем число в строку

u=u+t # сложим строки

print (u)

print (uu)

m=0.0000

m=input( )

print (uu)

u=" Растояние до нулевой оси отсчета "

print (uu)

print (u)

r=0.000000

r=input( )

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

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

ms=ms+m # Сумма масс.

mm=m*r

mms=mms+mm # Сумма моментов масс.

rx=0.000000

rx=mms/ms # Растояние от нулевой оси до Ц.Т. системы

y=r

print (uu)

if y == x:

# Далее Cдвиг – восемь пробелов в начале каждой строки

    break # Выход из цикла

# Далее Cдвиг – четыре пробела в начале каждой строки

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

print (u)

print (u)

print (uu)

u1=" Добавили массу № "

u2=" = "

t1=str(n) # Преобразуем число в строку

t2=str(m) # Преобразуем число в строку

u=u1+t+u2+t2

print (uu)

print (u)

u1=" Растояние до нулевой оси = "

t=str(r) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Добавленный момент = "

t=str(mm) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Сумма масс = "

t=str(ms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

u1=" Сумма моментов = "

t=str(mms) # Преобразуем число в строку

u=u1+t # сложим строки

print (uu)

print (u)

print (uu)

u=" Растояние Ц.Т. от нулевой оси = "

t=str(rx) # Преобразуем число в строку

u=u+t # сложим строки

print (uu)

print (u)

print (uu)

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

print (u)

print (u)

print (uu)

# Далее Cдвига нет …

u=" ...................... Конец работы программы .................... "

print (u)

print (uu)

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

print (u)

print (u)

print (uu)

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

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

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


    Ваша оценка произведения:

Популярные книги за неделю