Lógica+de+Programación

__//** Introducción a la **//____ //** Lógica de **// ____ //** Programación **// __ Secuencia Simple IFTHENELSE DOWHILE LOOP MS Visual Basic MS Visual Basic Vocabulario I MS Visual Basic Vocabulario II MS Visual Basic Vocabulario III

//** Parte I. **// Las computadoras se utilizan para resolver problemas. Para que las computadoras pueden resolver problemas primero hay que darle las instrucciones de como resolver el problema. Primero vamos a definir que es lógica, algoritmo y programación.

**Lógica** - es la ciencia que expone las leyes, modos y forma de razonamiento humano.
**Algoritmo** - conjunto ordenado y finito de operaciones que permite hallar la solución de un problema (definiciones tomadas de www.wordreference.com). Un algoritmo contiene las siguientes característica: **Programación** - es el proceso de escribir códigos utilizando una herramienta que te permita compilar o interpretar el código.
 * **Precisión** - los pasos se inician con precisión
 * **único**- los resultados intermedios de cada paso de la ejecución son únicamente definidos y dependen sólo de la entrada y los resultados de los pasos anteriores
 * **Finito** - el algoritmo se detiene después de que haya sido ejecutado un número finito de instrucciones (tiene fin)
 * **Input (Entrada)** - el algoritmo recibe el input
 * **Output (Salida)** - el algoritmo produce un output
 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">**Generalidad** - el algoritmo se aplica a un conjunto de entradas (conocimientos básicos o fundamentales)

**Lenguajes de Programación Orientados a Objetos** - crea programas que contengan uno o más objetos.
 * Se clasifican en lenguajes de 5ta generación
 * Se basa en objetos
 * Textbox
 * Labels
 * Combobox
 * Radio buttons
 * Listbox

**Objetos** - representación detallada y concreta de algo que determina su identidad, estado y comportamiento particular en un momento dado.
 * Cada **objeto** tiene atributos y comportamiento
 * **Atributos** - características que describen un objeto
 * **Comportamiento** - operaciones (acciones) que el objeto puede ejecutar o se ejecutan en el
 * **Clase** - patrón para crear un objeto, contiene todos los atributos y comportamiento que describen el objeto.
 * **instancia** - objeto que se crea de una clase
 * **Encapsulación** - encerrar los atributos y comportamiento de un objeto en un paquete (clase)

<span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Derivados de las clase heredan las propiedades de la clase base **Sistema** - combinación de persona, equipo y procesos que trabajan juntos para ejecutar una función especifica.



**Sistema de información basado en computadora** - sistema en el cual algunos de los procedimientos son ejecutados por computadora




 * Ciclo de Vida del Desarrollo de un Sistema (SDLC System Development Life Cicle) **
 * 1) Analizar el sistema actual
 * 2) Definir los requerimientos del nuevo sistema
 * 3) Diseñar el nuevo sistema
 * 4) Desarrollar el nuevo sistema
 * 5) Implementar el nuevo sistema
 * 6) Evaluar el nuevo sistema

<span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">A menudo los programadores crean diagramas o imágenes llamados Flujogramas. Un flujograma representa gráficamente la lógica para desarrollar un algoritmo.


 * Símbolos para crear un flujograma **














 * Tablas de Verdad - es una tabla matemática utilizada en lógica **

<span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">//**Proposiciones**// - afirmación natural. Enunciado susceptible a ser cierto o falso. <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">//**Conectivos**// - **AND** (conjunción ^) **OR** (disyunción v) **NOT** (negación ¬) <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Las funciones nos dice cuando una proposición es falsa o verdadera






 * <span style="font-family: Arial,Helvetica,sans-serif; font-size: 18.2000007629395px;">Ejemplos ** :




 * 1) x == w - y AND y ≠ w - x
 * 2) x == w - y OR y ≠ w - x
 * 3) NOT(w == y + x) AND NOT(NOT(y < z))
 * 4) x ≥ y AND x ≤ w
 * 5) x ≥ y OR x ≤ w

x == w - y AND y ≠ w - x 2 == 7 - 5 AND 5 ≠ 7 - 2 2 == 2 AND 5 ≠ 5 T AND F F

x == w - y OR y ≠ w - x 2 == 7 - 5 OR 5 ≠ 7 - 2 2 == 2 OR 5 ≠ 5 T OR F T

