0% encontró este documento útil (1 voto)
3K vistas7 páginas

Examen Final Upc Algoritmo

Este documento presenta el examen parcial de algoritmos con 11 preguntas de diferentes temas como estructuras de control, tipos de variables, pseudocódigo y diagramas de flujo. Incluye las instrucciones del examen, los nombres de 11 profesores y una duración de 150 minutos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (1 voto)
3K vistas7 páginas

Examen Final Upc Algoritmo

Este documento presenta el examen parcial de algoritmos con 11 preguntas de diferentes temas como estructuras de control, tipos de variables, pseudocódigo y diagramas de flujo. Incluye las instrucciones del examen, los nombres de 11 profesores y una duración de 150 minutos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ALGORITMOS (IN220)

EXAMEN PARCIAL - SOLUCIN


Ciclo 2015-02

Secciones : IN41, IN42, IN43, IN44, IN45, IN46, IV42, IV43, IV44,
IV45, IX41, IX42, IX43, IX44, IX45, IX46, IX47, IX48
Profesores : Aranda Ipince, Duilio ngel
Crdenas Rengifo, Lus Enrique
Castillo Villalobos, Violeta Isabel
De La Cerna Garca, Nelva Bethy
Guevara Parker, Hans Christian
Morn Huanay, Eduardo Martn
Moya Tapia Mauricio Alonso
Namay Zevallos, Wilder Adn
Power Porto, George Flix
Segura Pea, Jaime Ildefonso
Vsquez Or, Marco Antonio
Duracin : 150 minutos

Indicaciones:

No est permitido el uso de ningn material de consulta (cuadernos, libros, diccionarios,


lecturas, etc.).
No se permite el uso de calculadora cientfica o programable.
No se permite el uso de telfono celular o cualquier otro aparato electrnico durante el
examen, los cuales deben permanecer apagados y guardados.
Escriba con lapicero azul o negro solo en los espacios indicados
Los exmenes resueltos con lpiz no tienen derecho a reclamo
Devuelva todo el material recibido, inclusive la hoja de borrador (no ser corregida)

1 (3 p.) 2 (2 p.) 3 (2 p.) 4 (3 p.) 5 (4 p.) 6 (6 p.) Nota

1
PREGUNTA 1 (3 p.)

Marque la opcin correcta segn corresponda (0.5 p. c/u)

1.1 Cuntas condiciones tiene la instruccin 1.4 Cul no corresponde necesariamente a


selectiva doble? las caractersticas de un algoritmo?
a) Una a) Preciso
b) Dos b) Estructurado
c) Tres c) Finito
d) Ms de tres d) Definido
e) Ninguna de las anteriores e) Repetitivo

1.2 Se quiere declarar una variable para el 1.5 Para manejar la hora de ingreso de un tra-
nmero de DNI de una persona, qu tipo de bajador, la variable debe ser declarada como:
variable es ms adecuado? a) Time
a) Integer b) Date
b) Single c) String
c) Long d) Cualquiera de ellas
d) Double e) Ninguna de anteriores
e) String
1.6 La instruccin MessageBox en Visual
1.3 Cmo debe ser el tipo de variable del Basic sirve para:
contador de la estructura de control repetitiva I. Entrada de informacin
(For-Next)? II. Salida de informacin
I. Entero III. Mostrar botones
II. Real Son verdaderas:
III. Cadena de texto a) Solo I
Son verdaderas: b) Solo II
a) Solo I c) I y II
b) Solo II d) Todas
c) I y II e) Ninguna
d) Todas
e) Ninguna

Observaciones:
1.1) La instruccin selectiva doble (If-Then-Else) solo tiene una condicin (que puede ser verdadera o falsa); se
entiende como condicin a un valor tipo Boolean que puede resultar de una o ms operaciones lgicas
1.2) Tambin podra usarse el tipo Long (DNI es un nmero entero de 8 cifras) pero debe considerarse el formato
adecuado cuando empieza con cero y que no se realizarn operaciones con ese nmero; el tipo de variable ms
adecuado es String*8, debiendo verificarse que el valor ingresado sea numrico
1.5) El tipo de variable Date almacena fecha y hora en un solo nmero, Time no existe
1.6) La instruccin MessageBox no existe, el nombre correcto es MsgBox.

2
PREGUNTA 2 (2 p.)

2.1 Analice el siguiente segmento de programa e indique qu valores se mostrarn para las
variables T, M y A luego de ejecutar el programa. (0.5 p.)

Dim A As Integer, C As Integer, T As Integer, M As Integer


A = 1 : C = 0 : T = 0 : M = 10
Do
T = T + (M Mod A)
M=M\A
A=A+2
Loop Until A > = 8 Respuesta: T = 4 M = 0 A = 9
2.2 Analice el siguiente segmento de programa e indique los valores de las variables T, M y C
luego de ejecutar el programa. (0.5 p.)

Dim A As Integer, C As Integer, T As Integer, M As Integer


