Programa de resolución de ecuaciones de primero y segundo grado

Documentos relacionados
Programa de resolución de ecuaciones de primero y segundo grado

Programa completo de resolución de ecuaciones de 2º grado

Programa de saludo 2 (resuelto)

LABORATORIO 4. Escribir el CÓDIGO y la INTERFAZ GRÁFICA (cuando proceda) de los correspondientes casos prácticos.

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

Motivación. 4: Control de flujo Condicionales. Motivación. Condicionales

Fundamentos de Informática Examen 18 de Septiembre de 2006 Mecánica y Electricidad

Fundamentos de Programación

VISUAL BASIC BOTON DE ANTERIOR Private Sub cmdanterior_click() BOTON DE BORRAR Private Sub cmdborrar_click()

Repaso Visual Basic Interfaz Gráfica

Fundamentos de Informática Laboratorio 1 Primer programa Visual Basic

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Programación en Visual Basic Ricardo Rodríguez García

III. Generación de Código orientado a objetos

BLOQUE Se abrirá una pantalla donde puedes elegir el diseño de acuerdo con el tema a desarrollar o a la información que quieres dar a conocer.

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

FUNDAMENTOS DE INFORMÁTICA

Parte 4: Estructuras de Control

Práctica 6. Validación de Datos II. Mas Controles.

Centro de Bachillerato Tecnológico. Manual de prácticas. Visual Basic 6.0. Nivel Básico. Industrial y de servicios No. 231.

2. Estructuras condicionales

5. Subprogramas. 1.1 Análisis Coseno. 1. Cálculo de la función Coseno. cos( x) = ( 1) (2)! i

Ejercicios Tema /03/2009

Estructuras en LabVIEW.

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

5. Subprogramas Fundamentos de Informática

Tema: Estructuras de Selección en C#.

GUIA DE TRABAJO CON EL EDITOR DE VISUAL BASIC DE LA FICHA PROGRAMADOR

ax 2 + bx + c = 0, con a 0

VISUAL STUDIO.NET Y PUERTO SERIE

VISUAL BASIC Archivos en Visual Basic Proyectos Archivos

UNTELS Estructuras Selectivas (Sin anidar) Estructuras condicionales

FUNDAMENTOS DE INFORMÁTICA

PROGRAMACIÓN VISUAL CON GAMBAS

COLEGIO PABLO DE TARSO IED CONSTRUCCION DE PROYECTOS DE VIDA PRODUCTIVOS VISUAL BASIC PRÁCTICAS DOC RAUL MONROY PAMPLONA

Computación II. Introducción a Visual Basic

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

En esta sección se describen las variables, constantes, tipos de datos, operadores y estructuras de control

1.- Para cada uno de los siguientes problemas escribir el diagrama de flujo y el pseudocódigo de un programa que lo resuelva:

Editor de código Visual Basic. Lista de miembros automática, sugerencias de sintaxis, autocompletado y otras opciones. (CU00313A)

EJERCICIOS PHP II FORMULARIOS

Creación De Scripts Ejecutables

QUÉ ES UNA TABLA DINÁMICA?

Manual de Visual Basic Principiante Autor: Jorge Alvarez

Tema 2. Algoritmos y Programas. Informática Grado en Física

Taller de Videojuegos. Pedro J. Camacho

Introducción. Tema 1. Fundamentos de informática. Universidad de Oviedo. Fundamentos de Informática. Departamento de Informática Universidad de Oviedo

Repetición Condicional

TALLER # 6 ACCESS FORMULARIOS

07 Variables. 7.1 Variables globales Definición

EL ENTORNO DEL EDITOR

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

Programa de demostración del uso de funciones

Sentencias DO-WHILE EN C++

BOLETÍN 5: Algoritmos II

Practica 10. Ordenamiento y Búsqueda.

BLOQUE Qué productos no encuentra en las tiendas de la localidad? 4. A partir de qué horario le gustaría encontrar abierta una tienda?

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

En esta lección vamos a ver más utilidades y opciones sobre la

Iniciándose en Visual Basic.NET con Visual Studio

