Está en la página 1de 9

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

ESTUDIOS GENERALES CIENCIAS


INTRODUCCIÓN A LA COMPUTACIÓN
Segundo Examen
1er. Período del 2011
Duración: 3 Horas.
INSTRUCCIONES:
SOLO SE PODRÁ DESARROLLAR LAS PREGUNTAS CON LAPICERO. EL ALUMNO NO PUEDE UTILIZAR NI
PORTAR MATERIAL DE CONSULTA, NI CALCULADORA. TODAS LAS RESPUESTAS DEBEN SER COLOCADAS EN
EL CUADERNILLO, NO COLOCARLAS EN LA HOJA DE PREGUNTAS.

PARTE ELECTIVA (6 puntos):


De acuerdo a los capítulos 2, 8, 9, 10, 11, 12 del libro: “Introducción a la computación” de Peter Norton, conteste
únicamente tres de las cinco preguntas que a continuación se presentan.
1. (2 puntos)
a. (1 punto) Relacione cada término en la columna izquierda con su correspondiente definición en la
columna de la derecha. Coloque las respuestas en su cuadernillo.
URL i. Protocolo de Internet
FTP ii. Protocolo especial para documentos con vínculos
TCP/IP iii. Formato especial de direcciones
HTTP iv. Para transferencia de archivos
b. (1 punto) Mencione y describa dos de las topologías de red.
Solución
a. URL - iii, FTP-iv, TCP/IP-i, HTTP-ii
b. Una red en bus es una topología de red en la que todas las estaciones están conectadas a un único canal de
comunicaciones por medio de unidades interfaz y derivadores. Las estaciones utilizan este canal para comunicarse
con el resto. Es la más sencilla por el momento.
Una red en estrella es una red en la cual las estaciones están conectadas directamente a un punto central y todas las
comunicaciones se han de hacer necesariamente a través de este.
Topología de red en la que las estaciones se conectan formando un anillo. Cada estación está conectada a la
siguiente y la última está conectada a la primera. Cada estación tiene un receptor y un transmisor que hace la
función de repetidor, pasando la señal a la siguiente estación.
La topología en malla es una topología de red en la que cada nodo está conectado a uno o más de los otros nodos. De
esta manera es posible llevar los mensajes de un nodo a otro por diferentes caminos. Si la red de malla está
completamente conectada, no puede existir absolutamente ninguna interrupción en las comunicaciones. Cada
servidor tiene sus propias conexiones con todos los demás servidores.
2. (2 puntos)
a. (1 punto) En cuanto a software, explique los siguientes conceptos, indicando además si es permitido
modificarlos: Suite de software, Shareware.
b. (1 punto) Explique las dos maneras de determinar si una página es segura cuando se utiliza un sitio
de e-commerce.
Solución
a. Suite de software: Conjunto de herramientas cuidadosamente integradas diseñadas para trabajar en conjunto sin
dificultad. Shareware: Software que se puede usar gratis por un lapso de tiempo antes de comprarlo.
b. Revise el URL: Si la URL de la página comienza con https://, entonces la página es segura. La letra s indica que se
han tomado medidas de seguridad.
Revise la barra de estado de su navegador. Si utiliza IE por ejemplo le aparecerá un símbolo de un candado cerrado
en la barra de estado del navegador cuando está abierta una página Web segura.
3. (2 puntos)
a. (1 punto) ¿Qué es un ISP y qué servicio provee?
b. (1 punto) Mencione y describa brevemente dos tipos de conexión de banda ancha.
Solución
a. Es un proveedor de servicios de internet. En una conexión de acceso telefónico, la computadora utiliza su módem
para marcar un número telefónico que le proporcionó el ISP.
b. Se debe responder solo dos de los tres tipos:
Página 1 de 9 CONTINÚA…
- La red digital de servicios integrados (ISDN) es un servicio telefónico digital que transmite de manera simultánea
voz, datos y señales de control a través de una sola línea telefónica. El servicio ISDN opera en líneas telefónicas
estándar, pero necesita un modem y servicio telefónico especial.
- El servicio de línea digital de suscriptor (DSL) es similar al ISDN en su uso de la red telefónica, pero utiliza un
procesamiento de las señales digitales y algoritmos más avanzados para comprimir más señales a través de las líneas
telefónicas. Las dos más comunes son ADSL y SDSL.
- Servicio de módem de cable, permite la conexión a internet a través de un módem de cable especial que son
provistos por las compañías de televisión por cable (CATV).
4. (2 puntos) Con respecto a las bases de datos, defina qué es un registro y que es una tabla. Utilice un
ejemplo para su explicación.
Solución
Tabla en las bases de datos, se refiere a la estructura donde se almacenan los datos. Es un conjunto de registros.
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los
demás registros. Ejemplo: en una tabla que representa a un directorio personal cada fila contendrá un nombre y una
dirección.
5. (2 puntos)
a. (1 punto) Relacione cada término en la columna izquierda con su correspondiente definición en la
columna de la derecha. Coloque las respuestas en su cuadernillo.
VPN i. Red de área de almacenamiento
DSS ii. Sistema de apoyo a las decisiones
SAN iii. Arreglo redundante de discos independientes
RAID iv. Red privada virtual
b. (1 punto) El desarrollo rápido de aplicaciones (RAD) es un término que se ha asignado a una
variedad de métodos evolutivos para acortar al SDLC convencional. Complete en el orden correcto,
las fases de un RAD típico. Coloque las respuestas en su cuadernillo.
Fase Orden