NOT(w == y + x) AND NOT(NOT(y < z)) NOT(7 == 5 + 2) AND NOT(NOT(5 < 8)) NOT(7 == 7) AND NOT(NOT( T ) NOT( T ) AND NOT( F ) F AND T F

x ≥ y AND x ≤ w 2 ≥ 5 AND 2 ≤ 7 F AND T F

x ≥ y OR x ≤ w 2 ≥ 5 OR 2 ≤ 7 F OR T T

__//** Pseudocódigo **//__ Es un lenguaje informal que ayuda al programador desarrollar algoritmos sin tener que preocuparse de la sintaxis del lenguaje de programación.
 * // Parte II Pseudocódigo y Flujograma [[image:up.png width="29" height="26" link="Lógica de Programación#up"]] //**

**Programación Estructurada** - es la habilidad de expresar la solución a un problema utilizando solo tres patrones básicos de lógica. A estos patrones se le conoce como estructura de control. A continuación se discutirán los tres patrones: secuencia simple, IFTHENELSE, y DOWHILE.


 * Estructuras de Control **

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 140%; text-align: center;">


 * Secuencia Simple [[image:up.png width="33" height="31" link="Lógica de Programación#up"]] **

<span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">Es la estructura de control más simple de las tres. Todos los símbolos del flujograma están conectados con flechas. Las flecha indica el flujo de la data. A través de las flechas se hace fácil la lectura del flujograma. Los procesos están uno tras otro. <span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">Ejemplo:

**<span style="color: #fc0b1a; font-family: 'Times New Roman',Times,serif; font-size: 160%;">IFTHENELSE **

<span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">El if then else puede evaluar varias decisiones. Si tengo que asignarle letra a un promedio de un estudiante, utilizaría un if then else en el cual evaluará el promedio y dependiendo de las proposiciones elegirá la correcta. En el examen de computadora Kermo obtuvo 65% si quiero crear un programa que me asigne la letra dependiendo del promedio podría hacerlo con un if then else. **<span style="font-family: 'Times New Roman',Times,serif; font-size: 150%;">Sentencias **






 * 1) En la primera sentencia solo evalúas una condición. Si la proposición se cumple (cierta) se ejecutará las instrucciones para dicha proposición. Si la proposición es falsa no hace nada, o sea no tiene instrucciones que ejecutar.
 * 2) En la segunda sentencia evalúas si la condición o proposición es cierta, de ser cierta la proposición se ejecuta la instrucción para dicha proposición de ser falso (//else//) se ejecutará la instrucción que le siga. En esta tenemos dos alternativas la //**cierta**// si se cumple la proposición y la **//falsa//** cuando no se cumple la proposición. Al menos una de ellas se ejecuta. Dada una salida, puedo escoger entre el cine y un "fast food". Si no puedo ir al cine porque no hay cabida para //**x**// personas, voy a un restaurante de comidas rápida. Una de las proposiciones se cumple, sea cierto o falso.
 * 3) En la tercera sentencia puedo tener varias alternativas para evaluar. Puede que se cumpla una de ellas o ninguna, todo depende de lo que se este evaluando. Si se cumple una de ellas no evalúa más ninguna y salta hasta el //**endif**//.
 * 4) En la cuarta sentencia hay condiciones que requieren otra evaluación para evaluar la proposición. Si necesito hacer una encuesta para personas de 50 años o más y que tengan hijos mayores de 18 años, primero le pregunto si tiene 50 años o más y dentro de dicha proposición puedo tener otra preguntándole al usuario si tiene hijos mayores de 18 años. Para poder continuar con la encuesta deben cumplirse ambas proposiciones de lo contrario seguiría las instrucciones del **//else//**.

<span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Ejemplo 3 <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%; vertical-align: super;">ra <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> sentencia: <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Start <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Read Name, average  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">If average > 89.49% then  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> grade = 'A'  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">else if average > 79.49% then  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> grade = 'B'  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">else if average > 69.49% then  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> grade = 'C'  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">else if average > 59.49% then  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> grade = 'D'  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">else  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;"> grade = 'F'  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">endif  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Write Name, grade average  <span style="font-family: Arial,Helvetica,sans-serif; font-size: 140%;">Stop


 * DOWHILE LOOP [[image:up.png width="33" height="30" link="Lógica de Programación#up"]] **

