8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
1/15
PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
QUINTO LABORATORIO
DESARROLLO DE PROGRAMAS III
Coordinadores del Laboratorio
2012 - 2
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
2/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
2
TABLA DE CONTENIDO
1. ESTRUCTURAS ALGORÍTMICAS SELECTIVAS .............................................................................. 3
1.1. CONTROL DE SECUENCIA DE PROGRAMA ............................................................................................ 3 1.2. SENTENCIAS COMPUESTAS .................................................................................................................. 3
1.3. SENTENCIAS CONDICIONALES ............................................................................................................. 3
1.3.1. Estructura Selectiva Simple: If ... Then ........... .............. ............ .............. ............. ............ .......... 3
1.3.2. Estructura Selectiva Doble: If ... Then … Else .......................................................................... 5
1.3.3. Estructura Selectiva Anidada ..................................................................................................... 6
1.3.4. Sentencias de Selección Múltiple: Select Case .......................................................................... 8
2. EJERCICIOS ............................................................................................................................................. 10
2.1. DETERMINAR DÍA DE LA SEMANA ...................................................................................................... 10 2.1.1. Definición ................................................................................................................................. 11
2.1.2. Implementación (Codificación) ................................................................................................ 11
2.2. SUELDOS EN UNA EMPRESA** ........................................................................................................... 12 2.2.1. Definición ................................................................................................................................. 12
2.2.2. Implementación (Codificación) ................................................................................................ 13
3. EJERCICIOS PROPUESTOS: ................................................................................................................ 14
4. BIBLIOGRAFÍA ....................................................................................................................................... 15
5. FECHA DE ACTUALIZACIÓN: ............................................................................................................ 15
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
3/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
3
1. Estructuras Algorítmicas Selectivas
Las estructuras selectivas nos permiten realizar bifurcaciones. Esto es, escoger las instrucciones que se ejecutaránsegún se cumpla o no una determinada condición.
1.1. Control de Secuencia de Programa
Los lenguajes de programación proveen un conjunto de enunciados o sentencias para expresar las formas básicasde control de secuencia que siguen los algoritmos, que ya hemos visto anteriormente.
Estas formas básicas las podemos agrupar en:• Sentencias compuestas.• selección alternativa o estructuras algorítmicas selectivas• iteración o estructuras iterativas
1.2. Sentencias Compuestas
Una sentencia compuesta está formada por una serie de sentencias, que se pueden tratar como una sola, en laconstrucción de sentencias más grandes.Se suele escribir:
(palabra reservada de inicio de estructura de control)sentencia1
sentencia2
….
(palabra reservada de fin de estructura de control)
Un programa en VBA está formado por una serie de sentencias, y se ejecutan en el orden que se declaran.
1.3. Sentencias Condicionales
Una sentencia condicional expresa alternancia de dos o más sentencias, es decir, se ejecutará sólo una de ellas, enbase a la veracidad de alguna expresión booleana o un valor lógico (verdadero o falso).La sentencia a ejecutar, puede ser una sentencia simple o una compuesta.La elección de la alternativa es controlada por una prueba sobre cierta condición, la cual es una expresión lógica obooleana.
1.3.1. Estructura Selectiva Simple: If ... Then
Sintaxis:
sentencia-x
If expresión booleana Then
sentencia (simple o compuesta)
End If
sentencia-y
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
4/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
4
En lenguaje natural, diríamos:Si la (expresión booleana) es verdadera, entonces ejecutar la (sentencia).
Expresión booleana puede ser cualquier expresión que de cómo resultado un valor numérico. Cero es False yTrue cualquier valor distinto de cero.
Explicación:
Si expresión booleana es True, se ejecutan todas las instrucciones que siguen a la palabra clave Then. Si la condiciónes False (=0) entonces el programa continua con la siguiente instrucción después del End if .
Por ejemplo:
Sub principal()Dim numero as integer, resto as integer
numero = Range("A1")resto = numero Mod 2If (resto = 0) Then
Range("A3") = "Es par"End If
End Sub
Caso práctico 1:
Calcular el área de un triángulo de lados a, b y c. El programa leerá el valor de cada lado y verificará que formenun triángulo.
Análisis:
• Datos de entrada: a, b, c• Solicitar los datos.• Calcular el semiperímetro.
• Verificar con el semiperímetro que los 3 lados sí formen un triángulo, es decir, probar que: (sp>a) y(sp>b) y (sp>c)• Si se cumple lo anterior: Calcular el área usando la fórmula del semiperímetro.• Imprimir resultado.
Solución:
Sub leer_lados(ByRef a As single, ByRef b As Single, ByRef c As Single)
a = Range("c1")b = Range("c2")c = Range("c3")
End Sub
Function semiperimetro(ByVal a As Single, ByVal b As Single, ByVal c As Single) As Single
semiperimetro = (a + b + c) / 2
End Function
Function area_triangulo(ByVal a As Single, ByVal b As Single, ByVal c As Single, ByVal sp As Single)
As Single
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
5/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
5
area_triangulo = Sqr(sp * (sp - a) * (sp - b) * (sp - c))
End Function
Sub imprimirarea(ByVal areaT As Single)
Range("c4") = areaTEnd Sub
Const mensaje = "los lados no forman un triangulo"Sub areatriangulo()
Dim a As Single, b As Single, c As SingleDim sp As SingleDim area As Single
Call leer_lados(a, b, c)sp = semiperimetro(a, b, c)
If sp > a And sp > b And sp > c Then
area = area_triangulo(a, b, c, sp)imprimirarea (area)
Else
Range("c4") = mensajeEnd If
End Sub
1.3.2. Estructura Selectiva Doble: If ... Then … Else
Sintaxis:
If expresión booleana Then
sentencia-1Else
sentencia-2
End If
En lenguaje natural, diríamos:Si la (expresión booleana) es verdadera,
entonces ejecutar la (sentencia1),en caso contrario ejecutar la (sentencia2)
Explicación:
Si la expresión booleana es True, se ejecutan todas las instrucciones que siguen a la palabra clave Then. Si lacondición es False (=0) entonces se ejecutan las instrucciones que siguen a la palabra clave Else.
Por ejemplo:
If (resto = 0) Then Range("A3") = " Es par"
Else
Range("A3") = " No es par"End If
Caso práctico 2:
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
6/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
6
Modificar el programa del Caso práctico 2, para calcular el área de un triángulo, de modo que indique al usuariocuando los datos ingresados no forman un triángulo.
Const mensaje = “los lados no forman un triangulo”……………
sp = semiperimetro(a, b, c)
If sp > a And sp > b And sp > c Then
area = area_triangulo(a, b, c, sp)imprimirarea (area)
ElseRange("c4") = mensaje
End If
1.3.3. Estructura Selectiva Anidada
Sintaxis:
…If expresión booleana 1 Then
sentencia 1
ElseIf expresión booleana 2 Then
sentencia 2
…
ElseIf expresión booleana N Then
sentencia N
[ Else
sentencia P ]
End If
…
Explicación:
Evalúa primero expresión booleana 1. Si es False, evalúa expresión booleana 2 y así sucesivamente, hasta queencuentre una condición True. Entonces ejecuta el bloque de instrucciones del número correspondiente.Si ninguna condición es True se ejecuta el bloque de instrucciones de Else (si existiera).
Recuerde: El bloque de sentencias que está entre [ ] es opcional.
Caso práctico 3: Escriba un programa en VBA que muestre en pantalla si un valor de voltaje que se ingresa por teclado, seencuentra en escala ALTA, NORMAL, o está fuera del límite superior o inferior, de acuerdo a:
• Mayor que 300 Voltios, fuera de límite superior• Entre 240 y 300 Voltios, en escala ALTA• Entre 190 y 240 Voltios, en escala NORMAL• Menor que 190 Voltios, fuera de límite inferior
Solución:
Sub verificarEscala()
Dim volt As Single
'leer datosvolt = Range("C3")
Sentencia compuesta
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
7/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
7
'verificar escala del voltajeIf volt < 300 Then
If volt < 240 ThenIf volt < 190 Then
Range(“C6”)= "Voltaje menor que el limite inferior!"Else
Range(“C6”)= "Escala Normal "End If
Else
Range(“C6”)= "Escala Alta"End If
Else
Range(“C6”)= "Voltaje mayor al limite superior"End If
End Sub
Caso práctico 4: Escriba un subprograma en VBA que muestre el número mayor de 3 números ingresados en las celdas de la hojade Excel.
• Leer datos desde la hoja de Excel.• Evaluar número mayor• Imprimir resultados o mostrar resultados
Solución
Sub leerDatos(ByRef a As Single, ByRef b As Single, ByRef c As Single)
a = Range("b1")b = Range("b2")
c = Range("b3")End Sub
Sub imprimir_resultado(ByVal mayor As Single)
Range("b5") = "El mayor es " & mayorEnd Sub
Function calcular_mayor(ByVal num1 As Single, ByVal num2 As Single, ByVal num3 As Single) AsSingle
If num1 > num2 ThenIf num1 > num3 Thencalcular_mayor = num1
Else
calcular_mayor = num3End IfElse
If num2 > num3 Thencalcular_mayor = num2
Elsecalcular_mayor = num3
End IfEnd IfEnd Function
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
8/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
8
'programa principal
Sub mayor()
Dim num1 As Single, num2 As Single, num3 As SingleDim mayor As Single
Call leerDatos(num1, num2, num3)
mayor = calcular_mayor(num1, num2, num3)imprimir_resultado (mayor)
End Sub
1.3.4. Sentencias de Selección Múltiple: Select Case
La sentencia Select Case se tiene en VBA para las situaciones en las que el número de alternativas es mayor quedos.Según el valor de una expresión que puede tomar n valores distintos, se ejecutará una de la n sentenciasalternativas. Se debe de considerar que el valor de la expresión y los n valores distintos deben de ser delmismo tipo.
Sintaxis:
Select Case expresión
Case lista 1 : sentencias 1
Case lista 2 : sentencias 2
Case lista 3 : sentencias 3…
Case lista n : sentencias n-1
[Case Else : sentencias n ]
End Select
Lista 1, lista 2, lista 3, … lista n, son un conjunto de distintos valores de la expression, separados por comas.
Explicación:
• Cuando se ejecuta este tipo de estructura de control, se procesa la sentencia indicada por la lista que contieneel dato que evalúa la expresión; y, se termina, no evaluándose otra lista (otro case).
• Cada lista contiene un dato constante, o varios separados por comas, pudiendo ser cada una de ellas:o Un valor.o Un rango de la forma: valor1 to valor2. o Una condición de la forma: Is operador-de-relación valor
• El tipo de dato de la expresión puede ser: entero, carácter, cadena, lógico y real.• Cabe mencionarse que el final de un case lo define el siguiente case, pudiendo dar lugar a sentencias
compuestas.
Nota: Se debe tener cuidado de poner valores reales (de punto flotante) en la lista del case.
Por ejemplo:
Select Case Numero ' Se evalúa la variable Numero.Case 1 To 5: ' Numero está entre 1 y 5.resultado = "Se encuentra entre 1 y 5"Case 6, 7, 8: ' Numero es uno de los tres valores.resultado = "Se encuentra entre 6 y 8"Case 9 to 10: ' Numero es mayor que 9resultado = "El valor es 9 o más grande"Case Else: ' Resto de valores.resultado = "El número es 0 o negativo"
End Select
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
9/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
9
Caso práctico 5:
Escribir un subprograma en VBA que lea un entero positivo N y determine el mes del ano que corresponda alnúmero ingresado.
Solución:
Sub Imprimir_nombremes()
Dim num As Integer, Mensaje as string
'leer datosnum = Range("B3")'seleccionar el nombre del mes
Select Case num
Case 1: Mensaje= "El mes es " & "Enero"Case 2: Mensaje= "El mes es " & "Febrero"Case 3: Mensaje= "El mes es " & "Marzo"Case 4: Mensaje= "El mes es " & "Abril"Case 5: Mensaje= "El mes es " & "Mayo"Case 6: Mensaje= "El mes es " & "Junio"Case 7: Mensaje= "El mes es " & "Julio"Case 8: Mensaje= "El mes es " & "Agosto"Case 9: Mensaje= "El mes es " & "Setiembre"Case 10: Mensaje= "El mes es " & "Octubre"Case 11: Mensaje= "El mes es " & "Noviembre"Case 12: Mensaje= "El mes es " & "Diciembre"
End Select Range("D3")=Mensaje
End Sub
Caso práctico 6:
Escribir un programa en VBA que lea un entero positivo N y según termine en el dígito 0,1 ó 3 se cambie por eldoble del número; si termina en 4 ó 5 se cambie por su décima parte y en otro caso se deje tal cual.
Solución:
Sub conviertenumero()
Dim n As Integer, digito As Integer
'leer datosn = Range("C3")
'validar si es positivo
If n > 0 Then
'obtener el último dígitodigito = n Mod 10'seleccion múltiple
Select Case dígitoCase 1, 0, 3:
n = n * 2Range("E3")= "nuevo valor " & n
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
10/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
10
Case 4, 5:n = n \ 10 'division enteraRange("E3")= "nuevo valor " & n
Case 2, 6, 7, 8, 9: 'case else
End SelectElse
Range("E3")= "debe ingresar numero mayor que cero"
End IfEnd Sub
2. Ejercicios
2.1. Determinar día de la semana
Un método para determinar qué día de la semana correspondiente a un día, mes y año determinado es el siguiente:1.- Tome los dos últimos dígitos del año y divídalo entre 4, quedándose con la parte entera como resultado.2.- Añada el día ingresado.3.- Luego, añada uno de los siguientes valores, de acuerdo al mes ingresado:
- Abril, julio: 0- Enero, octubre: 1- Mayo: 2- Agosto: 3- Febrero, marzo, noviembre: 4- Junio: 5- Septiembre, diciembre: 6
4.- Reste 1 si el mes ingresado es enero o febrero y el año ingresado es bisiesto.5.- De acuerdo al año ingresado (asuma que el año ingresado se encuentra en alguno de los rangos anteriores),añada:
- Para los 1700 - 1799 4- Para los 1800 - 1899 2- Para los 1900 - 1999 0- Para los 2000 - 2999 6
6.- Añada al resultado los últimos dos dígitos del año.7.- Por último, divida entre 7 y tome el resto.
El resultado será un número entre 0 y 6, que corresponderá a un día de la semana: 0 sábado, 1 domingo, 2 lunes, 3martes, 4 miércoles, 5 jueves, 6 viernes.NOTA:Un año es bisiesto si ocurre que:
1.- es divisible por 4 y no por 100ó
2.- es divisible por 400.
Implementar un programa en VBA, que nos diga el día de la semana que corresponda a una fecha ingresada en lasceldas de la hoja de Excel así:
día mes año día de la semana
21 5 2007 lunes
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
11/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
11
2.1.1. DefiniciónCalcular el día de la semana que corresponda a una fecha ingresada en las celdas de la hoja de Excel, los datos sonel día, mes y año (cada uno en una celda).
2.1.2. Implementación (Codificación)
Se creará el procedimiento principal llamado Principal, un procedimiento para la lectura de datos, una función paracalcular el coeficiente (0,1, 2, 3, 4, 5, 6 ó 7), una función que nos permite obtener el día de la semana (lunes,martes, etc.), de acuerdo al coeficiente obtenido en la función anterior y un procedimiento mostrar resultado quenos permita escribir el resultado en la celda en Excel.
Sub leer_datos(ByRef dia As Byte, ByRef mes As Byte, ByRef anho As Integer)dia = Range("a3")mes = Range("b3")anho = Range("c3")
End Sub
Function calcular_coeficiente(ByVal dia As Byte, ByVal mes As Byte, ByVal anho As Integer) AsByte
Dim resultado As Integerresultado = (anho Mod 100) \ 4resultado = resultado + diaSelect Case mesCase 7, 4: resultado = resultado + 0Case 1, 10: resultado = resultado + 1Case 5: resultado = resultado + 2Case 8: resultado = resultado + 3Case 2, 3, 11: resultado = resultado + 4Case 6: resultado = resultado + 5Case 9, 12: resultado = resultado + 6
End Select
If (mes = 1 Or mes = 2) And (((anho Mod 4 = 0) And (anho Mod 100 0)) Or (anho Mod 400 = 0)) Then'es bisiesto si es divisible por 4 y no por 100, ¢ si es divisible por 400
resultado = resultado - 1
End If
Select Case anhoCase 1700 To 1900: resultado = resultado + 4Case 1800 To 1899: resultado = resultado + 2Case 1900 To 1999: resultado = resultado + 0Case 2000 To 2999: resultado = resultado + 6
End Select
resultado = resultado + (anho Mod 100)resultado = resultado Mod 7calcular_coeficiente = resultado
End Function
Function obtener_dia_semana(ByVal coeficiente As Byte) As String
Dim nombre_dia_semana As StringSelect Case coeficienteCase 0: nombre_dia_semana = "Sabado"Case 1: nombre_dia_semana = "Domingo"Case 2: nombre_dia_semana = "Lunes"Case 3: nombre_dia_semana = "Martes"Case 4: nombre_dia_semana = "Miercoles"Case 5: nombre_dia_semana = "Jueves"Case 6: nombre_dia_semana = "Viernes"
End Selectobtener_dia_semana = nombre_dia_semana
End Function
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
12/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
12
Sub mostrar_resultado(ByVal dia_semana)Range("b5") = dia_semana
End Sub
Sub principal()Dim dia As Byte, mes As Byte, anho As IntegerCall leer_datos( dia, mes, anho)
coeficiente = calcular_coeficiente(dia, mes, anho)dia_semana = obtener_dia_semana(coeficiente)mostrar_resultado dia_semana
End Sub
2.2. Sueldos en una Empresa****Practica Nº03- 2009-1Se tiene la siguiente tabla de sueldos para cada uno de los cargos de la empresa MiEmpresita S.A.
Cargo Sueldo
Soporte 1100
Análisis 2800
Desarrollo 2400Práctica 750
Se sabe que si el trabajador posee grado de ingeniero, su sueldo se incrementa en un 4%, grado deMagíster le corresponde un incremento de 7%, y grado de Doctor se incrementa en 11%. Se cuenta con lasiguiente información:
Se pide calcular el sueldo con aumento correspondiente a los tres empleados mostrados en la figuraanterior.
Para ello se pide implementar en VBA lo siguiente:
a) Un subprograma CalculaAumento que teniendo como parámetros el grado del empleado devuelva elporcentaje de aumento correspondiente, si es un grado no válido el porcentaje a devolver debe ser cero.
b) Un subprograma Valido que verifique si el cargo del empleado es correcto. Los únicos cargos válidosson: Soporte, Análisis, Desarrollo y Práctica.
c) Un subprograma CalcularSueldo que teniendo como parámetros el cargo y el grado, calcule y devuelvael sueldo con aumento del empleado. Utilice los subprogramas anteriores.
d) Un subprograma principal PP que lea los datos de los empleados, calcule y muestre los sueldos con
aumentos tal como se muestra en la Hoja en Excel.
2.2.1. DefiniciónCalcular el monto del sueldo con aumento correspondiente a los tres empleados.
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
13/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
13
2.2.2. Implementación (Codificación)
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
14/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
14
3. Ejercicios propuestos:
1. Se desea determinar si un punto de coordenadas x e y se encuentra dentro de un círculo de radio r concentro en el origen, o fuera de él.
.P (x2,y2).Q(x1,y1)
Para ello se pide implementar en VBA lo siguiente:
a. Un subprograma leer que permita leer el punto P, cuyas coordenadas son X, Y, y el radio del círculo, delas celdas A1, A2 y A3, respectivamente.
b. Un subprograma Encuentra que permita determinar si el punto X,Y se encuentra o no se encuentradentro del círculo, teniendo como parámetros X ,Y y el radio del círculo.
c. Un subprograma principal que haciendo uso de los subprogramas anteriores, según sea el caso haga:
• Lea los datos.• Determine si el punto X, Y se encuentra dentro del círculo.
Si el punto se encuentra dentro del círculo, envíe el mensaje: “El punto P se encuentra dentro delcirculo de radio r”. Y si el punto no se encuentra dentro del círculo envíe el mensaje: “El punto P nose encuentra dentro del circulo de radio r”. El mensaje se muestra en la celda D1.Asigne este subprograma principal a un botón: Verifique punto.
2. Dado un valor de x, calcular el valor de y=f(x) según la siguiente función:
Para ello se pide implementar en VBA lo siguiente:
a. Un subprograma leer que permita leer el valor de x desde la celda F1.b. Un subprograma calculary que permita calcular el valor de y, según las condiciones de la función, y
recibirá como parámetro el valor de x. Nota: analice todos los rangos de x.c. Un subprograma principal que haciendo uso de los subprogramas anteriores, según sea el caso haga:
• lea los datos.• Halle el valor de Y.• Muestre el resultado en la celda D2.
3. Se tiene una diana (“bull”) para el juego de dardos, formada por 5 zonas delimitadas por circunferenciasconcéntricas de radio 2, como se observa en la figura. Cada punto Px, está conformado por (x, y).
Además se cuenta con la siguiente información en una hoja en Excel, tal como se muestra a continuación:
≤
8/18/2019 INF117 - Material de Laboratorio - Sesion 05 - 20122
15/15
INF117 – Introducción a la computación Quinta Sesión de Laboratorio - Desarrollo de Programas III
15
x
y
r a d i o
2 4 6 8 10
P1
P4
P2
P3
Además se cuenta con la tabla con la zona y puntaje y la hoja en Excel:
Ejemplos: Observe el gráfico y la tabla mostrados anteriormente El punto P1 está en la zona 1, circunferencia de radio 2, entonces el puntaje será 50 puntos. El punto P2 está en la zona 3, limitada por la circunferencia de radio 4 y 6, entonces el puntaje será 30 puntos. El punto P3 está en el límite de la zona 4 y 5 (se considera la menor zona, la zona 4), entonces el puntaje será
20 puntos.
El punto P4 está fuera de la diana, entonces el puntaje será 0 (cero) puntos.
Para ello se pide implementar en VBA lo siguiente:
a. Un subprograma LeeDato, que reciba como parámetro el punto dado.b. Un subprograma Informe, que reciba como parámetros las coordenada de un punto (x, y), y que valide los
datos recibidos y nos devuelva el mensaje correspondiente, según los siguientes criterios:Si x e y son números positivos, nos devuelva “las coordenadas ingresadas pertenecen al primercuadrante”.Si x e y son números negativos, nos devuelva “las coordenadas ingresadas pertenecen al tercercuadrante”.Si x es un número positivo e y es un número negativo, nos devuelva “las coordenadas ingresadaspertenecen al cuarto cuadrante”.
Si y es un número positivo y x es un número negativo, nos devuelva “las coordenadas ingresadaspertenecen al segundo cuadrante”.
c. Un subprograma CalculePuntaje que reciba como parámetro el punto dado y devuelva el puntaje obtenidode acuerdo a la tabla anterior.
d. Un subprograma principal que haga lo siguiente:
o Usando el subprograma LeerDatos, obtenga los datos del punto dado.o Usando el subprograma Informe, obtenga el mensaje correspondiente.o Usando el subprograma CalculePuntaje, obtenga el puntaje según el punto ingresado.o Muestre el puntaje y el mensaje correspondiente en las celdas E6 y E7, respectivamente.
4. Bibliografía
- Marcela Genero Bocco. Excel con Visual Basic Para Aplicaciones (VBA).Noviembre 2002.- CAIRÓ, Osvaldo. Metodología de la programación. 2a edición. México: Alfaomega, 2003.- Excel VBA Programming for Dummies. John Walkenbach – Wiley Publishing, Inc. (2004).- Sitio web de Microsoft Office Online: http://office.microsoft.com (2010)
5. Fecha de Actualización:
05/11/2012