Ecuaciones Visual Basic

Solo disponible en BuenasTareas
  • Páginas : 8 (1969 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de abril de 2012
Leer documento completo
Vista previa del texto
Fundamentos de Informática
2011-2012 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.

Funcionamiento1. 2. 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 las cajas de texto volviendotodos los objetos al estado inicial Al hacer clic sobre el botón Salir, el programa finalizará.

3. 4.

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 el discriminante d = b2 − 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 2011-2012

Lab 4

Fórmula general
− b ± b 2 − 4ac 2a

1er grado
r= −c b

2º grado reales
r1 = r2 = − b + b 2 − 4ac 2a − b − b 2 − 4ac 2a

2º grado imaginarias
r1 = r2 = −b + 2a −b − 2a 4ac − b 2 i 2a 4ac − b 2 i 2a

r=Caso particular:

a=0

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 2011-2012

Lab 4

Pasos a seguir
1) Crearemos los controles del tipo y forma mostrados en la Figura 4.1. Sólo daremos un nombre particular a aquéllos que nos interesa leer o modificar sus propiedadesen 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 programa se 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 las variables para los coeficientes a, b y c como Double (reales), así como elresto 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 2011-2012
Sub cmdCalcular_Click() Dim a As Double, b As Double, c As Double Dim d AsDouble, 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) ElseMsgBox ("Error: Coeficientes no numéricos") End If End Sub ' Fin de cmdCalcular_Click

Lab 4

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 no se trata de una ecuación. El código de las condicionales correspondientes se muestra en la Figura...
tracking img