Sei sulla pagina 1di 15

La estructura IfThenElse Cuando queremos ejecutar un bloque de cdigo de acuerdo a una condicin o varias (condiciones anidadas), entonces utilizamos

la estructura If Then Else por ejemplo: Dim usuario As String If usuario=solocodigofuente Then Bloque de condigo a ejecutarse End If Dim Usuario,Contrasea As String If usuario=solocodigofuente And Contrasea=s010c0di60 Then Ingresar al sistema Else Enviar un mensaje al usuario End If Dim MontoPagar As Double If MontoPagar < 10 Then Hacer un descuento del 1% ElseIf MontoPagar < 20 Then Hacer un descuento del 2% If Cliente=QuihuiNet Then Hacer un descuento del 3% End If ElseIf MontoPagar >= 30 Or MontoPagar <=40 Then Hacer un descuento del 3% End If Como pueden notar los operadores juegan un papel importante dentro de las estructuras. La estructura Select Case Esta estructura es similar a la estructura If Then Else, esta estructura es muy til cuando sabemos que tenemos que utilizar demasiados If Then Else, Adems ser mas fcil de entender la lgica de programacin utilizando esta estructura. Veamos las distintas forma de uso: -Ejemplo 1 Dim dia As Integer Select Case dia Case 1 Lunes Case 2

Martes Case 3 Miercoles Case 4 Jueves Case 5 Viernes Case 6 Sabado Case Else Dimingo End Select -Ejemplo 2 Dim MontoPagar As Double Select Case MontoPagar Case Is < 10 Hacer un descuento del 1% Case Is < 20 Hacer un descuento del 2% Case Is >= 30 Hacer un descuento del 3% End Select Ejemplo 3etapas de la vida humana Dim Etapas As Integer Select Case Etapas Case 1 To 4 Infancia Case 5 To 10 Niez Case 10 To 14 Pubertad Case 15 To 21 Adolescencia Case 22 To 50 Adultes Case 50 To 70 Vejes End Select Ejemplo 4 Dim numeros As Integer Select Case numeros Case 2, 4, 6, 8, 10

Mensaje:Nmeros Pares Case 1, 3, 5, 7, 9 Mensaje:Nmeros Impares Case Else Mensaje: el numero no pertenece al rango establecido End Select -Ejemplo 5 Dim integrantes As String Select Case integrantes Case Aereo Avioneta Case Terrestre Auto Case Maritimo Yate End Select Bulces. Son estructuras cclicas o repetitivas, ejecutara un bloque de cdigo o instrucciones, tantas veces que sea necesario hasta que la condicin se cumpla. Instruccin For Next. Ejecutar un bloque de cdigo un determinado nmero de veces, podemos utilizar para realizar clculos numricos, como por ejemplo hallar la suma de los n primeros nmeros, veamos algunos ejemplos: -Ejemplo de For .. 1 Dim i, rpta As Integer For i = 1 To 5 rpta += i Next rpta=15 En este ejemplo, nuestro buble ejecutar 5 veces desde i=1 hasta 5, y acumular la suma en la variable rpta, si la variable i iniciara en 0 entonces se ejecutar 6 veces -Ejemplo de For 2Dim i, sumaPares As Integer For i = 2 To 10 Step 2 sumaPares += i Next sumaPares=30 La palabra clave Step indica que se incrementar en 2 la variable i hasta 10 ejemplo de For 3

Dim i As Integer Dim letra As String letra = a For i = 1 To 5 letra += a If i=4 Then Exit For End If Next letra=aaaaaa La instruccin Exit For, indica que abandonar el bucle ejemplo de For 4 For para Recorrer los elementos de una Matriz Dim letras As String()={a,b,c,d,e} Dim Letra As String For Each Letra In letras Mostrar en pantalla el valor de la variable Letra Next El primer valor de la variable Letra es a en la primera iteracin, b en la segunda iteracin, c Hasta llegar al ultimo elemento de la matriz que seria e como es el ltimo elemento dejar de recorrer la matriz y terminara el bucle. La instruccin While End While. Ejecutar tantas veces el bloque de cdigo mientras que la condicin sea verdadero. Ejemplo Dim i As Integer While i < 6 i += 1 End While La instruccin Do Loop(A). Ejecutar tantas veces el bloque de cdigo en funcin de una condicin , ya sea verdadero o falso. Ejemplo Dim i As Integer Do While i < 6 i += 1 Loop La primera instruccin que realiza es evaluar la condicin Como pueden notar es muy similar a la instruccin While

La instruccin Do Loop(B). Lo primero que realizar es ejecutar el bloque de instrucciones, luego evaluar la condicion. Ejemplo Dim i As Integer Do i += 1 Loop While i<6

