Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Como 2 metros > 1.366 metros entonces la alternativa es supercrítica y hay que tantearla
entre yc y cero.
Nota: cuando una celda está programada y se requiere arrastrar para ampliar el cálculo a
las celdas cercanas se empleará el signo ‘$’ delante de la letra y/o del numero que define a
la celda si se requiera que al arrastrarse no cambie el valor que está en la celda.
Algoritmo de decisión.
yalt > yc
SI Ecalc>E NO SI Ecalc>E NO
Tabla de Resultados.
a) Estructura
b= 4 m Q= 20 m3/s
mizq= 0 … yc= 1.366 m
mder= 0 … yalt= 2 m
El cálculo de los Limites Superior e Inferior del rango de bipartición se realiza ecuaciones
diferentes para las dos primeras celdas respecto a las siguientes.
Para las dos primeras celdas:
Next i
'Tranfiriendo valores
Q = Cells(4, 3)
'Calculo de ……………………
'Calculo de ………………………
Comandos necesarios:
Dim,
IF_THEN_ELSE_END IF
FOR i= a to b _ NEXT i
DO WHILE a<=>b_LOOP
SELECT CASE y1 _ CASE IS < y2 _ CASE IS > y2 _ CASE IS = yc _ END SELECT
'Calculo de yc
limite_inf = 0
limite_sup = 100
y = (limite_inf + limite_sup) / 2
error_calc = 100
DATOS
=
min = yc No existe min = 0
max = 100 alternativa max = yc
NO NO
NO NO
'Calculo de y alternativa
A = b * y + 0.5 * m1 * y ^ 2 + 0.5 * m2 * y ^ 2
Taller No. 1 pág. 5
v=Q/A
E = y + alfa * v ^ 2 / (2 * 9.806)
Cells(24, 6) = E
d = A / (b + m1 * y + m2 * y)
Cells(23, 6) = v / (d * 9.806) ^ 0.5
Select Case y
Case Is < yc
min = yc
max = 100
yalt = (min + max) / 2
A = b * yalt + 0.5 * m1 * yalt ^ 2 + 0.5 * m2 * yalt ^ 2
v=Q/A
Ecalc = yalt + alfa * v ^ 2 / (2 * 9.806)
error = Abs(E - Ecalc) / E
Do While error > 0.0001
If Ecalc > E Then
max = yalt
Else
min = yalt
End If
yalt = (min + max) / 2
A = b * yalt + 0.5 * m1 * yalt ^ 2 + 0.5 * m2 * yalt ^ 2
v=Q/A
Ecalc = yalt + alfa * v ^ 2 / (2 * 9.806)
error = Abs(E - Ecalc) / E
Loop
Case Is = yc
yalt = yc
Ecalc = E
Case Is > yc
min = 0
max = yc
yalt = (min + max) / 2
A = b * yalt + 0.5 * m1 * yalt ^ 2 + 0.5 * m2 * yalt ^ 2
v=Q/A
Ecalc = yalt + alfa * v ^ 2 / (2 * 9.806)
error = Abs(E - Ecalc) / E
Do While error > 0.0001
If Ecalc > E Then
min = yalt
Else
max = yalt
End If
yalt = (min + max) / 2
A = b * yalt + 0.5 * m1 * yalt ^ 2 + 0.5 * m2 * yalt ^ 2
v=Q/A
Ecalc = yalt + alfa * v ^ 2 / (2 * 9.806)
error = Abs(E - Ecalc) / E
Loop
End Select
Cells(26, 6) = yalt
d = A / (b + m1 * yalt + m2 * yalt)
Cells(27, 6) = v / (d * 9.806) ^ 0.5
Cells(28, 6) = Ecalc