Programacion de ciclo mientras
Publicado por Leonardo (1 intervención) el 10/02/2019 16:42:40
Buenos dias a todos, estoy comenzando a aprender como programar en python pero he tenido problemas al momento de realizar el ciclo while, la variable Bz y Lz no cambian mucho con relacion al dato de entrada, no se si estoy definiendo algo mal antes de empezar el ciclo o que. les agradezco de antemano su colaboracion.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
print("Analisis de zapata al volcamiento")
#Dimensiones de la zapata
Bz=float(input("Base de la zapata (m) "))
Lz=float(input("Lado de la zapata (m) "))
Hz=float(input("espesor de la zapata (m) "))
rz=float(input("Recubrimiento de la zapata (m) "))
Df=float(input(" profundidad de la zapata (m) "))
#Lados de la columna
Bp=float(input("Base de la columna o pedestal (m) "))
Lp=float(input("Lado de la columna o pedestal (m) "))
#Propiedades de los materiales a utilizar
yc=float(input("peso especifico del concreto (tonf/m^3) "))
ys=float(input("peso especifico del suelo (tonf/m^3) "))
#Cargas aplicadas a la zapata
P=float(input("Carga P sobre la columna (tonf) "))
M=float(input("Momento M sobre la columna (tonf*m) "))
#Factores de seguridad
Fsv=float(input("Factor de seguridad al volcamiento permanente(1.5) o transitorio (1) "))
FacY=float(input("Factor de seguridad al material terreo permanente(1) o transitorio (0.6) "))
Alfa=0.5
#************** Volcamiento *****************
#Proporciones de las dimensiones de la zapata
Bzx=0.5
Lzx=0.5
#Calculamos los pesos de la zapata y el suelo con respecto a los datos iniciales
#Se realiza la sumatoria de todos los pesos
Wzap=Bz*Lz*Hz*yc
Wzapf=Wzap*FacY
Wsfact=((Bz*Lz)-(Bp*Lp))*(Df-Hz)*FacY*ys
Wsum=Wzapf+Wsfact+P
#Calculo del momento objetivo y el momento estabilizador
#Relacion entre el momento estabilizador y el
# objetivo para ser usado en el
# Proceso de iteraccion
Mobj=M*Fsv
Mest=Wsum*(Bz/2)
R=Mest/Mobj
while R<=1:
delta_alfa =(1-R)*Bz*Alfa
Bz=Bz+(delta_alfa*Bzx)
Lz=Lz+(delta_alfa*Lzx)
Wzap=Bz*Lz*Hz*yc
Wzapf=Wzap*FacY
Wsfact=((Bz*Lz)-(Bp*Lp))*(Df-Hz)*FacY*ys
Wsum=Wzapf+Wsfact+P
Mobj = M * Fsv
Mest = Wsum * (Bz / 2)
R = Mest / Mobj
print("peso de la zapata",Wzapf)
print("peso total", Wsum)
print("momento estabilizador", Mest)
print("momento objetivo", Mobj)
print("Base de la zapata", Bz)
print("lado de la zapata", Lz)
print("Razon de cambio",R)
Valora esta pregunta
0