Your SlideShare is downloading. ×
0
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Visual Basic
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Visual Basic

115,567

Published on

Visual Basic

Visual Basic

3 Comments
11 Likes
Statistics
Notes
No Downloads
Views
Total Views
115,567
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
1,692
Comments
3
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 3. Sentencias de control
  • 2. Las sentencias de control, denominadas también estructuras de control, permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de unas estructuras muy importantes ya que son las encargadas de controlar el flujo de un programa según los requerimientos del mismo. Visual Basic 6.0 dispone de las siguientes estructuras de control: If ... Then ... Else Select Case For ... Next Do ... Loop While … Wend For Each … Next
  • 3. Sentencia IF ... THEN ... ELSE ... Esta estructura permite ejecutar condicionalmente una o más sentencias y puede escribirse de dos formas. La primera ocupa sólo una línea y tiene la forma siguiente: If condicion Then sentencia1 [Else sentencia2] La segunda es más general y se muestra a continuación: If condicion Then sentencia(s) [Else sentencia(s)] End If
  • 4. Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos de una condición, la estructura adecuada es la siguiente: If condicion1 Then sentencias1 ElseIf condicion2 Then sentencias2 Else sentencia-n End If
  • 5. Por ejemplo, se desea escribir un programa que permita definir si un número a es menor que un número b, Solución 1: If a<b Then Print a & “ es menor que ” & b If a=b Then Print a & “ es igual que ” & b If a>b Then Print a & “ es mayor que ” & b Solución 2: If a<b Then Print a & “ es menor que “ & b ElseIf a=b Then Print a & “ igual que “ & b Else Print a & “ es mayor que “ & b End If
  • 6. Ejemplo. Escribir un programa que de como resultado el menor de tres números a, b, c. Utilizar la sentencia de control If…Then…ElseIf…End If
  • 7. Sentencia SELECT CASE Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresión con diferentes valores. Select Case expresion Case etiq1 [ sentencias1] Case etiq2 [ sentencias2] Case Else [ sentenciasn ] End Select donde expresion es una expresión numérica o alfanumérica, y etiq1, etiq2, ... pueden adoptar las formas siguientes: 1. expresion 2. expresion To expresion 3. Is operador-de-relación expresion 4. combinación de las anteriores separadas por comas
  • 8. Por ejemplo, Numero = 8 ’ Se inicializa las variable Numero. ’ Se va a evaluar la variable Numero. Select Case Numero ' Si Numero está entre 1 y 5. Case 1 To 5 Resultado = quot;Se encuentra entre 1 y 5“ ' Numero es uno de los tres valores. Case 6, 7, 8 Resultado = quot;Se encuentra entre 6 y 8“ ' Numero es 9 ó 10. Case Is = 9 , Is = 10 Resultado = quot;El valor es 9 o 10“ ‘Si Numero toma otro valor Case Else Resultado = quot;El número no se encuentra entre 1 y 10quot; End Select
  • 9. Ejemplo. Escribir un programa que de como resultado el menor de tres números a, b, c. Utilizar la sentencia de control Select Case
  • 10. Ejercicio. Realizar un programa que calcule las raíces de la ecuación: a·x2 + b·x + c = 0 Teniendo en cuenta los siguientes casos: 1. Si a=0 y b=0, imprimiremos un mensaje diciendo la ecuación es degenerada. 2. Si a=0 y b≠0, existe una raíz única con valor –c / b. 3. En los demás casos utilizaremos la fórmula siguiente: − b ± b 2 − 4·a·c xi = 2a La expresión d=b2-4ac se denomina discriminante. - Si d≥0 entonces hay dos raíces reales - Si d<0 entonces hay dos raíces complejas de la forma x + yj, x - yj Indicar con literales adecuados los datos a introducir, así como los resultados obtenidos.
  • 11. Solución. a. Utilizando la sentencia If … Then … Else …
  • 12. b. Utilizando la sentencia Select Case
  • 13. Sentencia FOR ... NEXT La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto número de veces. Su forma general es: For variable = expresion1 To expresion2 [Step expresion3] [sentencias] Exit For [sentencias] Next [variable]
  • 14. La sentencia Exit For es opcional y permite salir de un bucle For ... Next antes de que éste finalice. Por ejemplo, MyString = quot;Ing. Químicaquot; For Words = 3 To 1 Step -1 For Chars = Words To Words+4 MyString = MyString & Chars Next Chars MyString = MyString & quot; quot; Next Words
  • 15. Ejercicio. Realizar un programa que permita imprimir los números del 1 al 50. Utilizar la sentencia For … Next Ejercicio. Realizar un programa que permita imprimir los números impares del 1 al 50. Utilizar la sentencia For … Next
  • 16. Sentencia DO ... LOOP Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta, o hasta que una condición dada sea cierta. La condición puede ser verificada antes o después de ejecutarse el conjunto de sentencias. Sus posibles formas son las siguientes: ’ Formato 1: Do [{While/Until} condición] [ sentencias] [Exit Do] [ sentencias] Loop
  • 17. ’ Formato 2: Do [ sentencias] [Exit Do] [ sentencias] Loop [{While/Until} condicion] La sentencia opcional Exit Do permite salir de una bucle Do ... Loop antes de que finalice éste.
  • 18. Por ejemplo, Check = True Counts = 0 Do Do While Counts < 20 Counts = Counts + 1. If Counts = 10 Then Check = False Exit Do End If Loop Loop Until Check = False
  • 19. Ejercicio. Realizar un programa que permita imprimir los números del 1 al 50. Utilizar la sentencia Do…Loop Ejercicio. Realizar un programa que permita imprimir los números impares del 1 al 50. Utilizar la sentencia Do…Loop
  • 20. Sentencia WHILE … WEND Esta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la condición inicial. Su estructura es la siguiente: While condicion [ sentencias] Wend Por ejemplo, Counts = 0 ’ Se inicializa la variable. While Counts < 20 ’ Se comprueba el valor de Counts. Counts = Counts + 1 ’ Se incrementa el valor de Counts. Wend ’ Se acaba el bucle cuando Counts > 19.
  • 21. Ejercicio. Realizar un programa que permita imprimir los números del 1 al 50. Utilizar la sentencia While…Wend Ejercicio. Realizar un programa que permita imprimir los números del 1 al 50. Utilizar la sentencia While…Wend
  • 22. Sentencia FOR EACH ... NEXT Esta construcción es similar al bucle For, con la diferencia de que la variable que controla la repetición del bucle no toma valores entre un mínimo y un máximo, sino a partir de los Elementos de un array (o de una colección de objetos). La forma general es la siguiente: For Each variable In grupo [ sentencias] Next variable
  • 23. Ejercicios adicionales: 3.1 Escribir un programa que de como resultado la suma de los 100 primeros números naturales 3.2 Realizar un programa que de cómo resultado la suma de los números pares comprendidos entre dos números a y b. 3.3 Realizar un programa que imprima si un número dado por el teclado es par o impar, positivo o negativo, entero o decimal. 3.4 Realizar un programa que dé como resultado una tabla donde se especifique el cuadrado y el cubo de los n primeros números. NÚMERO CUADRADO CUBO
  • 24. 3.5 Realizar un programa que liste la tabla de sumar entre 0 y 9 de cualquier número introducido por el teclado. 3.6 Realizar un programa que liste las tablas de multiplicar de todos los números comprendidos entre otros dos a y b, introducidos por el teclado. 3.7 Realizar un programa que dé como resultado la suma y la media de un conjunto de números introducidos por el teclado. La entrada de datos finalizará, por ejemplo al teclear el número 99999. 3.8 Realizar un programa que de cómo resultado el mayor y el menor de un conjunto de números introducidos por el teclado. La entrada de datos finalizará por ejemplo, con el número 99999.
  • 25. 3.9 Realizar un programa que dibuje un triángulo de n filas , empleando el carácter asterisco. Realice el programa utilizando: a. Sentencias For b. Sentencias While Por ejemplo, para n=4 ******* ***** *** *
  • 26. 3.10 Implementar un programa que permita evaluar el factorial de un número entero positivo. Por ejemplo Si n = 5: S = 5*4*3*2*1 Si n = 3: S = 3*2*1 3.11 Implementar programas que permitan evaluar la suma total de los n primeros términos de las siguientes series: a. La suma de los n primeros términos de la serie S = 1 + 3 + 5 + 7 + ... b. La suma de los n primeros términos de la serie 1111 1 S = − + − + − ...... + 1234 n c. S = 1-2+3-5+8-13+21-34+…..
  • 27. d. Evaluar los n primeros térmicos de la serie: 1111 S= − + − + ...... 1! 3! 5! 7! 3.12 Implementar un programa que permita ingresar 4 números enteros y ordenarlos de acuerdo a las opciones: de mayor a menor, o de menor a mayor. 3.13 Implementar un programa que permita determinar si un número entero ingresado es primo.
  • 28. 3.14 Utilizando la sentencia For … Next , escribir un programa que imprima un tablero de ajedrez en el que las casillas blancas se simbolizarán con una B y las negras con una N. Así mismo el programa deberá marcar con * las casillas a las que se puede mover un alfil desde una posición dada. La solución será similar a la siguiente: Posición del alfil: Fila 3 Columna 4 B* BNB *BN NB *B*B NB BNB*BN BN NB*B* B NB B*BNB * BN *BNBNB * B BNBNBNB* NBNBNBNB
  • 29. Para información más detallada, revisar el capítulo 5 del texto: Cevallos Javier. Curso de Programación de Visual Basic 6. Alfaomega. 2000

×