Diseño de usuario i.
Planeación de requerimientos ii.
Mantenimiento iii. Construcción rápida
Transición iv.
Construcción rápida v.

Solución
a. VPN - iv; DSS - ii; SAN - i; RAID – iii
b. Diseño de usuario-ii; Planeación de requerimientos-i, Mantenimiento-v, Transición-iv, Construcción rápida-iii

PARTE OBLIGATORIA (14 puntos):


Para la calificación se tomará en cuenta el uso adecuado de constantes, variables, parámetros y tipos de datos, así
como de comentarios. NO deben usarse VARIABLES GLOBALES.

6. (4 puntos) A una de sus compañeras siempre le ha gustado la poesía y recientemente ha descubierto una
fascinante forma poética. El tautograma es un caso especial de aliteración, el cual es la ocurrencia de la
misma letra al inicio de palabras adyacentes. En particular, una oración es un tautograma si todas sus
palabras inician con la misma letra.
Por ejemplo, las siguientes oraciones son tautogramas:
• Mi mamá me mima mucho.
• Susana sonreía satisfecha.
• Doce duendes de Dinamarca decidieron dividirse dos docenas de delicados diamantes después de
discutir diferentes dificultades durante dos días.
Tenga en cuenta que:
• Una palabra contiene al menos una letra.
Página 2 de 9 CONTINÚA…
• Una oración contiene al menos una palabra.
• La oración termina siempre con un punto.
Ayude a su compañera a analizar, mediante un programa implementado en VBA sobre Excel, para cada
una de las oraciones de una hoja de cálculo, su cantidad de palabras y si dicha oración es un tautograma,
tal como se muestra en la figura.

Se le pide implementar utilizando VBA sobre Excel:


a. (2.5 puntos) Un subprograma EsTautograma que reciba como parámetro una oración, devuelva la
verificación de si es o no un tautograma y devuelva la cantidad de palabras de la oración.
b. (1.5 puntos) Un subprograma Principal que haga lo siguiente:
• Lea la cantidad de oraciones
• Por cada oración
o Lea la oración
o Obtenga la cantidad de palabras y verifique si es o no un tautograma, utilizando el
subprograma anterior.
o Muestre la cantidad de palabras de la oración y si es o no un tautograma.
Solución
Sub EsTautograma1(ByVal ora As String, tautograma As Boolean, palabras As Integer)
Dim i As Integer
Dim letra As String
Dim tamCad As Integer

ora = Trim(ora)
letra = UCase(Left(ora, 1))
tamCad = Len(ora)
tautograma = True
palabras = 1
For i = 1 To tamCad
If (Mid(ora, i, 1) = " ") Then
If (UCase(Mid(ora, i + 1, 1)) <> letra) Then
tautograma = False
End If
palabras = palabras + 1
End If
Next
End Sub
Sub EsTautograma2(ByVal ora As String, tautograma As Boolean, palabras As Integer)
Dim letra As String
Dim pos As Integer, tamCad As Integer

