Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESPUESTA
IF X >= 10 THEM
DO
X=X-5
IF X < 50 EXIT
ENDDO
ELSEIF X < 5
X=5
ELSE
X = 7.5
ENDIF
PRINT X
2.2
Vuelva a escribir el
seudocódigo siguiente, con
el uso de la indentación
apropiada.
DO RESPUESTA
DO
I=I+1 I=I+1
IF Z > 50 EXIT IF Z > 50 EXIT
X=X+5 X=X+5
IF X > 5 THEM
IF X > 5 THEM Y=X
Y=X ELSE
ELSE Y=0
ENDIF
Y=0 Z=X+Y
ENDIF ENDDO
Z=X+Y
ENDDO
2.3
En cada una de las tarjetas de un conjunto de cartas índice, se registra un valor para la
concentración de un contaminante en un lago. Al final del conjunto, se coloca una carta
marcada como “fin de los datos”. Escriba un algoritmo para determinar la suma, el
promedio y el máximo de dichos valores.
RESPUESTA
Sub contaminante()
Dim n As Integer
Dim i As Integer
Dim dato As Integer
Dim vmay As Integer
Dim suma As Integer
Dim prom As Integer
prom = 0
suma = 0
Next i
prom = suma / n
MsgBox "La suma de los valores de los contaminantes del lago es: " & suma
MsgBox "el promedio de los valores de los contaminantes del lago es: " & prom
MsgBox "el mayor es" & vmay
End Sub
El desarrollo de ese algoritmo depende de reconocer que la
aproximación en serie del seno se representa de manera concisa
por la suma.
Seudocódigo
Diagrama de flujo
E
EJERCICIO 2.8
EJERCICIO 2.9
SEUDOCODIGO
2.10 El método antiguo de dividir y promediar, para obtener el valor aproximado de la raíz cuadrada de cualquier número
positivo a se puede formular como 𝑥=(𝑋+𝑎/𝑥)/2
a) Escriba un seudocódigo bien estructurado para implementar este algoritmo como se ilustra en la fi gura P2.10. Utilice l
indentación apropiada para que la estructura sea clara. b) Desarrolle, depure y documente un programa para implementa
ecuación en cualquier lenguaje de algo nivel, o de macros, de su elección. Estructure su código de acuerdo con la fi gura P
solucion
maginaria al final
2.11 Se invierte cierta cantidad de dinero en una cuenta en la que el interés se capitaliza al final del periodo. Debe
determinarse el valor futuro, F, que se obtiene con cierta tasa de interés, i, después de n periodos, por medio de la
fórmula siguiente: 𝐹 = 𝑃 〖 (1 + 𝑖) 〗 ^𝑛
Escriba un programa que calcule el valor futuro de una inversión para cada año, desde 1 hasta n. La entrada para la
función debe incluir la inversión inicial, P, la tasa de interés, i (en forma decimal), y el número de años, n, para el que
ha de calcularse el valor futuro. La salida debe consistir en una tabla con encabezados y columnas para n y F. Corra el
programa para P = $100 000, i = 0.06, y n = 5 años
solucion
Sub problema11()
Dim valorfuturo As Double
Dim inversioninicial As Double
Dim tasainteres As Double
Dim years As Double
Dim contador As Integer
Dim exponente As Double
Dim texto As String
inversioninicial = 100000
tasainteres = 0.06
years = 5
contador = 0
exponente = 1
texto = " años | valor futuro" & vbCr
Do
exponente = (1 + tasainteres) * exponente
valorfuturo = inversioninicial * exponente
contador = contador + 1
texto = texto & " " & contador & " | " & valorfuturo & vbCr
End Sub
End Sub
nal del periodo. Debe
odos, por medio de la
a n. La entrada para la
de años, n, para el que
mnas para n y F. Corra el
2.12 Las fórmulas económicas están disponibles para calcular los pagos anuales de
préstamos. Suponga que obtiene en préstamo cierta cantidad de dinero P y acuerda
devolverla en n pagos anuales con una tasa de interés de i. La fórmula para calcular el
pago anual A es:
𝐴=𝑝 (𝑖 〖 (𝑖+1) 〗 ^𝑛)/( 〖 (𝑖+1) 〗 ^𝑛−1)
Escriba un programa para calcular A. Pruébelo con P = $55 000 y una tasa de interés de
6.6% (i = 0.066). Calcule los resultados para n = 1, 2, 3, 4 y 5, y muestre los resultados en
forma de tabla con encabezados y columnas para n y A.
PARA EL INCISO a)
Sub temperatura()
Resultado:
MsgBox "Temperatura diaria promedio es:" & pro
Temperatura promedio diaria es 14.50741983
End Sub
Resultado:
ria es 22.277212
PROBLEMA 2.14
DATOS
Sub fisica()
Dim g As Double g 9.8 m/s^2
Dim c As Double m 68.1 kg
Dim m As Double
Dim step As Double c 12.5 kg/s
Dim vf As Double
Dim vo As Double
Dim t As Double
g = 9.8 tamaño de pa
vo = 0
t=0
tiempo(s)
m = InputBox("introduce la masa", "") 0
c = InputBox("introduce el coeficiente", "")
step = InputBox("introduce el tamaño de paso", "") 1
2
MsgBox "Cuando t(" & t & "), la velocidad es " & vo 3
For i = 0 To 30 Step step 4
5
vf = vo + (g - c / m * vo) * step 6
t = t + step
7
MsgBox "Cuando t(" & t & "), la velocidad es " & vf 8
9
vo = vf
10
Next i
End Sub
tiempo(s) velocidad(m/s)
0 0
0.5 4.9
1 9.350293685756
1.5 13.3921536632
2 17.06306467062
1 2.5 20.397071217
3 23.42509331529
velocidad(m/s) 3.5 26.17521323863
0 4 28.67293595902
9.8 4.5 30.94142568378
17.801174743025 5 33.00172068343
24.33370507654 5.5 34.87292840338
29.66716596557 6 36.57240266886
34.0216509205 6.5 38.11590462656
37.57685449603 7 39.51774891561
40.47948766489 7.5 40.79093642335
42.84933207295 8 41.947274857333
44.78418301404 8.5 42.99748825148
46.36388510397 9 43.951316422236
9.5 44.81760529685
10 45.60438895169
temporal = numbers(k)
numbers(k) = numbers(k + 1)
numbers(k + 1) = temporal
End If
Next k
Next j
For l = 0 To join - 1
MsgBox "" & numbers(l)
Next l
End Sub
SALIDA ORDENADA
1
3
4
5
7
8
9
10
14
15
20
27
30
31
37
38
42
48
50
53
*Problema 2.16
Function volument(d, r)
Pi = 3.14
If d <= r Then
volcono = ((Pi) * (r ^ 2) * d) / 3
vt = volcono
MsgBox "el volumen es:" & vt
ElseIf r < d & d <= 3 * r Then
hc = d - r
volcono = ((Pi) * (r ^ 2) * d) / 3
volcilindro = (Pi) * (r ^ 2) * hc
vt = volcono + volcilindro
MsgBox "el volumen es:" & vt
Else
MsgBox "error"
End If
End Function
*Problema 2.17
Function polares(x, y)
Pi = 3.14
teta = 0
End Function
*Problema 2.18
Function nota(n)
End Function
*Problema 2.19
Function factorial(n)
fac = 1
For i = 1 To n
fac = fac * i
Next i
MsgBox "elvalor es" & fac
End Function
Function vector()
'problema 2.19
Dim v(1 To 5) As Integer
Dim i As Integer
v(1) = 5
v(2) = 42
v(3) = 36
v(4) = 2
v(5) = 8
menor = 0
For i = 0 To 4
If v(i) < v(i + 1) Then
menor = v(i)
Else
menor = v(i + 1)
Next i
MsgBox "el menor es:" & menor
End Function
Function promedio()
'problema 2.19
Dim v(1 To 5) As Integer
Dim i As Integer
v(1) = 5
v(2) = 42
v(3) = 36
v(4) = 2
v(5) = 8
suma = 0
For i = 0 To 4
If v(i) < v(i + 1) Then
suma = suma + v(i)
Next i
promedio = suma / 5
MsgBox "el promedio es:" & promedio
End Function