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


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

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) # Принудительно в вещественное число

Назад Дальше