ora = Trim(ora)
Página 3 de 9 CONTINÚA…
letra = UCase(Left(ora, 1))
tautograma = True
palabras = 1
pos = 0
Do
pos = InStr(pos + 1, ora, " ")
If (pos <> 0) Then
If (UCase(Mid(ora, pos + 1, 1)) <> letra) Then
tautograma = False
End If
palabras = palabras + 1
End If
Loop Until pos = 0
End Sub

Sub Principal()
Dim cantOraciones As Integer, i As Integer
Dim cantPalabras As Integer, tautograma As Boolean
Dim oracion As String, res As String
cantOraciones = Range("B1")

For i = 0 To cantOraciones - 1
oracion = Cells(3 + i, 1)
Call EsTautograma2(oracion, tautograma, cantPalabras)
If (tautograma) Then
res = "Si"
Else
res = "No"
End If

Cells(3 + i, 2) = cantPalabras
Cells(3 + i, 3) = res
Next
End Sub

7. (6 puntos) La Sociedad de Banca y Seguros (SBSS) regula el funcionamiento de todos los bancos y
aseguradoras del país. Como parte de esta regulación se le exige a los bancos que pasen por procesos de
auditoría interna y externa. Con la finalidad de estar preparados para la próxima auditoría en “Mi
Banquito” el gerente de auditoría interna prepara una hoja de cálculo que deberán llenar los gerentes de
cada sucursal con la información de todas las transacciones del último mes realizadas en la agencia.

Una vez llena la hoja Operaciones y utilizando los datos de la hoja Tipo de Cambio un programa en
VBA creará el reporte mostrado en la hoja Reporte.

Para formar el reporte se utilizarán los criterios que se encuentran en la hoja Reporte:

Página 4 de 9 CONTINÚA…
• Tipo de moneda: este criterio indica que se colocarán en el reporte las operaciones que coincidan con
el tipo de moneda indicado. Si en este criterio se encuentra la palabra “Todos” entonces se colocarán
en el reporte las operaciones realizadas en todos los tipos de monedas.
• Monto base en soles: este criterio indica que se colocarán en el reporte las operaciones cuyo monto
sea mayor o igual al monto base.
• Tipo de operación: este criterio indica que se colocarán en el reporte las operaciones que coincidan
con el tipo de operación indicado. Si en este criterio se encuentra la palabra “Todos” entonces se
colocarán en el reporte las operaciones de todos los tipos.

Considere que la cantidad de tipos de monedas que maneja el banco pueden variar y que los criterios del
reporte son datos de entrada para crearlo.
Se le pide:
a. (2 puntos) La definición y análisis del problema (el diagrama de módulos debe contener al menos
cuatro módulos).
b. (4 puntos) Implementar en VBA sobre Excel los módulos detallados en su análisis que permitan
obtener el reporte.

Solución
Definición: Hallar el reporte de las operaciones que cumplan con los criterios dados.

Datos de entrada: criterios del reporte: moneda, tipo de operación, monto base; cantidad de monedas, por cada
moneda: número, nombre, cambio; cantidad de operaciones, por cada operación: fecha, usuario, tipo, código,
moneda y monto.
Datos de salida: por cada operación que cumpla con los criterios: fecha, usuario, tipo, código, moneda y monto.
Diagrama de módulos

Principal

LeerOperacion EvaluarOperacion MostrarOperacion Convierte

Página 5 de 9 CONTINÚA…
Sub Principal()
Dim operaciones As Integer, criterioMoneda As String, criterioMonto As Single, criterioTipo As String, _
filtradas As Integer, i As Integer, fecha As String, usuario As String, tipo As String, codigo As String, _
moneda As String, monto As Single, montoSoles As Single

operaciones = Sheets("Operaciones").Range("b1")
criterioMoneda = Sheets("Reporte").Range("b2")
criterioMonto = Sheets("Reporte").Range("b3")
criterioTipo = Sheets("Reporte").Range("b4")
filtradas = 0

For i = 1 To operaciones
Call LeerOperacion(i, fecha, usuario, tipo, codigo, moneda, monto)
montoSoles = Convierte(monto, moneda)
If (EvaluarOperacion(tipo, moneda, montoSoles, criterioTipo, criterioMoneda, criterioMonto)) Then
filtradas = filtradas + 1
Call MostrarOperacion(filtradas, fecha, usuario, tipo, codigo, moneda, monto)
End If
Next
End Sub

