Está en la página 1de 3

ALGORITMOS (IN220)

EXAMEN PARCIAL 2018-1 - SOLUCIÓN


Prof. Bethy De la Cerna G.

Problema Nº 1(3 puntos)


Una empresa dedicada al transporte de mercadería en la capital, cobra S/ 1.20 por peso (P) en kilos
transportado, pero aplica un adicional dependiendo del día de la semana (ND), cuyo valor está entre
1 y 7, donde el lunes es el día 1, y la distancia en kilómetros (Km) a recorrer de acuerdo a la política
mostrada en la siguiente tabla.

Nº Día Semana
Km transportados Cobro adicional
[1,7]
Hasta 15 km -
Laborable
Más de 15 km S/.0.80 por cada kilómetro adicional a 15 Km
Sábado - Hay un recargo de S/30.00
Hasta 20 km Se recarga el 8%
Domingo Más de 20 hasta 40 km Se recarga el 12%
Más de 40 km Se recarga el 15%

Elabore el seudocódigo que resuelve el problema planteado.


Calificación: Ingreso (0.5 puntos) / Proceso (2 puntos) / Salida correcta (0.5 puntos)

Solución:
Leer: ND, Km, P
Validar y evaluar:
Si ND>0 Y ND <=7 Y KM>0 Y P>0 Entonces
ST= P*1.20
Si ND>=1 Y ND <= 5 Entonces
Si Km <15 Entonces A =0 Sino A = (Km-15) * 0.80
Sino ND = 6 Entonces
A=30
Sino
Si Km<=20 Entonces
A=ST*0.08
Sino Km <= 40 Entonces
A= ST*0.12
Sino
A=ST*0.15
Fin Si
Fin Si
Total = ST + A : Mostrar “Total a pagar “ & Total
Sino
Mostrar “Error”
Fin Si
Problema Nº 2 (5 puntos)
Desarrolle un diagrama de flujo para identificar el
dígito mayor de un número positivo ingresado.
Calificación: Ingreso con validación (1 punto) /
Proceso (3 puntos) / Salida correcta (1 punto)

Problema Nº 3 (3 puntos)
Ordene el siguiente programa en VBA que contiene el código de un botón de comando que permite
hallar la suma de las cifras de un número entero cualquiera, pero positivo. Coloque en la columna
orden el número que corresponde a la secuencia de instrucciones. (0.2p c/u)

Preg. Instrucción Sol.


1 End Sub 15
2 [B3] = Suma 14
3 [B2] = Num 8
4 Do While (Num > 0) 9
5 Private Sub CmdEjecutar_Click() 1
6 Dim Num As Integer, Suma As Integer, Cifra As Integer 2
7 Do 4
8 Suma = 0 3
9 Loop 13
10 If Num <= 0 Then MsgBox ("Error") 6
11 Cifra = Num Mod 10 10
12 Num = Val(InputBox("ingrese número")) 5
13 Loop Until Num > 0 7
14 Num = Num \ 10 11
15 Suma = Suma + Cifra 12
Problema Nº 4 (3 puntos)
Codifique el siguiente algoritmo en VBA. (3 puntos)
Luego, indique el valor de r que se obtiene al ingresar b con el
valor de 5. Resultado r = 115
Realice sus operaciones en la parte (1 punto)

Private Sub Command1_Click()


Dim a As Integer, b As Integer, c As Integer
Dim d As Integer, r As Integer
a = -1: c = 1
r = 100
b = Val(InputBox("ingrese b"))
If b > 0 Then
For d = b To c Step a
r=r+d
Next d
End If
MsgBox r
End Sub

Problema Nº 5 (3 puntos)
Una persona se encuentra en el kilómetro X de la carretera Aguascalientes-Zacatecas, otra se
encuentra en el km Y de la misma carretera, la primera viaja en dirección a Zacatecas, mientras que
la segunda se dirige a Aguascalientes, a la misma velocidad. Realice un algoritmo para determinar en
qué kilómetro de esa carretera se encontrarán y represéntelo mediante el diagrama NS (Nassi-
Schneiderman), utilizando el ciclo apropiado.
Considere que la carretera tiene una distancia de
200Km y que el dato X e Y deben ingresarse.
Calificación: Ingresos con validación y mensajes de error
(1.5 puntos) / Proceso (3 puntos) / Salida correcta (0.5
puntos)

Otra solución

También podría gustarte