El DOWHILE se ejecutará las veces que sea necesario. Si tengo que evaluar 5 estudiantes y convertir el promedio a nota, crearía un DOWHILE que evalué hasta que se cumpla la proposición.

Start DOWHILE Students < 5 Read Name, average If average > 89.49% then grade = 'A' else if average > 79.49% then grade = 'B' else if average > 69.49% then grade = 'C' else if average > 59.49% then grade = 'D' else grade = 'F' endif Write Name, grade, average Students = Students + 1 ENDDO Stop

PSEUDOCÓDIGO Un pseudocódigo consiste de oraciones en el idioma inglés que describen los procesos de un programa en forma de párrafo.

Start Read employee data Compute gross pay Compute deductions Compute net pay Write employee paycheck Stop



Secuencia Simple

Problema 2.1 Conversión de Temperatura Problema:

La maestra de Ciencias necesita un programa de computadora que acepte la temperatura en grados Fahrenheit como entrada, convierta el valor en grados Celsius, y provea ambos valores como salida.

Start

Read FAHRENHEIT

Compute Celsius

Write Fahrenheit, Celsius

Stop



Problema 2.2 Factura Problema: Una tienda por departamento necesita un programa para preparar una factura mensual para cada cliente. Asumimos que cada cliente compró (por lo menos) un tipo de artículo cada mes. Por cada compra, habrá cuatro valores de entrada (input): nombre del cliente, artículo, cantidad comprada y el precio. La salida (output) será la factura mensual del cliente después de 10% de descuento antes de los impuestos, y se le cobrara 5% de impuesto de venta.





Start Read Name, Item, Qty, Price Compute AMTOD Compute Discount Compute Subbill Compute Taxes Compute Bill Write Name, Item, Bill Stop



IFTHENELSE statements

Problema 2.3 Escribe un pseudocódigo y flujograma en el cual el usuario pueda seleccionar el tipo de conversión (Celsius to Fahrenheit/Fahrenheit to Celsius). Si el usuario desea convertir de grados Celsius a grados Fahrenheit escribirá "F" o "f" y Fahrenheit a Celsius "C' o "c". El programa debe proveer un menú que el usuario pueda hacer la selección. Luego de la selección el usuario debe entrar la temperatura. El programa hará la conversión y mostrara las dos temperaturas.





Problema 2.4 Escribe un pseudocódigo y flujograma para un programa que calcule el pago de un empleado, asumiendo que el nombre, número de seguro social, horas trabajadas y el pago por hora son entrada. El output será el nombre, número de seguro social y el pago. Pago Regular será calculado multiplicando las horas trabajadas (<=40) por el pago por hora, y el tiempo extra será calculado por tiempo y medio por todas las horas trabajadas sobre las 40.



Problema 2.5

Parte III. Flujogramas con Raptor Para bajar Raptor: http://raptor.martincarlisle.com/ Símbolos de Raptor

Estos dos símbolos se utilizan para comenzar y terminar el flujograma, siempre aparecerán cuando comienzas un flujograma nuevo. Debes grabar tu flujograma con frecuencia para evitar que pierdas el trabajo.



Este símbolo se utiliza para solicitarle al usuario que escriba (introduzca data) lo que se le pregunta. Ejemplo: Escriba su nombre. En este ejemplo se deben utilizar las comillas para encerrar el texto de lo contrario dará un error "Escriba su nombre". El primer textbox es el mensaje que quieres mostrar en la pantalla. El segundo textbox es el nombre de la variable que estarás utilizando para colectar el input del usuario.





Este símbolo se utiliza para mostrarle al usuario los resultados o la data procesada. Si deseas incluir variables debes invocarlas por su nombre. Para unir variables y texto utiliza el signo +. Ejemplo: quieres mostrar el promedio junto con el texto. promedio + "%".



Cuando vas a mostrar las variables junto con el texto debes escribir el nombre de la variable, utilizar el signo de + para unir las variables con el texto.

/* EXAMEN * El estudiante resolverá un problema utilizando un flujograma, debe saber identificar el input, output y los * procesos matemáticos * */

Probar y depurar el programa Existen dos tipos de errores en programación: Syntax errors y Logic error. Syntax error - ocurre cuando el programador no sigue las reglas del lenguaje que está utilizando. Logic error - ocurre cuando un paso en la lógica del programa está incorrecto.