A = 1 : C = 0 : T = 0 : M = 10
If A < > C Or M > T Then T = T + C
If C = T And A > T Then
M=M\A
Else
C=C*A
End If Respuesta: T = 0 M = 10 C = 0

2.3 Analice el siguiente programa y complete la tabla de


los valores que se obtendrn para las variables N, C y S N C S
al ejecutarse el programa. (1 p.) 0 1 12
0 3 9
Dim N As Integer, C As Integer, S As Integer 0 5 4
N = 0 : C = 1 : S = 12 0 7 -3
Do
If S Mod 3 >= 0 Then C = C + 2
S=SC
Loop Until S <= N

PREGUNTA 3 (2 p.)

Elabore en pseudocdigo el algoritmo que solicite el monto de la Venta a un cliente (debida-


mente validado), y calcule el Descuento otorgado sabiendo que el % se aplica sobre el monto
de venta:
Si el monto vendido es menor que $2000 entonces se le descuenta 3%
Si el monto est entre $2000 y $5000 se descuenta 5%
Si la venta es mayor que $5000 pero menor que $8000 se descuenta 7%
En cualquier otro caso se le otorga el 9.5%

3
Calificacin: Ingreso y validacin de datos (0.5 p.); Procesamiento y salida (1.5 p.)

Inicio
Repetir
Mostrar Ingrese el monto de la venta
Ingresar Venta
Si Venta <= 0 Entonces Mostrar El valor de la venta debe ser positivo
Hasta Venta > 0
Si Venta < 2000 Entonces
pDesc 0.03
De otro modo Si Venta <= 5000 Then
pDesc 0.05
De otro modo Si Venta < 8000 Entonces
pDesc 0.07
De otro modo
pDesc 0.095
Fin de Si
Descuento Venta * pDesc
Mostrar El descuento a aplicar es: & Descuento
Fin

PREGUNTA 4 (3 p.)

El siguiente programa en VBA calcula el volumen de una pirmide, dados los lados de la base
(a y b) y la altura (h). Coloque en la columna de la izquierda un nmero indicando el orden en
que deben ir las instrucciones. (0.2 p. c/u)

No. Instruccin
0 Private Sub Piramide( )
4/5/6 a = Val(InputBox("Ingrese un lado de la base"))
2/3 Do
11 V=a*b*h/3
13 Respuesta = MsgBox("Desea realizar otro clculo?", vbYesNo)
5/4/6 h = Val(InputBox("Ingrese la altura de la pirmide"))
12 MsgBox "El volumen de la pirmide es " & V
6/4/5 b = Val(InputBox("Ingrese el otro lado de la base"))
8 MsgBox "Los datos deben ser positivos"
7 If a <= 0 Or b <= 0 Or h <= 0 Then
10 Loop Until a>0 And b>0 And h>0
15 End Sub
9 End If
14 Loop Until Respuesta= vbNo
3/2 Do
1 Dim a As Single, b As Single, h As Single, V As Single, Respuesta As Integer

4
PREGUNTA 5 (4 p.)

Se pide desarrollar el diagrama de flujo del algoritmo para calcular la raz n-sima de un n-
mero real positivo A por iteraciones sucesivas, segn la frmula siguiente:

1
+1 = ( + ( 1) )
1

Donde los subndices (k y k +1) denotan las iteraciones sucesivas de , siendo 0 el valor inicial
de estimacin. Las iteraciones continan hasta que el valor absoluto de la diferencia entre los
resultados sucesivos |+1 | sea menor que 1106.

Como datos se debe ingresar:


el nmero A del cual se desea calcular la raz n-sima,
el valor de n, y
el valor inicial de estimacin x0.

Debe validar que los valores ingresados sean positivos y que adems x0 sea menor que A.

Calificacin: Ingreso y validacin de datos (1 p.); Procesamiento y salida (3 p.)

INICIO

A, n, x0

A>0n>0
x0 > 0 x0 < n
No

x1 (A/x0^(n-1) + (n-1)*x0)/n Datos incorrectos

No Abs(x1-x0) <
x0 x1
0.000001

La raz & n & de & A


& es & x1

FIN

5
PREGUNTA 6 (6 p.)

Ud. ha sido contratado recientemente como asistente del Gerente de Ventas de un hotel, y el
primer trabajo que se le encarga es desarrollar un programa en Visual Basic que permita atender
diariamente a los clientes que llegan al hotel segn el siguiente esquema:
a) Se ingresan como datos la cantidad de habitaciones disponibles de tipo Simple y Doble
para ese da. La atencin finaliza cuando no queden clientes por atender o no hay habi-
taciones disponibles. (1 p.)
b) Cuando el cliente llega se le solicita los siguientes datos: Tipo de habitacin (S o D),
y si es cliente Particular o viene de una Empresa (E o P) y el nmero de noches que se
quedar. (1 p.)
c) Si hubieran habitaciones disponibles del tipo solicitado por el cliente, se le indica el
monto total a pagar. Los precios se muestran en la tabla debajo. (2 p.)
Precios de habitaciones
Tipo de Precio por noche, US$
habitacin E Empresa P Particular
S Simple 65.00 75.00
D Doble 80.00 100.00