Sub LeerOperacion(ByVal i As Integer, fecha As String, usuario As String, tipo As String, codigo As String, moneda As
String, monto As Single)
fecha = Sheets("Operaciones").Cells(i + 2, 1)
usuario = Sheets("Operaciones").Cells(i + 2, 2)
tipo = Sheets("Operaciones").Cells(i + 2, 3)
codigo = Sheets("Operaciones").Cells(i + 2, 4)
moneda = Sheets("Operaciones").Cells(i + 2, 5)
monto = Sheets("Operaciones").Cells(i + 2, 6)
End Sub

Function EvaluarOperacion(ByVal tipo As String, ByVal moneda As String, ByVal monto As Single, ByVal criterioTipo
As String, ByVal criterioMoneda As String, ByVal criterioMonto As Single) As Boolean
EvaluarOperacion = ((tipo = criterioTipo) Or (criterioTipo = "Todos")) And ((moneda = criterioMoneda) Or
(criterioMoneda = "Todos")) And (monto >= criterioMonto)
End Function

Function Convierte(ByVal monto As Single, ByVal moneda As String) As Single


Dim monedas As Integer, i As Integer, encontrada As Boolean

monedas = Sheets("Tipo de Cambio").Range("c1")


i=1
Do While (i <= monedas) And Not (encontrada)
If (moneda = Sheets("Tipo de Cambio").Cells(i + 2, 1)) Then
Convierte = Sheets("Tipo de Cambio").Cells(i + 2, 3) * monto
encontrada = True
End If
i=i+1
Loop
End Function

Sub MostrarOperacion(ByVal i As Integer, ByVal fecha As String, ByVal usuario As String, ByVal tipo As String, ByVal
codigo As String, ByVal moneda As String, ByVal monto As Single)
Sheets("Reporte").Cells(i + 6, 1) = fecha
Sheets("Reporte").Cells(i + 6, 2) = usuario
Página 6 de 9 CONTINÚA…
Sheets("Reporte").Cells(i + 6, 3) = tipo
Sheets("Reporte").Cells(i + 6, 4) = codigo
Sheets("Reporte").Cells(i + 6, 5) = moneda
Sheets("Reporte").Cells(i + 6, 6) = monto
End Sub

8. (4 puntos) Cuando actualizamos un programa instalado en nuestras computadoras (cambiamos a una


versión más reciente), usualmente agregamos un conjunto de archivos nuevos. Un técnico de soporte
quiere verificar, antes de proceder con la actualización de algunos programas de las computadoras a su
cargo, si este proceso será posible dados los datos de cada uno de los archivos a agregar, para lo cual
cuenta con una hoja de cálculo como la siguiente:

Se sabe que los registros empiezan en la fila 8. Además se conoce que el nombre del archivo nuevo es
una cadena formada por el nombre seguido de un punto y la extensión de longitud tres, seguido de la
versión que se encuentra entre corchetes y finalmente entre “<” y “>” se encuentra el tamaño del archivo
en bytes.

Se le pide implementar utilizando VBA sobre Excel los siguientes subprogramas que permitan calcular
la información buscada en la hoja de cálculo anterior:
a. (0.5 puntos) Un subprograma LeerDatos que lee el número de registros, la cantidad de espacio
disponible en disco “C:”, la cantidad de espacio disponible en disco “D:”, el nombre del programa y
la versión.
b. (1.0 punto) Un subprograma llamado ObtenerInformacion que teniendo por parámetro de entrada el
nombre del archivo nuevo (con la estructura mencionada previamente) obtenga y devuelva el
nombre del archivo, la extensión, la versión y el tamaño del archivo en KB como datos separados y
utilizando los tipos de datos convenientes.
c. (0.5 punto) Un subprograma llamado UnidadDestino que teniendo como parámetro la extensión del
archivo y la descripción de requerido (“Si” / “No”), devuelva la unidad de destino del archivo. Si la
extensión es “exe” o “dll” y el archivo es requerido (valor es igual a “Si”) entonces la unidad de
destino es “C:” en caso contrario la unidad de destino es “D:”
d. (0.5 punto) Un subprograma llamado Compatible que teniendo como parámetro la versión del
aplicativo y la versión del archivo que se actualiza, evalúe la compatibilidad y devuelva el mensaje
correspondiente. Se produce error de compatibilidad si la versión del archivo a instalar/actualizar es
inferior a la del aplicativo o superior en más de una versión.
e. (1.5 punto) Un subprograma Principal que:
a. Lea los datos, utilizando el subprograma de la parte a)
b. Para cada uno de los archivos
i. Lea el nombre del archivo nuevo y si es requerido o no
ii. Utilizando el subprograma b) obtenga la información del nombre del archivo nuevo.
iii. Utilizando el subprograma c) halle la unidad destino