Temperature Conversion Problem

La maestra de ciencias quiere un programa que pueda leer una temperatura en grados Fahrenheit como input y convierta la temperatura en grados Celsius. El programa debe mostrar ambas temperaturas.

Ejemplo: Entre la temperatura en grados Fahrenheit: 104 104 grados fahrenheit = 38 grados celsius Pseudocódigo Start Read temperature in fahrenheit compute celsius Write fahrenheit & celsius Stop

media type="file" key="temperature.mp4" width="601" height="446" align="center"

1. If Statement con una alternativa

If condition then Statement if condition is true end if Evalua si la condición es cierta, si no es cierta continua con el código

Ejemplo: Grade = 90 If Grade > 69 then Write Pass End If



En este ejemplo solamente evalúa si es mayor que 69 y continúa con el código

2. If Statement con dos alternativas If condition then Statement if condition is true else Statement if condition is false end if

Evalua si la condición es cierta, si no es cierta evalúa el else y luego continúa lo que queda de código Ejemplo: Grade = 90 if Grade > 69 then Write Pass Else Write No Pass End If




 * Práctica Examen II. Sentencias If [[image:up.png width="39" height="35" link="Lógica de Programación#up"]] **






 * <span style="color: #ed0f1d; font-family: 'Times New Roman',Times,serif; font-size: 160%;">Parte IV. Microsoft Visual Basic [[image:up.png width="36" height="28" link="Lógica de Programación#up"]] **

<span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">Microsoft Visual Basic es un conjunto de herramientas que te permite crear aplicaciones para el sistema operativo Windows y para el Internet. Provee una interfaz gráfica (GUI, graphical user interface). La interfaz gráfica te permite utilizar texto y gráficas para comunicarse con la computadora. Visual Basic provee un conjunto de objetos ya construidos que pueden ser colocados en la pantalla. Esto le permite al programador seleccionar los eventos en vez de estar escribiendo códigos que hagan dicho evento. <span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">Todas las aplicaciones escritas en Visual Basic son eventos conducidos (event-driven), las acciones de los usuarios ejecutan secciones específicas de código. media type="custom" key="28004975" align="center"


 * Vocabulario I **
 * **builds** - el proceso de convertir la línea de código en código de máquina y ensamblando todos los componentes necesarios para crear una aplicación
 * **class** - (clase) patrón utilizado para crear objetos, su definición determina las propiedades y funciones de un objeto creado por una clase.
 * **code** - las declaraciones de programación de un lenguaje
 * **controls** - objetos predefinidos usados para construir aplicaciones
 * **dialog box** - ventana temporera que aparece en una aplicación para transmitir o recoger información del usuario
 * **event-driven** - ejecución del código que depende de la acción inicial del usuario tal como un clic del ratón
 * **event procedure** - el código que se ejecuta cuando el usuario inicia el código con un evento
 * **events** - acción iniciada por el usuario en la computadora. Ej: movimiento del ratón, clic, arrastrar y dos clic
 * **file extension** - tres o más caracteres partes del nombre del archivo. La extensión usualmente indica el tipo de archivo
 * **form** - es la ventana de la aplicación en la cual el usuario interactúa. Puede tener botones, barras de desplazamiento, menús, cajas de lista y otras características comunes en los programas de Windows
 * **Graphical User Interface (GUI)** - Le permite al programador usar texto y gráficas para comunicarse con la computadora
 * **instantiation** - ocurrencia de un objeto. Una clase es una plantilla para la definición de un objeto
 * I**ntegrated Development Environment (IDE)** - son herramientas que se utilizan para crear aplicaciones para Windows y para el Web
 * **menus** - lista de comandos que aparecen cuando el usuario da un clic en el menú
 * **method** - procedimiento de evento, o cualquier código asociado con el objeto.
 * **objects** - son controles tal como formas, botones, gráficas, etc.
 * **properties** - describen la apariencia, posición y comportamiento del objeto
 * **solution** - la colección de proyectos que forman una aplicación
 * **ToolTip** - da una explicación corta de que hace el control


 * <span style="font-family: 'Times New Roman',Times,serif; font-size: 160%;">Visual Studio Integrated Development Environment (IDE) **






 * Selecciona "New Project" para comenzar un proyecto nuevo
 * Seleccionas "Other Language"
 * Visual Basic
 * En el panel del medio seleccionas "Windows Forms Application"
 * En la caja del nombre, le escribes el nombre de tu proyecto y le das "Ok"






 * **Solution Explorer** - muestra todas las formas y módulos utilizados en el proyecto o en el proyecto que hace la aplicación completa llamado "solución"
 * **Property Window** - describe la apariencia del objeto, posición y comportamiento. Muestra las características de la forma u objeto seleccionado. En esta pantalla la columna de la izquierda muestra el nombre de la propiedad asociada al objeto seleccionado y la columna de la derecha muestra el ajuste actual para esa propiedad.
 * **ToolBox** - contiene las herramientas que utilizaras para diseñar la forma incluida en tu aplicación.Las herramientas te permiten colocar objetos. Controles que puedes añadir a la forma: botones (buttons), etiquetas (labels), caja de listas (listbox)
 * **Nombre de los controles** - el nombre del control debe comenzar con un prefijo de 3 letras. El prefijo debe ayudar a identificar que clase de control se hace referencia.
 * Prefijos



