Estructuras de control algoritmos dq

21
ESTRUCTURAS ALGORITMICAS Las 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:

Transcript of Estructuras de control algoritmos dq

Page 1: Estructuras de control algoritmos   dq

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:

Page 2: Estructuras de control algoritmos   dq

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

Page 3: Estructuras de control algoritmos   dq

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).

Page 4: Estructuras de control algoritmos   dq

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.

Page 5: Estructuras de control algoritmos   dq

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.

Page 6: Estructuras de control algoritmos   dq

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

Page 7: Estructuras de control algoritmos   dq

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

Page 8: Estructuras de control algoritmos   dq

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

Page 9: Estructuras de control algoritmos   dq

Estructura condicional EN CASO

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

. .OpN: acciónsi no: accion

Fin En Caso

Page 10: Estructuras de control algoritmos   dq

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.

Page 11: Estructuras de control algoritmos   dq
Page 12: Estructuras de control algoritmos   dq

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

Page 13: Estructuras de control algoritmos   dq

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

Page 14: Estructuras de control algoritmos   dq

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

Page 15: Estructuras de control algoritmos   dq

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

Page 16: Estructuras de control algoritmos   dq

Ejercicio

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

Page 17: Estructuras de control algoritmos   dq

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

Page 18: Estructuras de control algoritmos   dq

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

Page 19: Estructuras de control algoritmos   dq

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

Page 20: Estructuras de control algoritmos   dq

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)

Page 21: Estructuras de control algoritmos   dq

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