Estructura condicional.
Introduccion al concepto de condicion. Estructura bsica de una condicion. Funcionamiento Ejemplos Ejemplo 1 Ejemplo 2 Ejemplo 3 Introduccion al concepto de condicion. Una instruccion condicional es aquella que nos permite "preguntar" sobre el entorno que nos rodea, pudiendo as actuar segn la respuesta obtenida. Estas respuestas siempre sern Verdadero o Falso, pudiendo as tomar, en un principio, dos caminos diferentes. Pongamos un pequeo ejemplo. Imagina que tenemos nuestro robot subiendo las escaleras y le indicamos lo siguiente: Si ests en el escaln 200 entonces no contines subiendo, sino continua tu ascensin. Como puedes ver aqu se nos presenta una condicion y segn en el punto de la escalera en la que se encuentre nuestro robot se parar o continuar subiendo. Estructura bsica de una condicion. En nuestro curso esta estructura se representar de la siguiente manera:

Explicaremos lnea a lnea la estructura condicional: Primera En esta lnea pondremos la <condicion> que nos lnea: interesa evaluar. Segunda Lnea o lneas donde pondremos las instrucciones a lnea: efectuar en caso de que la condicion sea VERDADERA. Tercera A partir de aqu tendremos las instrucciones que se lnea: ejecutarn cuando la condicion sea FALSA. Cuarta Lnea o lneas donde pondremos las instrucciones a lnea: efectuar en caso de que la condicion sea FALSA. Quinta Lnea que nos indica el final de la estructura lnea: condicional. La tercera y cuarta lnea son opcionales, ya que puede haber un momento en el que al mirar una condicion nos interese solo una de las posibles respuestas. Funcionamiento. Ahora veremos los dos casos que se pueden dar con esta estructura bsica. Veamos los pasos que podemos seguir en caso de que la condicion planteada sea Verdadera.

Observa los pasos que seguiramos, en el supuesto que la condicion fuera Verdadera. En este caso solo hace tres de las cinco lneas de la estructura bsica. Observa que las lneas que cambia de color no se ejecuta. Siguiendo nuestro ejemplo del Robot, este sera el caso en el que el robot se encontrara en el escaln 200 y por lo tanto tendra que detener su ascensin. Veamos ahora los pasos que podemos seguir en caso de que la condicion planteada sea Falsa. Observa los pasos que seguiramos, en el supuesto que la condicion fuera Falsa. En este caso se pasa por cuatro de las 5 lneas de la estructura bsica. Observa que la lnea que cambia de color no se ejecuta. Mirando ahora el ejemplo del Robot, sera el caso en el que el Robot NO se encuentra en el escaln 200 y que por lo tanto debe continuar ascendiendo por la escalera. Ejemplo 1. (Subiendo escaleras hasta el escaln 200). Ahora veremos como podemos poner nuestro ejemplo en esta estructura, tal y como lo haramos si estuvisemos creando un pequeo algoritmo. Recordemos el ejemplo: Tenemos nuestro pequeo Robot que sube una escalera. En un momento determinado queremos que tome una decisin segn el punto en el que se encuentra. La decisin es la siguiente: si se encuentra en el escaln 200 debe detener el ascenso, mientras que si est en cualquier otro sitio debe continuar subiendo. Ante un problema as debemos plantearnos cual es la estructura que debemos utilizar, en este caso es fcil ya que solo hemos estudiado una, ;-) Cuando tenemos clara la estructura debemos mirar que es lo que debemos poner en cada lugar y cuales son las instrucciones que debemos utilizar. Vamos a definir las instrucciones que nos hacen falta para este ejemplo: Escaln Subir Parar Nos devolver el nmero de escaln en el que se encuentra en este momento nuestro Robot. Har que el Robot contine su ascensin. Detendr el Robot.

Estas "instrucciones" estn hechas a medida porque estamos utilizando un pseudocdigo, pero podran ser sustituidas por instrucciones reales en el momento en el que nosotros decidiramos en que lenguaje realizar nuestro programa. Una vez hemos definido las instrucciones y mirado cual es la estructura que queremos utilizar pasaremos a pensar construir el cdigo. Quiero decir que al principio puede ser que te cueste un poco encontrar una solucion lgica. Pero piensa que esto, como la mayora de las cosas, requieren mucha paciencia, mucha prctica y algo de concentracion. Pasemos a implementar el ejemplo: Si Escaln = 200 entonces Parar Sino Subir Fin Si Observa detenidamente la implementacion del cdigo y mira cuales seran los pasos que deberamos seguir cuando se dieran los dos posibles casos de nuestro problema. Recuerda que para un mismo problema pueden existir diferentes soluciones.

Ejemplo 2. (Moverse de una posicion a otra). Una vez visto el ejemplo anterior vamos a plantear otros que nos ayudarn a entender y a familiarizarnos con esta estructura. Este es un ejemplo un poco tonto pero nos puede servir para acabar de entender como funciona esta estructura condicional. Imagina que tenemos a nuestro Robot en una plataforma mvil que tiene dos posiciones posibles: la 1 o la 2 (Observa el dibujo).

Lo que nosotros queremos que haga el Robot es lo siguiente: si el Robot se encuentra en la posicion 1 debe moverse a la 2, y si se encuentra en la posicion 2 se deber mover a la 1. Para este ejemplo definiremos unas nuevas instrucciones que iremos utilizando en futuros ejemplos: MoverDer MoverIzq Posicion Mover el Robot a la derecha una posicion. Mover el Robot a la izquierda una posicion. Nos devolver la posicion en la que se encuentra el Robot en el momento de hacer la "pregunta".

