lo mejor de minas
2010-2011
Laboratorio 4
Sentencias condicionales (2)
Objetivos:
Diseñar diagramas de flujo de programas con sentencias condicionales
Codificar programas VB con sentencias condicionales (If, If-Else, If-ElseIf-Else).
Programa de resolución de ecuaciones de primero y segundo grado
Interfaz
Figura 4.1 Controles de la calculadora de ecuaciones.Funcionamiento
1.
2.
3.
4.
Al lanzar el programa los controles del resultado (en azul) estarán invisibles
Al hacer clic sobre el botón Calcular, se debe:
Recoger el valor de los coeficientes a, b y c de la ecuación
Calcular las raíces
Bloquear los campos para evitar que se modifiquen los valores y se pierda la
coherencia
Al hacer clic sobre el botón Borrar se debe borrar el contenido de lascajas de texto
volviendo todos los objetos al estado inicial
Al hacer clic sobre el botón Salir, el programa finalizará.
Estudio de casos
La resolución de una ecuación de segundo grado dados sus tres coeficientes podemos
distinguir cuatro casos: que sea una ecuación imposible o trivial (si a=0 y b=0), de primer grado
(si a=0 y b≠0), de segundo grado (si a≠0 y b≠0) con soluciones reales (si eldiscriminante
d = b 2 − 4ac es positivo o nulo) o con soluciones imaginarias (si el discriminante es negativo).
Estos casos se resumen en la Tabla 4.1.
Fundamentos de Informática 2010-2011
Fórmula general
r=
− b ± b 2 − 4ac
2a
Caso particular:
1er grado
Lab 4
2º grado reales
2º grado imaginarias
−c
b
a=0
− b + b 2 − 4ac
2a
r1 =
−b
+
2a
4ac − b 2i
2a
r2 =
r=
r1 =
− b − b 2 − 4ac
2a
r2 =
−b
−
2a
4ac − b 2
i
2a
d = b 2 − 4ac ≥ 0
d = b 2 − 4ac < 0
Tabla 4.1 Estudio de casos.
Diagrama de flujo
Figura 4.2 Diagrama de flujo.
2 de 9
Fundamentos de Informática 2010-2011
Lab 4
Pasos a seguir
1) Crearemos los controles del tipo y forma mostrados en la Figura 4.1. Sólo daremos un
nombreparticular a aquéllos que nos interesa leer o modificar sus propiedades en algún
momento del programa. En la Figura 4.3 se muestran en rojo los nombres de estos
objetos.
Figura 4.3 Nombres de los controles de la calculadora de ecuaciones.
2) Pondremos a False la propiedad Visible de los objetos de la solución, a saber,
lblSol1, txtSol1, lblSol2 y txtSol2. De esta manera, al ejecutar el programase
visualizará una ventana como la que se muestra en la Figura 4.4.
Figura 4.4 Ventana nada más ejecutar el programa.
3) Código del botón Calcular: se controlará la validez de los coeficientes (han de ser
numéricos) y en función de los valores introducidos por el usuario, se determina el tipo de
ecuación y se calcularán los resultados. Veamos el código paso a paso.
i) Declararemos lasvariables para los coeficientes a, b y c como Double (reales), así
como el resto de las variables especificadas en el algoritmo. Luego controlaremos
que sean numéricas mediante la función IsNumeric y si es así leeremos su valor a
sus variables correspondientes mediante la instrucción CDbl. El código
correspondiente puede verse en la Figura 4.5.
3 de 9
Fundamentos de Informática 2010-2011Lab 4
Sub cmdCalcular_Click()
Dim a As Double, b As Double, c As Double
Dim d As Double, d1 As Double ' Discriminante y su raíz cuadrada
Dim r1 As Double, r2 As Double
' Obtener los valores de los coeficientes
If IsNumeric(txtA.Text) And _
IsNumeric(txtB.Text) And _
IsNumeric(txtC.Text) Then
' Los valores son numéricos
a = CDbl (txtA.Text)
b = CDbl (txtB.Text)
c = CDbl (txtC.Text)' Bloquear coeficientes
txtA.Enabled = False
txtB.Enabled = False
txtC.Enabled = False
... (1)
Else
MsgBox ("Error: Coeficientes no numéricos")
End If
End Sub ' Fin de cmdCalcular_Click
Figura 4.5 Código del botón Calcula (simplificado).
ii) Tras leer el valor de las variables, siguiendo el algoritmo, determinaremos si se trata
de una ecuación de segundo grado, de primer grado o si...
Regístrate para leer el documento completo.