Programación con Visual Basic 6

Curso de Visual Basic Lección 1 Area Interactiva -

PRACTICA Nº 8. String String String String String

Resolver triángulos en Visual Basic. Parte 3/3

Programación en Gambas

Visual Basic y.net Do Loop, Exit Do, Exit For y GoTo. Ejemplos y ejercicios resueltos. (CU00337A)

1. Del más interno al más externo y de izquierda a derecha. Exponentes o. 2. De izquierda a derecha, tienen la misma raíces

1. Introducción a la programación

Profesora: Sandra Corti

Utilizar los elementos básicos de la programación de interfaces gráficas de usuario para el diseño y desarrollo de programas de aplicación.

Práctica 6 Operaciones aritméticas, lógicas y relacionales

Para aplicar un color de trazo a una forma, puede seguir cualquiera de los procedimientos siguientes:

TRABAJAR CON HOJAS EXTENSAS - PROTECCIÓN DE DATOS

FACULTAD DE INGENIERÍA

La cinta de opciones se ha diseñado para ayudarle a encontrar fácilmente los comandos necesarios para completar una tarea.

Práctica 2. Controles Básicos.

Capas, atributos y acotación

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 3: Elementos esenciales del formulario

MANUAL DE MACROS EXCEL 2010

Dell Canvas Palettes. User's Guide

PROGRAMACIÓN CON VBA: MACROS EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

VB - Access Manual Visual Basic para Aplicaciones del Access 2000

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 4

TEST. 2 En el PC de prácticas. Puede haber varios procesos en el mismo instante de tiempo?

APRENDE A REALIZAR UNA MACRO

También puede ser usado para inicializar valores que se usarán como contenidos iniciales en búsquedas.

Examen de Programación II (Ingeniería Informática)

TEMA: 5 ÁLGEBRA 3º ESO

LÓGICA - DECISIONES. Hay dos tipos de expresiones lógicas: las expresiones lógicas relacionales y las expresiones lógicas combinacionales.

Programa de saludo 2 (resuelto)

Nombre y Apellidos: Especialidad y Grupo:

Puedes añadir nuevos programas desde un disco o una unidad de CD-ROM, por ejemplo, un juego o el nuevo programa de contabilidad.

Como veremos a continuación, llegaremos a desarrollar diferentes montajes de video a través de 3 tareas básicas:

ACTIVIDADES BASE DE DATOS ACCESS 2007

Matemáticas con Wiris Pág 1

Estructuras de Control

La manera más sencilla de agregar texto a una diapositiva es escribirlo directamente en cualquier marcador de posición definido para tal fin.

CUADRO DE CONTROL CONTROLES ACTIVEX

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Transcripción:

Objetivos: Adquirir habilidades en el uso de sentencias condicionales (if, select case). Introducción a los subprogramas Identificar las propiedades de los objetos gráficos: alineamiento, fuentes, visibilidad, Cambiar dinámicamente el valor de las propiedades gráficas de los objetos Copiado y pegado de código 4. Al hacer clic en el botón Salir, el programa finalizará. Para ello usaremos la función End. Algoritmos: Botón Calcular Leer: a, b, c a, b, c: dobles d, d1: dobles raiz1, raiz: dobles Programa de resolución de ecuaciones de primero y segundo grado Coeficientes correctos Escribir error: coeficientes numéricos Resolver ecuación y mostrar resultado Fin Resolver ecuación y mostrar resultado a <> 0 b <> 0 Calcular discriminante d Figura 1: Objetos presentes en la interfaz de la calculadora de ecuaciones Escribir: No es una ecuación Calcular ecuación lineal d >= 0 1. Al lanzar el programa los objetos del resultado (en azul) estarán invisibles. Al hacer clic en el botón Calcular, se debe: Recoger el valor de los coeficientes a, b y c de la ecuación Calcular las raíces, pudiendo ser (si es a 0 y b 0): i. De primer grado (ecuación lineal, si a = 0) ii. De segundo grado, pudiendo ser real, cuando el discriminante sea positivo o nulo, o imaginaria (números complejos), cuando el discriminante es negativo. Bloquear los campos para que se modifiquen los valores y se pierda la coherencia 3. Al hacer clic en el botón Borrar se debe borrar el contenido de las cajas de texto volviendo todos los objetos al estado inicial Fin Calcular y mostrar raíces imaginarias Calcular y mostrar raíces reales Fórmula general 1 er grado º grado reales º grado imaginarias b ± b 4ac c r = r = b Caso particular: = 0 b + b 4ac b 4ac b r1 = r1 = + i b b 4ac b 4ac b r = r = i a b 4ac 0 b 4ac < 0 1 de 1 de 1

