Vous êtes sur la page 1sur 7

PONTIFICIA UNIVERSIDAD CATLICA DEL PER

ESTUDIOS GENERALES CIENCIAS


INTRODUCCIN A LA COMPUTACIN
4ta. Prctica
1er. Periodo del 2015
Duracin: 1 Hora 50 minutos
INSTRUCCIONES:
SOLO SE PODR DESARROLLAR LAS PREGUNTAS CON LAPICERO. EL ALUMNO NO PUEDE UTILIZAR NI
PORTAR MATERIAL DE CONSULTA, NI CALCULADORA.

PARTE TERICA (4 puntos)


Responda a las siguientes preguntas de acuerdo a los captulos 11 (Leccin A) y 12 (Leccin A) del
libro: Introduccin a la computacin de Peter Norton y de acuerdo a la teora vista en clase.
1.

(2 puntos) Indique cuatro (4) tipos de campos que puede contener una base de datos. Para cada uno de
ellos seale al menos un ejemplo.

Solucin:
Los tipos de campos pueden ser:
Campo de texto
Campo numrico
Campo de fecha o campo de hora
Campo lgico
Campo binario
Campo contador (campo de ndice o autonumrico)
Campo memo (campo de descripcin)

2.

(2 puntos) Complete de forma adecuada los siguientes enunciados.


a) Un _______________________________ es un conjunto de herramientas de software que permite a
los gerentes, obtener, organizar y evaluar informacin sobre un grupo de trabajo, departamento u
organizacin entera.
b) Un ____________________________ es una aplicacin especial que obtiene y crea informes de
ciertos tipos de datos empresariales que pueden ayudar a los gerentes a tomar mejores decisiones.
c) Un ____________________________ realiza tareas que normalmente hara un humano, por
ejemplo, un diagnstico mdico o la aprobacin de prstamos.
d) Un _______________________________ utiliza computadoras o redes para realizar distintas
operaciones como procesamiento de textos, contabilidad o comunicaciones.

Solucin:
a)
b)
c)
d)

Sistema de administracin de informacin


Sistema de apoyo a la toma de decisiones
Sistema experto
Sistema de automatizacin de oficinas

PARTE PRCTICA (14 puntos)


Para la calificacin se tomar en cuenta el uso adecuado de constantes, variables, parmetros y tipos
de datos, as como de comentarios. NO deben usarse: VARIABLES GLOBALES, CONSTANTES
LOCALES.

3. (7 puntos) Se tiene en una hoja de clculo una cantidad de nmeros base. Se desea realizar los siguientes
procesos a cada uno de ellos:
1

Verificar si el nmero base es positivo y no tiene ms de 9 dgitos y si la operacin solicitada es la


permitida (suma + o multiplicacin x). En caso de no cumplirse estas condiciones se debe
escribir un mensaje de error. Si se todas las condiciones entonces se debe:
o Hallar la cantidad de dgitos del nmero base
o Conocer si la cantidad de dgitos del nmero base es par o impar
o Encontrar el resultado de realizar cierta operacin (suma + o multiplicacin x) con cada
uno de los dgitos del nmero base.
o Descomponer el nmero base, mostrando cada dgito en una celda

Para hallar lo pedido se ha creado una hoja de Excel como la mostrada a continuacin.

Figura 1
Se le pide:
a) (2 puntos) Elaborar el anlisis del problema, identificando los datos de entrada, datos de salida y
planteando un diagrama de mdulos de por lo menos 4 (incluido el principal). No debe considerar
mdulos exclusivos para leer y mostrar datos.
b) (5 puntos) Codificar en VBA con Excel (usando diseo descendente) los mdulos definidos en el
diagrama de mdulos planteado que permitan leer los datos, realizar las acciones solicitadas y mostrar
los resultados de acuerdo a la hoja de clculo presentada anteriormente. NOTA: Debe manipular los
nmeros como tal; es decir, solo debe aplicar operadores matemticos y no para otros tipos de dato.
Solucin:
a) Anlisis.
Datos de entrada
Cantidad de nmeros (cantnum)
Para cada nmero:
Nmero base (numerobase)
Operacin
Datos de salida
Para cada nmero:
Cantidad de dgitos (cantdig)
Paridad de la cantidad de dgitos del nmero base (paridad)
Resultado de la operacin sobre los dgitos del nmero base (resultado)
Descomposicin en dgitos del nmero base