Página 7 de 9 CONTINÚA…
iv. Evalúe si la instalación se realizo correctamente. Esto depende de si hay espacio
suficiente en la unidad de destino para dicho archivo.
v. Utilizando el subprograma de la parte d) evalúe la compatibilidad.
vi. Escriba en la hoja de cálculo la unidad destino, el tamaño requerido, la evaluación de
la instalación y la compatibilidad.

Nota: debe tener en cuenta que conforme vaya avanzando, archivo por archivo, el espacio en los
discos ya no será el inicial. Es por eso que en el ejemplo para el archivo en la fila 12 no hay espacio.
Solución
Const KB As Integer = 1024

Sub leerdatos(ByRef comienzo As Byte, ByRef registros As Byte, ByRef sizec As Long, ByRef sized As Long,
ByRef nombrearchivo As String, ByRef version As Byte)
comienzo = Range("b1")
registros = Range("b2")
sizec = Range("e2")
sized = Range("e3")
nombrearchivo = Range("e4")
version = Range("e5")
End Sub

Sub obtenerinformacion(ByVal cadena As String, ByRef nombre As String, ByRef extension As String, _
ByRef version As Byte, ByRef size As Long)

Dim pos1 As Byte, pos2 As Byte, pos3 As Byte, pos4 As Byte

pos1 = InStr(cadena, ".")


nombre = Left(cadena, pos1 - 1)
pos2 = InStr(pos1 + 1, cadena, "[")
extension = Mid(cadena, pos1 + 1, pos2 - pos1 - 1)
pos3 = InStr(pos2 + 1, cadena, "]")
version = Mid(cadena, pos2 + 1, pos3 - pos2 - 1)
pos4 = InStr(pos3 + 1, cadena, "<")
size = CLng(Mid(cadena, pos4 + 1, Len(cadena) - pos4 - 1))/KB
End Sub

Function UnidadDestino(ByVal extension As String, ByVal requerido As String) As String


Select Case extension
Case "dll", "exe"
If requerido = "S" Then
UnidadDestino = "C:"
Else
UnidadDestino = "D:"
End If
Case Else
UnidadDestino = "D:"
End Select
End Function

Function compatible(ByVal versionapp As Byte, ByVal version As Byte) As String


If (versionapp = version) Or (versionapp + 1 = version) Then

Página 8 de 9
compatible = "Compatibilidad"
Else
compatible = "error de compatibilidad"
End If
End Function

Sub principal()
Dim nombre As String, extension As String, version As Byte, size As Long
Dim comienzo As Byte, registros As Byte, sizec As Long, sized As Long
Dim nombrearchivo As String, versionapp As Byte

Call leerdatos(comienzo, registros, sizec, sized, nombrearchivo, versionapp)

For fila = comienzo To (comienzo + registros - 1)


cadena = Cells(fila, 1)
Call obtenerinformacion(cadena, nombre, extension, version, size)
requerido = Cells(fila, 2)
disco = UnidadDestino(extension, requerido)
Cells(fila, 3) = disco
Cells(fila, 4) = size

If disco = "C:" Then


sumac = sumac + size
If sumac < sizec Then
Cells(fila, 5) = "Ok"
Else
Cells(fila, 5) = "error de espacio de disco C:"
sumac = sumac - size
End If
Else
sumad = sumad + size
If sumad < sized Then
Cells(fila, 5) = "Ok"
Else
Cells(fila, 5) = "error de espacio de disco D:"
sumad = sumad - size
End If
End If
Cells(fila, 6) = compatible(versionapp, version)
Next
End Sub

San Miguel, 1 de julio de 2011

Página 9 de 9

También podría gustarte