Finalizada la atencin de los clientes del da, muestre las siguientes estadsticas:
d) Monto Total cobrado por el alquiler de las habitaciones. (1 p.)
e) Qu porcentaje de habitaciones de tipo Doble estn ocupadas? (1 p.)

Option Explicit
Private Sub CommandButton1_Click()

Dim QSimples As Integer, QDobles As Integer, Tipo As String * 1, Cliente As String * 1, Noches As
Integer, Rpta As Integer
Dim TotalDobles As Integer, TSimples As Integer, TDobles As Integer, Asignado As String * 1
Dim C As Integer, Precio As Single, Total As Single, S As Single

'Ingresar cantidad inicial de habitaciones simples y dobles disponibles


QSimples = Val([B4]): QDobles = Val([B5])

If QSimples < 0 Or QDobles < 0 Then


MsgBox "Debe ingresar valores mayores o iguales a cero", vbCritical
Else
TotalDobles = QDobles 'Guardar el valor inicial para contestar a la pregunta (d) % de habitaciones
dobles ocupadas
C = 0: S = 0

Do 'Ingreso repetitivo de datos hasta que se conteste NO o se hayan agotado todas las habitaciones
Do
Tipo = UCase(InputBox("Ingrese el tipo de habitacin: Simple o Doble"))
Loop Until Tipo = "S" Or Tipo = "D"

6
Do
Cliente = UCase(InputBox("Ingrese el tipo de cliente: Empresa o Particular"))
Loop Until Cliente = "E" Or Cliente = "P"
Do
Noches = Val(InputBox("Ingrese el nmero de noches que se quedar:"))
Loop Until Noches > 0

'Determinar la tarifa correspondiente y ver disponibilidad de habitacin solicitada


If Tipo = "S" Then
If Cliente = "E" Then Precio = 65 Else Precio = 75
If QSimples > 0 Then
QSimples = QSimples - 1
Asignado = "S"
Else
Asignado = "N"
End If
'Tambin puede programarse en una sola lnea:
'If QSimples > 0 Then QSimples = QSimples - 1: Asignado = "S" Else Asignado = "N"
Else
If Cliente = "E" Then Precio = 80 Else Precio = 100
If QDobles > 0 Then
QDobles = QDobles - 1
Asignado = "S"
Else
Asignado = "N"
End If
'Tambin puede programarse en una sola lnea:
'If QDobles > 0 Then QDobles = QDobles - 1: Asignado = "S" Else Asignado = "N"
End If

'Calcular y mostrar datos de habitacin asignada


If Asignado = "S" Then
C = C + 1: Total = Precio * Noches: S = S + Total
Cells(7 + C, 1) = C: Cells(7 + C, 2) = Tipo: Cells(7 + C, 3) = Cliente
Cells(7 + C, 4) = Noches: Cells(7 + C, 5) = Total
Else
MsgBox "No hay disponibilidad de habitaciones del tipo " & Tipo, vbCritical
End If

Rpta = MsgBox("Hay ms clientes?", vbYesNo)


Loop Until Rpta = vbNo Or (QSimples + QDobles = 0) 'Se repite hasta que se contesta No, o se
agoten todas las habitaciones

[H8] = S 'Monto total de ingresos


If TotalDobles > 0 Then [H9] = (TotalDobles - QDobles) / TotalDobles * 100 & " %"
End If
End Sub

1 
 
 
ALGORITMOS (IN220) 
EXAMEN PARCIAL - SOLUCIÓN 
Ciclo 2015-02 
 
Secciones 
: IN41, IN42, IN43, IN44, IN45, IN46, IV42,
2 
 
PREGUNTA 1 (3 p.) 
 
Marque la opción correcta según corresponda (0.5 p. c/u) 
 
1.1 ¿Cuántas condiciones tiene la instr
3 
 
PREGUNTA 2 (2 p.) 
 
2.1 Analice el siguiente segmento de programa e indique qué valores se mostrarán para las 
variable
4 
 
Calificación: Ingreso y validación de datos (0.5 p.); Procesamiento y salida (1.5 p.) 
 
Inicio 
Repetir 
   Mostrar “In
5 
 
PREGUNTA 5 (4 p.) 
 
Se pide desarrollar el diagrama de flujo del algoritmo para calcular la raíz n-ésima de un nú-
mero
6 
 
PREGUNTA 6 (6 p.) 
 
Ud. ha sido contratado recientemente como asistente del Gerente de Ventas de un hotel, y el 
primer
7 
 
        Do 
            Cliente = UCase(InputBox("Ingrese el tipo de cliente: Empresa o Particular")) 
        Loop Unti

También podría gustarte