Pasos a seguir: 1. Crearemos los objetos del tipo y forma mostrados en la Figura 1. Sólo daremos un mbre particular a aquéllos que s interesa leer o modificar sus propiedades en algún momento del programa. En la Figura se muestran en rojo los mbres de estos objetos. visibles de manera selectiva algus de ellos, e incluso cambiaremos las etiquetas según convenga: Private Sub ponersolucioninvisible() lblsol1.visible = False lblsol.visible = False txtsol1.visible = False txtsol.visible = False lblmas1.visible = False lblmas.visible = False txtima1.visible = False txtima.visible = False lblima1.visible = False lblima.visible = False 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. Figura : Nombres de los objetos en la interfaz de la calculadora de ecuaciones. Añadir el código a los eventos, es decir, la carga del formulario y el clic sobre los botones: Código de carga del formulario: para especificar el código de carga del formulario haremos clic dos veces sobre el formulario. Lo que conviene hacer es inhabilitar las cajas de texto de la solución (de una vez por todas) y poner todos los objetos asociados a la solución invisibles (que haremos visibles cuando sea preciso): Private Sub Form_Load() ponersolucioninvisible txtsol1.enabled = False txtsol.enabled = False txtima1.enabled = False txtima.enabled = False Se observa que hemos escrito ponersolucioninvisible, que es un subprograma que escribiremos inmediatamente a continuación. Lo que tendremos que hacer es especificar u a u que los objetos relacionados con la solución van a estar invisibles. Luego, dependiendo del tipo de solución, haremos Primero declararemos las variables para los coeficientes a, b y c como Doubles (reales), a como otras especificadas en el algoritmo. Luego controlaremos que sean numéricas y si es a leeremos su valor a sus variables correspondientes. Private Sub cmdcalcular_click() Dim a As Double Dim b As Double Dim c As Double Dim d As Double ' Discriminante Dim d1 As Double ' Raíz cuadrada del discriminante Dim raiz1 As Single Dim raiz As Single ' 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 = Val(txtA.Text) b = Val(txtB.Text) c = Val(txtC.Text) If (a <> 0) Then ' Ecuación de segundo grado Aquí irá el código adicional, que veremos a continuación MsgBox ("Error: Coeficientes numéricos") End If ' Fin de cmdcalcular_click 3 de 1 4 de 1

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 se trata de una ecuación. Habrá que tener cuidado con la indentación (sangrado) ya que afecta de manera importante a la legibilidad: If (a <> 0) Then ' Ecuación de segundo grado Aquí irá el código adicional, que veremos a continuación If b <> 0 Then ' Ecuación de primer grado Aquí irá el código adicional, que veremos a continuación MsgBox ("Error: No es una ecuación") End If MsgBox ("Error: Coeficientes numéricos") Para las ecuaciones de segundo grado (coeficiente a 0) calcularemos el discriminante (variable d). Si éste es nulo tendremos dos raíces reales idénticas, si es positivo tendremos dos raíces reales y si es negativo tendremos dos raíces imaginarias. Tendremos dos modos distintos de visualización que se traducirán en los subprogramas ponerecuacionrealsegundogrado, para visualizar solamente los campos de la solución real, y ponerecuacionimagsegundogrado, para visualizar también la parte imaginaria de las raíces complejas. ' Ecuación de segundo grado d = b ^ - 4 * a * c ' Cálculo del discriminante If d >= 0 Then ' Soluciones reales d1 = Sqr(d) txtsol1.text = (-b + d1) / ( * a) txtsol.text = (-b - d1) / ( * a) ponerecuacionrealsegundogrado ' Soluciones imaginarias d1 = Sqr(-d) txtsol1.text = -b / ( * a) txtsol.text = -b / ( * a) txtima1.text = d1 / ( * a) txtima.text = -d1 / ( * a) ponerecuacionimagsegundogrado End If If b <> 0 Then El código asociado al subprograma ponerecuacionrealsegundogrado se encarga de hacer visibles los objetos necesarios para mostrar la solución de las raíces reales, y es el siguiente: Private Sub ponerecuacionrealsegundogrado() bloquearabc lblsol1.caption = "Raíz 1:" lblsol1.visible = True txtsol1.visible = True lblsol.caption = "Raíz :" lblsol.visible = True txtsol.visible = True Siempre que vayamos a mostrar la solución a una ecuación vamos a bloquear los objetos de entrada de los coeficientes de la ecuación, ya que si permitimos modificarlos serán consistentes con las soluciones mostradas. Este bloqueo lo haremos con el subprograma bloquearabc. El código para esto será: Private Sub bloquearabc() txta.enabled = False txtb.enabled = False txtc.enabled = False Cuando se trata de una ecuación de segundo grado con soluciones imaginarias tendremos que hacer visibles los mismos objetos que los de la solución anterior, lo cual haremos mediante un nuevo subprograma al que llamaremos ponerecuacionimagsegundogrado y luego llamaremos al subprograma anterior ponerecuacionrealsegundogrado, además de visualizar los objetos correspondientes a la parte imaginaria: Private Sub ponerecuacionimagsegundogrado() ponerecuacionrealsegundogrado lblmas1.visible = True lblmas.visible = True txtima1.visible = True txtima.visible = True lblima1.visible = True lblima.visible = True Finalmente, cuando el coeficiente a es nulo s encontramos ante una ecuación lineal, que sólo tendrá una raíz. Con esto finalizaremos el código asociado al botón Calcular y añadiremos un subprograma para visualizar una única raíz: 5 de 1 6 de 1