Antes de mirar la posible solucion, piensa un poco y plantate una posible solucion.

Ejemplo 3. (Coger el bloque y moverse). Ahora que ya sabemos como hacer que nuestro Robot se mueva segn la posicion en la que se encuentra vamos ha realizar un ejercicio que nos haga lo siguiente: Tenemos a nuestro Robot en la plataforma mvil definida anteriormente, pero esta vez con tres posiciones (Observa el dibujo).

Y encima de una de estas tres posiciones pondremos un bloque (caja) llamada "A". Lo que queremos que realice nuestro Robot es lo siguiente: El Robot siempre partir de la posicion 1, pero no conocer donde est situado el bloque y este siempre debe estar en una de las 3 posiciones. Nosotros deberemos hacer que es Robot se desplace por la cinta mirando si el bloque se encuentra en la nueva posicion. Si el bloque est en la posicion en la que se encuentra el Robot, este debe cogerlo. Como siempre vamos a definir las nuevas instrucciones que necesitaremos para solucionar este problema, recuerda que si necesitas alguna de las instrucciones definidas anteriormente puedes hacerlo. Eso s, no puedes inventarte ninguna instruccion nueva. Si no recuerdas las instrucciones que hemos definido hasta ahora mira la lista de instrucciones. BloqueEncima CogerBloque Nos devolver el nombre del bloque que est encima del Robot. El Robot coger el bloque.

Sera muy recomendable que antes de mirar la solucion lo intentaras tu solito.

Intenta ampliar los ejemplo que hemos dado hasta este momento y buscar una implementacion del cdigo lo ms sencilla posible. En prximas lecciones pondremos ms ejemplos y algunos ejercicios a realizar. Si tiene alguna pregunta no dudes en hacerla.

Explicamos las distintas estructuras poniendo ejemplos tanto en diagrama de flujo como en pseudocdigo.
Por Wilder Urbaez
Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen tres tipos bsicos, las simples, las dobles y las mltiples.

Simples:

Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma:

Pseudocdigo:

Diagrama de flujo:

Dobles:

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma:

Pseudocdigo:

Diagrama de flujo:

Donde: Si:Indica el comando de comparacin Condicin : Indica la condicin a evaluar Entonces : Precede a las acciones a realizar cuando se cumple la condicin Instruccin(es):Son las acciones a realizar cuando se cumple o no la condicin si no :Precede a las acciones a realizar cuando no se cumple la condicin Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o ms acciones.

Mltiples:

Las estructuras de comparacin mltiples, son tomas de decisin especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma comn es la siguiente:

Pseudocdigo:

Diagrama de flujo:

Mltiples (En caso de):

Las estructuras de comparacin mltiples, es una toma de decisin especializada que

permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma es la siguiente:

Pseudocdigo:

Diagrama de flujo:

Veamos algunos ejemplos donde se aplique todo lo anterior:

Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicndolo. Expresarlo en Pseudocdigo y Diagrama de flujos.

Pseudocdigo:

Diagrama de flujo:

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprob o reprob el curso. Exprese el algoritmo usando

Pseudocdigo y diagrama de flujos.

Pseudocdigo:

INICIO Not1, Not2, Not 3 :REAL Def: REAL LEA Nota1, Nota2, Nota3 Def (Not1 + Not2 + Not3) /3 Si Def < 3 entonces Escriba Reprob el curso Sino Escriba Aprob el curso Fin-Si FIN

Diagrama de flujo:

Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm enve el mensaje: Persona de altura baja; si la altura est entre 151 y 170 escriba el mensaje: Persona de altura media y si la altura es mayor al 171 escriba el mensaje: Persona alta. Exprese el algoritmo usando Pseudocdigo y diagrama de flujos.

Pseudocdigo:

INICIO Altura: ENTERO ESCRIBA Cul es tu altura? LEA Altura Si Altura <=150 entonces ESCRIBA persona de altura baja Sino Si Altura <=170 entonces ESCRIBA persona de altura media Sino Si Altura>170 ENTONCES ESCRIBA persona alta Fin-Si Fin-Si Fin-Si FIN

Es importante ser ordenado en el cdigo que se escribe!

Diagrama de flujo:

Dado un numero entre 1 y 7 escriba su correspondiente da de la semana as: 1- Lunes 2- Martes 3- Mircoles 4- Jueves 5- Viernes 6- Sbado 7- Domingo Exprese el algoritmo usando Pseudocdigo y diagrama de flujos.

Pseudocdigo: Pseudocdigo:

INICIO Dia: ENTERO ESCRIBA Diga un nmero para escribir su da LEA Dia En-caso-de Dia haga Caso 1: ESCRIBA Lunes Caso 2: ESCRIBA Martes Caso 3: ESCRIBA Mircoles Caso 4: ESCRIBA Jueves

Caso 5: ESCRIBA Viernes Caso 6: ESCRIBA Sbado Caso 7: ESCRIBA Domingo SINO: ESCRIBA Escribi un numero fuera del rango 1-7 Fin-Caso FIN

Diagrama de flujo: