Python - Programacion de ciclo mientras

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder