Parte 4: Estructuras de Control

Documentos relacionados
FUNDAMENTOS DE INFORMÁTICA

Estructura para la toma de decisiones

LENGUAJE PROGRAMACIÓN

Curso de Excel Avanzado

Comencemos a programar con. Entrega 09

Visual Basic 1. Sentencias de control

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

TEMA 4. ESTRUCTURAS DE CONTROL

Cómo nombrar variables ( 2&

Estructuras de Control. Secuencia y Selección

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Estructuras de Control

Curso Completo de Visual Basic 6.0

Estructuras de control

Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés

Sentencias o instrucciones en Visual BASIC

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Active Server Pages. Que es?.

REFERENCIA DEL LENGUAJE

Estructuras Repetitivas

fundamentos de programación (unidad 4) programación estructurada en Java

Estructuras en LabVIEW.

Manejo de Software para Microcomputadoras. Visual Basic para Aplicaciones en Excel

Tutorial Básico de vbscript

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

3. Estructuras iterativas

GENERALIDADES DEL LENGUAJE C

Seminario de Actualización - Excel Avanzado y Macros. Visual Basic. Conceptos Básicos de Visual Basic para Aplicaciones

FUNDAMENTOS DE INFORMÁTICA

Comencemos a programar con. Entrega 10. Estructuras de Control II

5. Subprogramas Fundamentos de Informática

UNIDAD 5. ESTRUCTURAS DINÁMICAS Y ESTÁTICAS DE ALMACENAMIENTO DE DATOS.

Fundamentos de programación

Curso de Visual Basic Lección 1 Area Interactiva -

Programación: QBASIC

Estructuras de repetición

Porqué Visual Basic?

Manual de Visual Basic Principiante Autor: Jorge Alvarez

Comencemos a programar con. Entrega 17

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

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

Indice del curso básico programación desde cero Visual Basic Nivel I (CU00302A)

ESTRUCTURAS REPETITIVAS EN PHP

Algoritmos y Programación Clase 8

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

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

PHP: Lenguaje de programación

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Tema 3.- Predicados y sentencias condicionales

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

Manual de turbo pascal

6. Vectores. 1. Introducción. 2. Declaración (I) Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos.

Guía práctica de estudio 05: Diagramas de flujo

Visual Basic for Applications

Instrucciones de control

Por qué ExecuTrain? Por qué ExecuTrain? Modalidad de servicio

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

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

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

Introducción a las sentencias de control

Funciones & Estructuras de control

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Programación con Visual Basic 6

MS-Excel - VBA. Comprendiendo objetos, propiedades, métodos y eventos

Programación n con Visual Basic.NET. Visual Basic.NET. Francisco Ruiz Manuel Ángel Serrano

col Type mismatch cadena vacía fila 1 z + i 4 1 fila 2

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

llamada a la función Val(num) cambiosigno(n) redondeo(num,3)

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Operaciones con vectores

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Select Case Visual Basic. Palabras clave To, Is. Instrucción Según (Caso) Hacer. Ejemplos y ejercicios resueltos (CU00325A)

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

Excel con Visual Basic Para Aplicaciones (VBA)

Oracle Database: Programación con PL/SQL

TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES INFORMÁTICAS

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

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

FUNDAMENTOS DE INFORMÁTICA

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

VB Script. Autor: J. Quijado ( Fuente:

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Estatutos de Control C# Estatutos de Decisión (Selección)

VB Access 2000 Fermí Vilà 1. Visual Basic para Aplicaciones del Access 2007

ESTRUCTURAS DE CONTROL Y DE SELECCIÓN

Universidad Metropolitana Castro Carazo Prof. Ing. Patricia Vargas. Material de apoyo Semana #2 PROGRAMACIÓN II

HOJAS DE CÁLCULO CONTROLES, MACROS, VBA Y FORMULARIOS EN MS EXCEL. Excel 1

Diseño de varios formularios ligados para procedimiento de estudio de crédito

FUNDAMENTOS DE PROGRAMACIÓN VISUAL BASIC

Visual Basic y.net: Procedimientos Sub y funciones Function. Parámetros. Organizar programas en módulos. (CU00338A)

Algoritmos y Programación Clase 7

Transcripción:

Parte 4: Estructuras de Control Las estructuras de control le permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de estructuras de control: Estructuras de decisión Estructuras de bucle Estructuras de Decisión Los procedimientos de Visual Basic pueden probar condiciones y, dependiendo de los resultados, realizar diferentes operaciones. Entre las estructuras de decisión que acepta Visual Basic se incluyen las siguientes: IfThen IfThenElse Select Case IfThen Use la estructura IfThen para ejecutar una o más instrucciones basadas en una condición. Puede utilizar la sintaxis de una línea o un bloque de varias líneas: If condición Then Sentencias If condición Then Sentencias Condición normalmente es una comparación, pero puede ser cualquier expresión que dé como resultado un valor numérico. Visual Basic interpreta este valor como True o False; un valor numérico cero es False y se considera True cualquier valor numérico distinto de cero. Si condición es True, Visual Basic ejecuta todas las sentencias que siguen a la palabra clave Then. Puede utilizar sintaxis de una línea o de varias líneas para ejecutar una sentencia basada en una condición, los siguientes dos ejemplos son equivalentes: If cualquierfecha < Now Then CualquierFecha = Now If cualquierfecha < Now Then CualquierFecha = Now Observe que el formato de una única línea de IfThen no utiliza la instrucción. Si se desea ejecutar más de una línea de código cuando condición sea True, debe utilizar la sintaxis de bloque de varias líneas IfThen. 1

If cualquierfecha < Now Then CualquierFecha = Now Timer1.Enabled = False Desactiva el control Timer. IfThenElse Utilice un bloque IfTheElse para definir varios bloques de sentencias, uno de los cuales se ejecutará: If condición1 Then [bloque de sentencias 1] [ElseIf condición2 Then [bloque de sentencias 2]] [Else [bloque de sentencias n]] 1. Veamos un ejemplo: El código sería: Private Sub List1_Click() End Sub Dim moneda moneda = lstmoneda.listindex If moneda = 0 Then MsgBox "Peseta" ElseIf moneda = 1 Then MsgBox "Dolar" ElseIf moneda = 2 Then MsgBox "Franco" 2

. If ClaveUsuario= DSI Then Permite al usuario entrar al sistema Else Mostrar un mensaje advirtiendo error en la clave Private Sub DeterminaCondición ( ) If Val (txtpromedio) >=13 Then txtcondición = Aprobado ElseIf Val (txtpromedio) >= 10 Then txtcondición = Asistente Else txtcondición = Desaprobado End Sub Observe que siempre puede agregar más cláusulas ElseIf a la estructura IfThen. Sin embargo, esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf compara la misma expresión con un valor distinto. Para estas situaciones, puede utilizar la estructura de decisión Select Case. Select Case Visual Basic proporciona la estructura Select Case como alternativa a IfThenElse para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia Select Case ofrece posibilidades similares a la instrucción IfThenElse, pero hace que el código sea más legible cuando hay varias opciones. La estructura Select Case funciona con una única expresión de prueba que se evalúa una vez solamente, al principio de la estructura. Visual Basic compara el resultado de esta expresión con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de sentencias asociado a ese Case: Selec Case expresión_prueba [Case lista_expresiones1 [bloque de sentencias 1]] [Case lista_expresiones2 [bloque de sentencias 2]]... [Case Else [bloque de sentencias n]] 3

Cada lista_expresiones es una lista de uno a más valores. Si hay más de un valor en una lista, se separan los valores con comas. Cada bloque de sentencias contiene cero o más instrucciones. Si más de un Case coincide con la expresión de prueba, sólo se ejecutará el bloque de instrucciones asociado con la primera coincidencia. Visual Basic ejecuta las instrucciones de la cláusula (opcional) Case Else si ningún valor de la lista de expresiones coincide con la expresión de prueba. Por ejemplo, suponga que agrega otro comando al menú Edición en el ejemplo IfThenElse. Podría agregar otra cláusula ElseIf o podría escribir la función con Select Case: Private Sub mnucut_click (Index As Integer) Select Case Index Case 0 Instrucciones.. Case 1 Instrucciones.. Case 2 Instrucciones.. Case 3 End Sub Select Case TipoUsuario Case Supervisor Proporciona al usuario privilegios de Supervisor Case Usuario Proporciona al usuario privilegios de Usuario Case Else Proporciona al usuario privilegio de invitado Otros Ejemplos If Ventas > 100000 Then strdscto = Format (0.10, Fixed ) 4

ElseIf Ventas > 50000 Then strdscto = Format (0.05, Fixed ) Else strdscto = Format (0.02, Fixed ) Select Case Cantidad Case 1 sngdscto = 0.0 Case 2, 3 sngdscto = 0.05 Case 4 To 6 sngdscto = 0.10 Case Else sngdscto = 0.20 opcion = MsgBox ( Guarda cambios antes de salir, vbyesno) Select Case opcion Case vbyes GuardarCambios Unload Me Case vbno Unload Me Estrucuras de Repeticion Las estructuras de repetición o bucle le permiten ejecutar una o más líneas de código repetidamente. Las estructuras de repetición que acepta Visual Basic son: DoLoop ForNext For EachNext DoLoop Utilice el bucle Do para ejecutar un bloque de sentencias un número indefinido de veces. Hay algunas variantes en la sentencia DoLoop, pero cada una evalúa una condición numérica 5

para determinar si continúa la ejecución. Como ocurre con IfThen, la condición debe ser un valor o una expresión que dé como resultado False (cero) o True (distinto de cero). En el siguiente ejemplo de DoLoop, las sentencias se ejecutan siempre y cuando condición sea True: Do While condición Sentencias Loop Cuando Visual Basic ejecuta este bucle Do, primero evalúa condición. Si condición es False (cero), se salta todas las sentencias. Si es True (distinto de cero) Visual Basic ejecuta las sentencias, vuelve a la instrucción Do While y prueba la condición de nuevo. Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición sea distinta de cero o True. Nunca se ejecutan las sentencias si condición es False inicialmente. Por ejemplo, este procedimiento cuenta las veces que se repite una cadena destino dentro de otra cadena repitiendo el bucle tantas veces como se encuentre la cadena de destino: Function ContarCadenas (cadenalarga, destino) Dim posición, contador posición = 1 Do While InStr (posición, cadenalarga, destino) posición = InStr (posición, cadenalarga, destino)+1 contador = contador + 1 Loop ContarCadenas = contador End Function Si la cadena destino no está en la otra cadena, InStr devuelve 0 y no se ejecuta el bucle. Otra variante de la instrucción DoLoop ejecuta las sentencias primero y prueba la condición después de cada ejecución. Esta variación garantiza al menos una ejecución de sentencias: Do Sentencias Loop While condición 6

ForNext Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las sentencias del bucle. Sin embargo, cuando se sabe que se va a ejecutar las sentencias un número determinado de veces, es mejor elegir el bucle ForNext. A diferencia del bucle Do, el bucle For utiliza una variable llamada contador que incrementa o reduce su valor en cada repetición del bucle. La sintaxis es la siguiente: For contador = iniciar To finalizar [Step incremento] Sentencias Next [contador] Los argumentos contador, iniciar, finalizar e incremento son todos numéricos. Nota: El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar debe ser menor o igual que finalizar o no se ejecutarán las sentencias del bucle. Si incremento es negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1. Al ejecutar el bucle For, Visual Basic: 1. Establece contador al mismo valor que iniciar. 2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic sale del bucle. (Si incremento es negativo, Visual Basic comprueba si contador es menor que finalizar.) 3. Ejecuta las sentencias. 4. Incrementa contador en 1 o en incremento, si se especificó. 5. Repite los pasos 2 a 4. Este código imprime los nombres de todas las fuentes de pantalla disponibles: Private Sub Form-Click ( ) Dim I As Integer For i = 0 To Screen.FontCount Print Screen.Fonts (i) Next End Sub Salida de una Estructura de Control La instrucción Exit le permite salir directamente de un bucle For o de un bucle Do. La sintaxis de la sentencia Exit es sencilla: Exit For puede aparecer tantas veces como sea necesario dentro de un bucle For y Exit Do puede aparecer tantas veces como sea necesario dentro de un bucle Do: For contador = iniciar To finalizar [Step incremento] [bloque sentencias] [Exit For] [bloque sentencias] Next [contador] Do [{While / Until} condición] [bloque de sentencias] 7

Loop [Exit Do] [bloque de sentencias] Do [bloque de sentencias] [Exit Do] [bloque de sentencias] Loop [{While / Until} condición] Exit For y Exit Do son muy útiles ya que, algunas veces, resulta apropiado salir inmediatamente de un bucle sin realizar más iteraciones o sentencias dentro del bucle. Cuando utilice la instrucción Exit para salir de un bucle, el valor de la variable contador difiere, dependiendo de cómo haya salido del bucle: Cuando termina un bucle, la variable contador contiene el valor del límite superior más el paso. Cuando sale de un bucle prematuramente, la variable contador conserva su valor según las reglas usuales del alcance. Cuando sale antes del final de una colección, la variable contador contiene Nothing si se trata de un tipo de dato Object y Empty si es un tipo de dato Variant. 8