Diagrama de mdulos

Numeros

Validar
Datos

CuentaDigitos
Verificar
Paridad

Calcular
Resultado

Descomponer
NumeroBase

b) Implementacin
Const MENSAJE = "Error en los datos"
Sub Numeros()
Dim cantnum As Integer, fila As Integer, numerobase As Long, operacion As String, esValido As Boolean,
resultado As Long, cantdig As Integer, paridad As String
cantnum = Range("B1")
For fila = 1 To cantnum
numerobase = Cells(3 + fila, 1)
operacion = Cells(3 + fila, 2)
esValido = ValidarDatos(numerobase, operacion)
If esValido Then
Call CuentaDigitosVerificarParidad(numerobase, cantdig, paridad)
resultado = CalcularResultado(numerobase, operacion)
Call DescomponerNumeroBase(numerobase, cantdig, fila)
Cells(3 + fila, 3) = cantdig
Cells(3 + fila, 4) = paridad
Cells(3 + fila, 5) = resultado
Else
Cells(3 + fila, 3) = "-"
Cells(3 + fila, 4) = "-"
Cells(3 + fila, 5) = "-"
Cells(3 + fila, 6) = MENSAJE
End If
Next
End Sub
Function ValidarDatos(numerobase As Long, operacion As String) As Boolean
ValidarDatos = numerobase > 0 And numerobase < 1000000000 And (operacion = "+" Or operacion =
"x")
End Function
Sub CuentaDigitosVerificarParidad(numerobase As Long, cantdig As Integer, paridad As String)
Dim num As Long
cantdig = 0
num = numerobase
Do While (num > 0)
num = num \ 10
cantdig = cantdig + 1
Loop
If cantdig Mod 2 = 0 Then
3

paridad = "PAR"
Else
paridad = "IMPAR"
End If
End Sub
Function CalcularResultado(numerobase As Long, operacion As String) As Long
Dim resultado As Long, digito As Integer, num As Long
If operacion = "+" Then
resultado = 0
Else
resultado = 1
End If
num = numerobase
Do While (num > 0)
digito = num Mod 10
num = num \ 10
If operacion = "+" Then
resultado = resultado + digito
Else
resultado = resultado * digito
End If
Loop
CalcularResultado = resultado
End Function
Sub DescomponerNumeroBase(numerobase As Long, cantdig As Integer, fila As Integer)
Dim cont As Integer, digito As Integer
cont = 0
Do While (numerobase > 0)
digito = numerobase Mod 10
numerobase = numerobase \ 10
Cells(fila + 3, cantdig + cont + 5) = digito
cont = cont - 1
Loop
End Sub
4. (7 puntos) A Juan se le ocurri guardar la informacin de las ventas de sus trabajadores durante el mes de
mayo en una tabla (Representacin reducida de ventas en mayo), donde las filas guardan la informacin
de cada venta. En dicha tabla, la primera, la segunda y la tercera columna representan el cdigo del
trabajador, el producto (NoteBook) que vendi y la cantidad de productos vendidos, respectivamente.
Un trabajador puede aparecer ms de una vez en dicha tabla. Adems, debe tomar en cuenta que slo son 5
productos.
Juan desea pasar esta informacin a una tabla completa donde pueda visualizar para cada trabajador, la
cantidad de notebooks vendidas as como la venta total realizada. Adicionalmente, tambin desea hallar el
promedio de ventas totales y la cantidad de trabajadores que superan dicho promedio. Esta tabla con toda la
informacin quedara de la manera que se muestra en la Figura 2.