If b <> 0 Then ' Ecuación de primer grado txtsol1.text = -c / b ponerecuacionprimergrado MsgBox ("Error: No es una ecuación") Programa rodillo El código del subprograma ponerecuacionprimergrado es más sencillo que los anteriores: Private Sub ponerecuacionprimergrado() bloquearabc lblsol1.caption = "Raíz:" lblsol1.visible = True txtsol1.visible = True Código del botón Borrar: antes hemos creado un subprograma para borrar todos los objetos de la solución al cargar el formulario llamada ponersolucioninvisible. Además de eso hemos de desbloquear los campos de los coeficientes a, b y c, poniéndolos vacíos: Private Sub cmdborrar_click() ponersolucioninvisible desbloquearabc El subprograma para desbloquear los coeficientes es fácilmente adivinable: Private Sub desbloquearabc() txta.enabled = True txtb.enabled = True txtc.enabled = True txta.text = "" txtb.text = "" txtc.text = "" Código del botón Salir. Al igual que en ejemplos anteriores, terminaremos la ejecución del programa mediante la orden End: Private Sub cmdsalir_click() End Nota: Crea un nuevo proyecto por cada ejercicio que resuelvas Figura 3: Objetos presentes en la interfaz del rodillo El programa contiene 5 cuadros de texto editables (propiedad Enabled a False). El primero de ellos contiene el texto Éste es el texto que se desplaza. Los botones de la ventana permiten desplazar el texto. 1. Botón Desplazar: El texto se desplaza a la siguiente posición de modo circular. Si el texto se encuentra en la última posición, éste pasa a la primera.. Botón Saltar 1: El texto se desplaza de manera circular dejando un hueco entre la posición que ocupaba y la nueva posición. Cuando llega al final vuelve a desplazar por arriba. 3. Botón Mover al principio: Coloca el texto en la primera casilla. 4. Botón Mover al final: Coloca el texto en la última casilla. Recomendaciones: Utiliza las sentencias condicionales para determinar en qué casilla se encuentra el texto y a decidir la nueva ubicación de éste, según el botón. Copia el texto de la casilla origen a la casilla desti y luego pon la casilla origen a cadena vacía. 7 de 1 8 de 1

