Condiciones+y+Ciclos

** __ Decisiones simples __ ** // Si (Condición) // // Instrucciones a ejecutar // // En caso de que la condición sea Verdadera // // Sino // // Instrucciones a ejecutar // // En caso de que la condición sea Falsa // // Fin_Si // Las condiciones pueden ser expresadas utilizando los siguientes **//Operadores Relacionales//** que son los símbolos que nos van a permitir obtener una respuesta Verdadera o Falsa: > Mayor que < Menor que >= Mayor o igual a   <= Menor o igual a    = Igual a (también llamado igual de comparación) < > Diferente de   También podemos conectar expresiones relacionales (tales como a<b) a través de los **//Operadores Booleanos//** ** Operador Y - AND ** ** Operador O - OR ** ** NOT  ** si not(A=B) ** __ Decisiones en Cascada __ ** Este no es mas que un esquema en donde el //Sino// de cada //Si// condicional da inicio a un nuevo //Si// condicional y así sucesivamente. Ej. Leer un número entero y determinar si es de uno o dos o tres o cuatro dígitos. Validar que el   número no sea negativo. // Programa Decisión_en_Cascada // // Inicio // // Definir : num // // Escriba “Por favor, digite un número entero” // // Lea num // // Si num < 0 // // num = num * ( -1 ) // // Si num > = 1 y num < = 9 // // Escriba “ El número tiene 1 dígito “ // // Sino // // Si num > = 10 y num < = 99 // // Escriba “El número tiene 2 dígitos” // // Sino…. // // Ciclos // Un ciclo puede definirse como una estructura que nos permite repetir o iterar un conjunto de instrucciones y que tiene las siguientes características: ** a.  ** El conjunto de instrucciones debe ser finito ** b.  ** La cantidad de veces que se repita dicho conjunto de instrucciones también debe ser finita. En algunos casos esta cantidad de veces va a depender de una condición explícita y en otros casos va a depender de una condición implícita. ** c.  ** Deben estar claramente demarcados el inicio y el fin del ciclo. ** d.  ** Dentro de un ciclo podrá ir cualquiera de las otras estructuras que se han estudiado incluyendo otros ciclos. // Programa Nums_1_100 // // Inicio // // definir :N // // N = 1 // // Mientras N < = 100 // // Escriba N // // N = N + 1 // // Fin_mientras // // Fin // ** //__ Tipos de ciclos __// ** Escribir los números impares comprendidos entre 1 y 20. ** a. Ciclo Mientras  ** // Programa Ejem_Ciclo_Mientras // // Inicio // // Definir Num // // Num = 1 // // Mientras Num < = 20 // // Escriba Num // // Num = Num + 2 // // Fin_Mientras // // Fin // Conceptos de contador y acumulador,Concepto de switch o bandera ** b. Ciclo Para  ** // Programa Ejem_Ciclo_Para // // Inicio // // Definir Num // // Para Num = 1 hasta 20 Paso 2 // // Escriba Num // // Fin_Para // // Fin // ** c. Ciclo Haga Hasta  ** El cuerpo del ciclo se va a repetir mientras la evaluación de la condición sea Falsa // Haga // // . // // Cuerpo del Ciclo // // . // // Hasta Condición // ** d. Ciclo Haga Mientras  ** su única diferencia con el //ciclo Mientras// es que en el //Ciclo Haga Mientras// primero se ejecuta el cuerpo del ciclo y luego se evalúa la condición en cambio en el //ciclo Mientras// primero se evalúa la condición y luego se ejecuta el   cuerpo del ciclo. // Haga // // . // // Cuerpo del Ciclo // // . // // Mientras Condición // // Ejemplos // Usando Ciclo Mientras // Programa Ejemplo_1 // 1.Inicio 2. Definir enteros: Numero, Cuenta_Digitos // Declara Variables 3. Escriba “ Digite un número entero “ // Solicita un dato entero 4. Lea Numero // Lee un entero y lo almacena // en la variable Numero 5. Cuenta_Digitos = 0 // Inicializa el contador en ceros 6. Mientras Numero < > 0 // Mientras Numero sea diferente de 0 7. Numero = Numero / 10 //Divida entre 10 8. Cuenta_Digitos = Cuenta_Digitos + 1 // y cuente 9. Fin_Mientras 10. Escriba “ Tiene “, Cuenta_Digitos, “ dígitos “ // Escriba la cantidad de dígitos 11. Fin Ejemplo 2 Usando Haga Hasta que // Programa Ejemplo_2 // 1.Inicio 2. Definir enteros: Numero, Cuenta_Digitos // Declara Variables 3. Escriba “ Digite un número entero “ // Solicita un dato entero 4. Lea Numero // Lee un entero y lo almacena // en la variable Numero 5. Haga // Inicia el ciclo 6. Numero = Numero / 10 // Divida entre 10 7. Cuenta_Digitos = Cuenta_Digitos + 1 // y cuente 8. Hasta que Numero = 0 // Hasta que Numero sea igual a 0 9. Escriba “ Tiene “, Cuenta_Digitos, “ Dígitos “ // Escriba el resultado solicitado 10 Fin Usando Ciclo Haga Mientras // Programa Ejemplo_2 // 1.Inicio 2. Definir enteros: Numero, Cuenta_Digitos // Declara Variables 3. Escriba “ Digite un número entero “ // Solicita un dato entero 4. Lea Numero // Lee un entero y lo almacena // en la variable Numero 5.Haga // Inicia el ciclo 6. Numero = Numero / 10 // Divida entre 10 7. Cuenta_Digitos = Cuenta_Digitos + 1 // y cuente 8. Mientras Numero > 0 // Mientras el Número sea mayor que 0 9. Escriba “ Tiene “, Cuenta_Digitos, “ Dígitos “ // Escriba el resultado solicitado 10. Fin ** Leer dos números enteros y mostrar todos los enteros comprendidos entre el menor y el mayor  **
 * Estructura de decisión lógica **
 * ** Condición 1  **  ||  **  Condición 2  **  ||  **  Resultado  **  ||
 * F  ||   F   ||   F   ||
 * V  ||   V   ||   F   ||
 * F  ||   V   ||   F   ||
 * V  ||   V   ||   V   ||
 * ** Condición 1  **  ||  **  Condición 2  **  ||  **  Resultado  **  ||
 * F  ||   F   ||   F   ||
 * V  ||   V   ||   V   ||
 * F  ||   V   ||   V   ||
 * V  ||   V   ||   V   ||