Untitled
unknown
plain_text
2 years ago
2.2 kB
7
Indexable
import math
r=6356767
k=input("Какую высоту вводим? геометрическая 0, геопотенциальная 1: ")
if k==0:
h=float(input("Геометрическая высота: "))
H = (r * h) / (r + h)
else:
H = float(input("Геопотенциальная высота: "))
h = (r * H) / (r - H)
g0=9.80665
g=g0*(r/(r+h))**2
if (H>=-2001) and (H<0):
Hx=-2000
b=-0.0065
Tx=301.15
px=127774
elif (H>=0) and (H<=11000):
Hx=0
b=-0.0065
Tx=288.15
px=101325
elif (H>11000) and (H<20000):
Hx=11000
Tx=216.65
b=0
px=22632
elif (H>=20000) and (H<32000):
Hx=20000
b=0.001
Tx=216.65
px=5474.87
elif (H>=32000) and (H<47000):
Hx=32000
b=0.0028
Tx=228.65
px=868.014
elif (H>=47000) and (H<51000):
Hx=47000
Tx=270.65
b=0
px=110.906
elif (H>=51000) and (H<71000):
Hx=51000
b=-0.0028
Tx=270.650
px=66.9384
elif (H>=71000) and (H<80000):
Hx=71000
b=-0.002
Tx=214.65
px=3.95639
T=Tx+b*(H-Hx)
R=287.05287
if b==0:
p=10**(math.log10(px)-((0.434294*g0*(H-Hx))/(T*R)))
else:
p=10**(math.log10(px)-(g0/(b*R))*math.log10(T/Tx))
ro=p/(R*T)
a=20.046796*math.sqrt(T)
i=0
if (H>0):
while (H>10):
H/=10
i+=1
print ("Геопотенциальная высота: "+str(round(H,5))+' * 10^'+str(i)+' м')
i=0
elif (H<0):
while (H<-10):
H/=10
i+=1
print ("Геопотенциальная высота: "+str(round(H,5))+' * 10^'+str(i)+' м')
i=0
else:
print("Геопотенциальная высота: 0 м")
print ("Ускорение свободного падения: "+str(round(g,5))+' м/с^2')
print ("Температура: "+str(round(T/100,5))+' * 10^2 K')
while (p>10):
p/=10
i+=1
if i==0:
print ("Давление: "+str(round(p,5))+' Па')
else:
print ("Давление: "+str(round(p,5))+' * 10^'+str(i)+' Па')
i=0
if ro<1:
while (ro<1):
ro*=10
i+=1
print ('Плотность: '+str(round(ro,5))+' * 10^-'+str(i)+' кг/м^3')
else:
print ('Плотность: '+str(round(ro,5))+' кг/м^3')
print ("Скорость звука: "+str(round(a/100,5))+' * 10^2 м/с')Editor is loading...