Programa calculadora Programa de cálculo de áreas Interfaces: Figura 4: Interfaz del segundo modelo de calculadora Esta aplicación permite calcular los resultados de las operaciones suma (+), resta ( ), multiplicación (*), cociente de la división entera (/) y el resto de la división entera (\). Nótese que en Visual Basic el cociente de la división entera se representa mediante la barra invertida (\) y el resto de la división entera mediante la palabra reservada mod. Se controlará que los valores introducidos en las cajas de texto son correctos (numéricos) a como que se intente dividir por cero. También se controlará que el operador sea u de los cinco especificados: +,, *, / o \. El cuadro de texto donde se presentan los resultados es editable. Los botones del programa actuarán como sigue: Botón Calcular: Realiza la operación. Botón Borrar: Limpia el contenido de las cajas de texto. Botón Salir: Finaliza la ejecución del programa. Figura 5: Colección de interfaces del programa de cálculo de área 9 de 1 10 de 1

Esta aplicación permite calcular el área de un rectángulo, un círculo o un triángulo. En cada u de los casos pedirá los datos necesarios ocultando para ello los objetos que sean necesarios y modificando las etiquetas en caso de que sea necesario. El cuadro de texto donde se presentan los resultados es editable. Nota: Como en el ejercicio anterior controla que los valores introducidos en las cajas de texto son correctos (son numéricos). Los botones del programa actuarán como sigue: Botón Selecciona elemento: lanza un MsgBox proponiendo los elementos a calcular el área. Para poder partir en líneas concatenaremos vbcrlf a la cadena como fin de línea. Visualiza los elementos apropiados con las etiquetas pertinentes, ocultando los objetos que sean adecuados. Botón Calcular: Realiza la operación. Botón Salir: Finaliza la ejecución del programa. Programa de cálculo de la fecha siguiente Figura 6: Interfaz del programa de cálculo de fechas El programa trabaja con fechas (probar ejecutable). 1. Botón +: Controla que la fecha introducida es correcta (años positivos de cuatro dígitos) y calcula la fecha del día siguiente, escribiéndola en los cuadros de texto correspondientes.. Botón Borrar: Elimina el contenido de las cajas de texto. 3. Botón Salir: Sale del programa. Controles: Referencia rápida Sintaxis If Condición Then Instr1 [ Instr ] If Condición 1 Then Lista sentencias 1 If Condición Then Lista sentencias Lista sentencias n End Select Case Expresión Case Opción 1 Lista sentencias 1 Case Opción Lista sentencias Case Opción n Lista sentencias n Case Lista sentencias n+1 End Select Ejemplo Select Case X+ Case 0 Case Is >0 Case "A", "a" Case 0 To 10 Case End Select Contenido del campo día, mes y año numéricos Día correcto: mayor o igual que 1 y mer o igual que 31 Mes correcto: mayor o igual que 1 y mer o igual que 1 Año correcto: mayor o igual que 1000 y mer o igual que 9999 Fecha correcta: hay día 31 en febrero, abril, junio, septiembre o viembre Fecha correcta: hay 30 de febrero Fecha correcta: hay 9 de febrero los años que son bisiestos 1 Recomendación: Nótese que al incrementar el día podemos llegar a una fecha incorrecta, en cuyo caso habrá que pasar al primer día del mes siguiente y posiblemente al primer día del año siguiente. Esta verificación será similar a la del control de corrección de la fecha. 11 de 1 1 Son bisiestos los años divisibles por 4 que lo son por 100 salvo los que son divisibles por 400. Por ejemplo, 1996, 000 y 004 fueron bisiestos, pero lo serán el 100, 00 y 300, y 400. A ver quiénes lo contamos. 1 de 1