Estructuras de control algoritmos dq

Preview:

Citation preview

ESTRUCTURAS ALGORITMICASLas estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructuras SecuencialesLa 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. Una estructura secuencial se representa de la siguiente forma:

InicioAccion1Accion2

. .

AcciónNFin

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 constante a una variable (a = 15)

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 * 2 / 4).

Lectura:

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

Leer a, b

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

Escritura:

Consiste en mandar por un dispositivo de salida (monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudo código como sigue:

Escribir “El resultado es:”, R

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

Estructuras de 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 dos tipos básicos, las simples y las múltiples.

Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”.

Si <condición> entoncesAcción(es)

Fin si

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.

Si <condición> entoncesAcción(es)

si noAcción(es)

Fin siDonde:Si ………………… Indica el comando de comparaciónCondición………… Indica la condición a evaluarentonces……..…… Precede a las acciones a realizar cuando se cumple la condiciónacción(es)………… Son las acciones a realizar cuando se cumple o no la condiciónsi no……………… Precede a las acciones a realizar cuando no se cumple la condición

Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o mas acciones.

Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común es la siguiente:

Si <condición> entonces

Acción(es)si no

Si <condición> entoncesAcción(es)

si noAccion(es)

Fin SiFin Si

Ejemplo• Escribir un algoritmo en pseudocodigo para determinar si un número ingresado por

teclado es par o impar.InicioDefinir numero, residuo como EnteroEscribir “Ingrese un número para validar”Leer numerosi numero == 0Escribir “Numero ingresado es 0”sinoresiduo = resto (numero/2)si residuo == 0Escribir “El numero es par”sinoEscribir “El número es impar”fin sifin siFin

Estructura condicional EN CASO

En Caso VariableOp1: Acción(es)Op2: Acción(es)

. .OpN: acciónsi no: accion

Fin En Caso

Ejemplo:1) Dado un número entre 1 y 7 escriba su

correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo.

Exprese el algoritmo usando seudocódigo.

Estructuras Iterativas (Cíclicas)

Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).Los ciclos se clasifican en:

Ciclos con un Numero Determinado de Iteraciones: a) Para

Ciclos con un Numero Indeterminado de Iteraciones:a) Mientrasb) Hacer - mientras

Ciclos con un Numero Determinado de Iteraciones (Para)

Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente:

Para (Var_Control = Valor_Inicial ; Valor_Final ; Incremento_Var_Control)

Accion 1Accion 2…

Fin Para

Donde:

Var_Control es una variable que lleva la cuenta de las iteraciones.Valor_Inicial corresponde al primer valor que tomará Var_Control.Valor_Final corresponde al ultimo valor permitido para continuar iterando.Incremento_Var_Control corresponde al avance que tendrá Var_Control

Ejemplo:

Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseño Estructurado de Algoritmos.

Alternativa 1 (Sin considerar iteración)

Algoritmo Inicio

Real Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7Real Promedio

Leer Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7

Promedio = (Nota1+ Nota2+ Nota3+ Nota4+ Nota5+ Nota6+ Nota7)/7

Escribir Promedio Fin

Alternativa 2 (Considerar iteración)

Algoritmo Inicio

Real NotaReal Promedio, SumaEntero C_Nota, iLeer C_NotaSuma = 0Para (i = 1 ; C_Nota ; 1)

Leer NotaSuma = Suma + Nota

Fin ParaPromedio = Suma / C_NotaEscribir Promedio

Fin

Ejercicio

Leer 10 números y obtener su cuadrado y su cubo.

Ejemplo

Leer 10 números y obtener su cuadrado y su cubo.

Algoritmo Inicio

Entero Numero, Cuadrado, CuboEntero iPara (i = 1 ; 10 ; 1)

Escribir “Ingrese un numero: ”,iLeer NumeroCuadrado = Numero * NumeroCubo = Cuadrado * NumeroEscribir Cuadrado, Cubo

Fin ParaFin

Ciclos con un Numero Indeterminado de Iteraciones ( Mientras, Hacer - Mientras)

Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa.

Mientras: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente:

Mientras (Condición)Acción_1Acción_2…Acción_N

Fin Mientras

Ejemplo

Leer números enteros positivos hasta que el usuario ingrese 0 o un valor negativo y obtener su cuadrado y su cubo de los números ingresados.

Algoritmo Inicio

Entero Numero, Cuadrado, Cubo

Leer Numero Mientras (Numero > 0)

Cuadrado = Numero * NumeroCubo = Cuadrado * NumeroEscribir Cuadrado, CuboLeer Numero

Fin MientrasFin

Hacer - Mientras: Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Mientras, el Hacer - Mientras lo hace hasta que la condición se cumple y no mientras, como en el Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en la estructura Mientras puede ser que nunca llegue a entrar si la condición no se cumple desde un principio. La forma de esta estructura es la siguiente:

Hacer Acción_1 Acción_2 … Acción_N Mientras( Condición)

inicionum=0;cont=1;fact=1;Escribir "Calculo de factorial de un número";Escribir "---------------------------------";Escribir " ";Escribir "Ingrese un número";Leer num;Hacer

fact=fact*(cont+1);cont=cont+1;

Mientras (cont!=num)Escribir "el factorial de ",num," es: ",fact;

Fin

Recommended