jueves, 9 de agosto de 2018

Bloque Control


               nnnn                                                      nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

lunes, 11 de diciembre de 2017

Estructuras repetitivas

Selección múltiple
La secuencia de instrucciones ejecutada por una instrucción Segun depende del valor de una variable numérica.
      Segun <variable> Hacer 
            <número1>: <instrucciones> 
            <número2>,<número3>: <instrucciones> 
            <...> 
            De Otro Modo: <instrucciones> 
      FinSegun 

   Esta instrucción permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numérico. Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor. 
   Cada opción está formada por uno o más números separados por comas, dos puntos y una secuencia de instrucciones. Si una opción incluye varios números, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos números.
   Opcionalmente, se puede agregar una opción final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutará sólo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores.

Repetitivas

Lazos Mientras 

   La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea verdadera. 
      Mientras <condición> Hacer 
            <instrucciones> 
      FinMientras 
vAl ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la condición y, si es verdadera, la ejecución se repite. Estos pasos se repiten mientras la condición sea verdadera. 
   Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condición resulta ser falsa. 
   Si la condición siempre es verdadera, al ejecutar esta instrucción se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición, de modo que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo.
   El ejemplo AdivinaNumero le da al usuario 10 intentos para adivinar un número generado aleatoriamente, utilizando esta estructura para verificar si el usuario acierta el número o si se agotan los intentos.

Lazos Repetir 

   La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condición sea verdadera.
      Repetir 
            <instrucciones> 
      Hasta Que <condición> 
   Al ejecutarse esta instrucción, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evalúa la condición. Si la condición es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condición. Esto se repite hasta que la condición sea verdadera. 
   Note que, dado que la condición se evalúa al final, las instrucciones del cuerpo del ciclo serán ejecutadas al menos una vez. 
   Además, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instrucción que modifique la o las variables involucradas en la condición de modo que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo.
   Si se utiliza sintaxis flexible (ver Opciones del PSeudocódigo) se permite opcionalmente utilizar Mientras Que en lugar de Hasta Que, de modo que el conjunto de acciones contenidas en el bucle se ejecuta mientras que la condición sea verdadera. Notar que la palabra Que es la que diferencia el uso de la palabra Mientras en la estructura repetir de la estructura Mientras. Es decir, si se omite la palabra que se considera como el comienzo de un bucle Mientras en lugar de el final de un bucle Repetir.

Lazos Para 

   La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces. 
      Para <variable> <- <inicial> Hasta <final> Con Paso <paso> Hacer 
            <instrucciones> 
      FinPara 

   Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evalúa si el valor almacenado en <variable> superó al valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la cláusula Con Paso <paso>, la variable <variable> se incrementará en 1.
   Si se habilita la sintaxis flexible en las configuración del lenguaje se pueden utilizar dos alternativas. La primer variante consiste en reemplazar el operador de asignación por la palabra clave Desde:
      Para <variable> Desde <inicial> Hasta <final> Con Paso <paso> Hacer ... 
De esta forma, la lectura de la sentencia resulta más obvia. Además, con sintaxis flexible, si no se especifica el paso pero el valor final es menor al inicial, el bucle recorrerá los valores en orden inverso como si el paso fuera -1. La segunda variante solo sirve para recorrer arreglos de una o más dimensiones. Se introduce con la construcción Para Cada seguida de un identificador, la palabra clave De y otro identificador:
      Para Cada <elemento> De <Arreglo> Hacer ... 
El segundo identificador debe corresponder a un arreglo. El primero será el que irá variando en cada iteración. El ciclo realizará tantas iteraciones como elementos contenga el arreglo y en cada uno el primer identificador servirá para refererirse al elemento del arreglo en cuestión.
   El ejemplo Promedio utiliza un bucle de este tipo para leer N valores numéricos con los cuales calcula un promedio.
   El ejemplo Para utiliza las tres variantes de este tipo de bucles para recorrer un arreglo.

martes, 14 de noviembre de 2017

ESTRUCTURAS ALGORÍTMICAS CONDICIONALES

ESTRUCTURAS ALGORÍTMICAS CONDICIONALES

Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. 

Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. 



Existen tres tipos:

SimplesSe ejecuta una determinada acción cuando se cumple determinanda  condición.



Si < Condición > entonces


    < Intrucción(es) >


Fin si

EJEMPLOIngresar el sueldo de una persona, si supera los 3000 dólares mostrar un mensaje en pantalla indicando que debe abonar impuestos.



Diagrama de flujo:

problema estructura condicional simple


Podemos observar lo siguiente: Siempre se hace la carga del sueldo, pero si el sueldo que ingresamos supera 3000 dólares se mostrará por pantalla el mensaje "Esta persona debe abonar impuestos", en caso contrario (Falso) que la persona cobre 3000 dólares o menos no aparece nada por pantalla.


DoblesSon aquellos que permiten elegir entre dos opciones (alternativas) posibles.




Si < Condición > entonces
      < Instrucción(es) >
Sino
      < Instrucción(es) >
Fin si

EJEMPLORealizar un programa que solicite ingresar dos números distintos y muestre por pantalla el mayor de ellos.

Diagrama de flujo:

problema estructura condicional compuesta
Se hace la entrada de num1 y num2 por teclado. Para saber cual variable tiene un valor mayor preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es verdadera vamos por la rama de la derecha e imprimimos num1, en caso que la condición sea falsa vamos por la rama de la izquierda (Falso) e imprimimos num2. Como podemos observar nunca se imprimen num1 y num2 simultáneamente. 

Múltiplesson aquellos que permiten elegir cuando hay mas de dos elecciones o alternativas posibles.



Si < Condición 1 > entonces
     Si < Condición 2 >entonces 
             < instrucción(es) >
     Sino 
            < instrucción(es) > 
     Fin si
Sino
      < instrucción(es) > 
Fin si


    miércoles, 18 de octubre de 2017

    ESTRUCTURAS ALGORITMICAS

    ESTRUCTURAS ALGORÍTMICAS

    Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realización de procesos específicos que nos lleven a la solución de problemas. 

    Estas estructuras se clasifican de acuerdo con su complejidad en:

    Resultado de imagen para estructuras algoritmicas

    ALGORITMOS CON ESTRUCTURAS SECUENCIALES

    La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. 

    Asignación:

    La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma:

    ·   Simples: Consiste en pasar un valor constate a una variable (a=10)
    ·  Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a=a+1)
    ·   Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)
    ·  De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*5/2).

    Lectura (Entrada):

    La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocodigo como sigue:

                Leer a, b

                Donde “a” y “b” son las variables que recibirán los valores

    Escritura (Salida):

    Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue:

                Escribe “El resultado es:”, R

                Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.

    Una Estructura Secuencial se representa de la siguiente forma: 




    Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en Diagrama de flujos: 

    • Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo. 


    El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como muestra de una estructura secuencial. 

    Bloque Control

                   nnnn                                                      nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...