Una variable es un almacenamiento temporero para la data utilizada en tu aplicación. Cada variable tiene su nombre y tipo de data. El tipo de data determina que tipo de valor representa. Una constante contiene un valor que no cambia, un ejemplo de una constante es PI = 3.14159.
 * Variables **

Una constante su valor permanece igual no cambia.
 * Constante **

Describe la vida de una variable e indica que parte del programa está consciente de cada variable o constante.
 * Amplitud de una variable y constante **

Mientras escribe una declaración una ventana emergente aparece con información acerca de la sintaxis de la declaración. El //IntelliSense// completará la palabra por ti o solo describirá la estructura de la declaración y los opciones disponibles para completar la declaración.
 * IntelliSense **



//**Boolean**// solo tiene dos posibles valores: True o False. //**Byte**// es un número pequeño y no tiene valores negativos. //**Char**// almacena un carácter ('A'), puede ser un número pero es evaluado como carácter (no se pueden hacer operaciones matemáticas con el). //**Date**// se utiliza para almacenar fecha y hora. //**Single**//, //**Decimal**// y //**Double**// son números con decimales, lo que cambia es el tamaño de almacenamiento. //**Integer,**// **Short** y //**Long**// almacenan números enteros, lo que cambia es el tamaño de almacenamiento. //**String**// puede almacenar un arreglo de caracteres y es bastante grande.

Antes de utilizar una variable o constante debes declararla. Al declarar una variable, estas reservando un espacio en la memoria par su valor. **EJEMPLO**: Dim nombre_de_la_variable [tipo de data] [= valor_inicial]
 * Declarando Variables **

Vamos a crear una aplicación en la cual el usuario pueda entrar las horas trabajadas y el salario por hora luego presione el botón de calcular y le de el salario bruto (gross payment) al usuario. Luego cuando trabajemos con los listbox podemos incluir el salario net (net payment) y todas las deducciones (más interesante). Para este tendremos 3 labels (pueden ser 4, pero en este caso mostraré el pago en un textbox). Colocamos 3 textbox, 2 botones y la forma que si no tenemos forma no tenemos donde colocar los objetos.
 * Práctica I. Payroll Program **

El //textbox// que estamos utilizando para mostrar el pago le estamos modificando otras propiedades como //Enable// y //Read// //Only// que no permiten que el usuario entre data, la data será entrada a través de código en el botón de **//Calculate//**.

Para escribir el código en el botón de **//Calculate//** le damos dos clic corridos y aparecerá la pantalla donde esta el código. El //**event** **procedure**// (método) se queda igual porque queremos que calcule el pago cuando el usuario le de un clic al botón. Hay diferentes **event procedure** dependiendo lo que queramos hacer. Si quiero que funcione cuando el usuario le de dos clic al botón, tendría que cambiar el **event procedure**.



Ahora ya en el evento del botón de //Calculate// y el método de //Click//, declaro las variable que voy a utilizar y le asigno 0 como su valor inicial.