Figura 2
Para calcular la venta total cuenta con la siguiente informacin.
Notebook
TOSIBA
LENUEVO
HPP
ACERR
ASIS

Precio
2299
1599
2099
1099
1399

Se le pide ayude a Juan en la solucin de su problema, para lo cual debe:


a) (2 puntos) Elaborar el anlisis del problema, identificando los datos de entrada, datos de salida y
planteando un diagrama de mdulos de por lo menos 4 (incluido el principal). No debe considerar
mdulos exclusivos para leer y mostrar datos.
b) (5 puntos) Disear, usando pseudocdigo y diseo descendente, los mdulos planteados en el
diagrama de mdulos propuesto.
Solucin:
a) Anlisis
Datos de entrada
Cantidad de ventas (cantventas)
Cantidad de trabajadores (canttrab)
Para cada venta:
Cdigo del trabajador (codtrab)
Producto
Cantidad vendida (cantidad)
Para cada trabajador:
Cdigo del trabajador (codtrab)
Nombre del trabajador (nombre)

Datos de salida
Para cada trabajador:
Cantidad de notebooks vendidas (cantvendidas)
Venta total (total)
Promedio de ventas totales (promedio)
Cantidad de trabajadores cuyas ventas superan el promedio (cantmayor)

Diagrama de Mdulos
Principal

Hallar la cantidad de
notebooks vendidas y la
venta total de un
trabajador

Hallar el promedio de
ventas totales

Hallar la cantidad de ventas


totales superiores al
promedio

Hallar el precio de una


notebook

b) Diseo
Inicio Principal()
Leer cantventas
Leer cantrab
i1
Mientras i <= canttrab
Leer codtrab
Hallar_cantidadvendida_ventatotal(codtrab, cantventas, cantvendidas, total)
Escribir cantvendidas, total
ii+1
Fin mientras
promedio hallar_promedio_ventas(canttrab)
cantmayor hallar_cantidad_superior_promedio(canttrab, promedio)
Escribir promedio, cantmayor
Fin principal
Inicio Hallar_cantidadvendida_ventatotal(codtrab, cantventas, cantvendidas, total)
cantvendidas 0
total 0
i1
Mientras i <= cantventas
Leer codigo
Si codigo = codtrab entonces
Leer producto , cantidad
precio HallarPrecio(producto)
cantvendidas cantvendidas + cantidad
total total + cantidad * precio
Fin si
ii+1
Fin mientras
Fin Hallar_cantidadvendida_ventatotal
Inicio Hallar_promedio_ventas(canttrab)
suma 0
i1
6

Mientras i <= canttrab


Leer monto
suma suma + monto
ii+1
Fin mientras
promedio_ventas suma / canttrab
retornar promedio_ventas
Fin Hallar_promedio_ventas
Inicio Hallar_cantidad_superior_promedio(canttrab, promedio)
contador 0
i1
Mientras i <= canttrab
Leer monto
Si monto > promedio entonces
contador = contador + 1
Fin si
ii+1
Fin mientras
retornar contador
Fin Hallar_cantidad_superior_promedio
Inicio HallarPrecio(producto)
Si producto = "TOSIBA" entonces
precio 2299
Si no
Si producto = "LENUEVO" entonces
precio 1599
Si no
Si producto = "HPP" entonces
precio 2099
Si no
Si producto = "ACERR" entonces
precio 1099
Si no
precio 1399
Fin si
Fin si
Fin si
Fin si
Fin HallarPrecio
TAREA ACADMICA (2 puntos)
5. Promedio de los Controles de lectura realizados en clase tomados del libro Introduccin a la
computacin de Peter Norton, Sexta edicin. ISBN 9701051084:
Captulo 11. Leccin A. Sistemas de administracin de bases de datos.
Captulo 12. Leccin A. Fundamentos de los sistemas de informacin.
San Miguel, 20 de Junio del 2015

Vous aimerez peut-être aussi