Vamos a crear una aplicación en la cual el usuario pueda seleccionar la unidad fuente y a la cual quiere convertir. La aplicación tendrá 2 botones, uno para convertir y el otro para limpiar la forma. Para que el usuario entre la temperatura colocamos un Textbox. Utilizamos 2 Combobox para que el usuario pueda seleccionar las unidades de temperatura. Tendremos un label con el texto "to" solo para mostrarle al usuario a que unidad quiere cambiar. Además tendremos otro label que es donde vamos a mostrar el cambio de temperatura.
 * Práctica II. Temperature Conversion **





Cuando el usuario presione el botón de "//Reset//", el //textbox// y el //label// quedan vacíos (" "). El texto de los dos //combobox// cambia a "//Select Unit//"
 * Código para el botón de Reset **




 * Código para el botón de Convert **

Éste código no permite que el usuario entre letras, solo permite entrar números con decimales y el signo de resta (-) Para escribirlo tienes que darle dos clic al //textbox// y luego cambias el método a //KeyPress// para que el código corra cuando el usuario trate de escribir dentro de el.
 * Código para el textbox **





media type="custom" key="28024983" align="center"


 * Vocabulario II **
 * **Accelerator Key** - Atajo (shortcut) usado por la aplicación para ejecutar un bloque de código. Ej. botón de Reset - &Reset
 * **Assignment Statement** - Expresión que le asigna el valor de una expresión a la derecha del signo de es igual (=) al obmeto o variable a la izquierda del signo de es igual (=).
 * **Boundary Conditions** - Los extremos de datos válidos entrados en una aplicación, donde los datos cambian de un estado a otro.
 * **CInt function** - convierte un arreglo de caracteres a un entero. Si los caracteres no representan un entero, se generará un error.
 * **Class Level** - Tomando en cuenta al alcance de una variable, las clases son como módulos. Una variable declarada al nivel de la clase está disponible a todos los métodos de la clase.
 * **Concatenation Operator** - Es la unión de dos cadenas juntas de extremo a extremo. El símbolo utilizado es el "ampersand" &
 * **Condition** - Expresión que puede ser cierta o falsa que es utilizada en una declaración If que determina el flujo del programa
 * **Constant** - Representa un valor que no puede ser cambiado con un "Assignment Statement"
 * **Data Type** - Formato predefinido para valores almacenados en la memoria de la computadora. Incluye "Integer" para números enteros, "Decimal" para números expresados con puntos decimales, y String (entre otros)
 * **Dialog box** - Una ventana temporera que aparece en una aplicación para transmitir o recoger información del usuario.
 * **End Statement** - Declaración de un programa que termina la ejecución del código
 * **File Filter** - Usado por el "File dialog boxes" para seleccionar el tipo de archivo para mostrarle al usuario.
 * **If Statement** - Método primario para afectar el flujo de un programa.
 * **InputBox function** - Cuando se ejecuta, esta función muestra una caja de dialogo en la pantalla y le indica al usuario que entre data
 * **IntelliSense** - Comentario automático que aparece describiendo la sintaxis de la declaración mientras se entra la declaración.
 * **InterCap** - Proceso de nombrar una variable, comenzando con un prefijo indicando el tipo de data de la variable, seguida por una o más palabras descriptivas comenzando un letra mayúscula. Ej strUnit.
 * **Keywords** - Palabras que tienen significado especial en los lenguajes de programación
 * **Loads** - Cuando la descripción y el código de una forma se mueve del disco a la memoria de la computadora
 * **Pixels** - La parte moderada más pequeña de una pantalla que representa la información a todo color.
 * **Program flow** - Orden en la cual las declaraciones se ejecutan.
 * **Relational operators** - Compara dos expresiones y devuelve cierto o falso.
 * **Run time error** - Error que ocurre mientras el programa está en ejecución
 * **Scope** - Visibilidad y vida de una variable
 * **Strings** - Variable que consiste de caracteres alfanuméricos
 * **Syntax** - Reglas para construir las declaraciones del programa
 * **TabIndex property** - Determina el orden en el cual botones o cajas de texto son visitados al presionar la tecla de tab cuando se corre a la aplicación.
 * **Unicode** - Código numérico que representa cada carácter como un valor. "A" es 65 y "a" es 97.
 * **Variable** -Representa un valor almacenado en la memoria de la computadora que tiene data describiendo el tipo de información.


 * Vocabulario III **
 * **Access Keys** - le permite al usuario abrir un menú y luego acceder un comando del menú. Esto es posible presionando la combinación de Alt + letra.
 * **Cascade** - formas secundarias que se muestran separadas, ventanas superpuestas.
 * **Definite loop** - declaración que ejecuta un grupo de declaraciones un número de veces. El punto de comienzo y final son conocidos antes de que comience la repetición.
 * **Indefinite loop** - grupo de declaraciones cuya repetición es determinada por una condición dentro del cuerpo de la repetición. El punto de comienzo y final puede que no se conozcan.
 * **Loop** - cualquier declaración que repite la ejecución de un grupo de declaraciones.
 * **MainMenuTool** - Te permite crear nuevos menús y editar los ya existentes.
 * **Multiple document interface (MDI)** - Te permite crear una aplicación que tiene varias formas, llamadas formas secundarias, contenidas dentro de la forma principal, conocida como la forma madre o contenedor.
 * **Separator bars** - linea horizontal usada en el menú para separar comandos de menú en un grupo lógico.
 * **Shortcut key** - corre un comando de menú inmediatamente después de la combinación de teclas es presionada; ejemplo Ctrl + C comando de Copiar.
 * **Tile** - para mostrar más de una forma secundaria en pantallas separadas alineadas esquina con esquina rellenando la forma madre.
 * Algorithm - Solución a un problema paso a paso.
 * **Array** - lista de valores que son referidos por un solo nombre. Sus valores pueden ser números o un arreglo de caracteres, o puede representar data compleja que incluya información.
 * **Binary** **search** - algoritmo que busca un blanco en una lista de valores ordenada.
 * **Concatenation** - la concatenación (unión) de cadenas une dos cadenas de fin a fin (&).
 * **Counting** **Statement** - usado para contar el número de veces que una sección de código se ha ejecutado, tal como count = count + 1.
 * **Data structure** - forma de organizar data. Un arreglo es una estructura de data simple.
 * **Debugging line** - línea de código incluida en el programa para dejar que el usuario conozca que sucede en la ejecución del programa.
 * **Declarations** - el área al comienzo del código de la forma donde las variables cuya visibilidad deben incluir todos los procedimientos de eventos de la forma son declarados.
 * **Element** - un ítem en una cadena.
 * **Error-trapping statements** - código que redirecciona el flujo del programa para incluir un mensaje de error o líneas que corrijan el error.
 * **Flag** - variable utilizada para indicar el estado o la ocurrencia de una acción o condición. Usualmente es declarada de tipo Boolean.
 * **Index** - número asignado a cada ítem en el "Item collection" de una caja de lista (listbox) o cada elemento de una cadena. Este número siempre comienza en cero.
 * **Item Collection** - contiene la entrada individual mostrada en el área del "listbox".
 * **Lifetime** - cuando una variable almacena o no un valor valido.
 * **Linear search** - examina cada elemento de un "array" o un 'list box" para encontrar un objetivo.
 * **Member** - un ítem en un "array".
 * **Mod** - este operador divide un número entero por otro y retorna el remanente de la división.
 * **Private variable** - una variable declarada con la declaración Dim en un "event procedure" que normalmente no esta disponible en otro "event procedure".

media type="custom" key="28097495" align="center"


 * Aplicación del Índice de Masa Corporal y otras cosas más **

En esta aplicación incluimos el Select Case Statement que es parecido al If Statement. Además tenemos el ControlChars.NewLine para saltar a la próxima línea en el label, de esa forma podemos escribir varias líneas en un label. En los textbox utilizamos el código Asc(e.KeyChar) para evitar que el usuario entre otras cosas que no sean números o el punto (ascii = 46). La función Format(variable, "###.00") la utilizamos para darle formato a los números con dos lugares decimales. También utilizamos por primera vez los "Radio Buttons", los cuales no permiten que el usuario seleccione más de una alternativa de varias alternativas. Comenzamos un proyecto nuevo y le damos el nombre de IMC. ** Forma ** ** Labels **


 * Textboxes **


 * buttons **

** Radio Buttons **



** Ya tenemos la forma diseñada, ahora es tiempo de escribir los códigos ** ** Escribir el código en el botón de Borrar ** Para que el usuario solo pueda escribir números, dale dos clic al textbox de Peso y cambia el event procedure a KeyPress También debes hacerlo con el textbox de Estatura Ahora debes escribir el código para el botón de Hallar media type="custom" key="28123589"

actualizado 12/06/2015