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:
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. Una
estructura secuencial se representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AcciónN
Fin
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> entonces
Acció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> entonces
Acción(es)
si no
Acción(es)
Fin si
Donde:
Si ………………… Indica el comando de comparación
Condición………… Indica la condición a evaluar
entonces……..…… Precede a las acciones a realizar cuando se cumple la condición
acción(es)………… Son las acciones a realizar cuando se cumple o no la condición
si 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> entonces
Acción(es)
si no
Accion(es)
Fin Si
Fin Si
Ejemplo
• Escribir un algoritmo en pseudocodigo para determinar si un número ingresado
por teclado es par o impar.
Inicio
Definir numero, residuo como Entero
Escribir “Ingrese un número para validar”
Leer numero
si numero == 0
Escribir “Numero ingresado es 0”
sino
residuo = resto (numero/2)
si residuo == 0
Escribir “El numero es par”
sino
Escribir “El número es impar”
fin si
fin si
Fin
Estructura condicional EN CASO
En Caso Variable
Op1: Acción(es)
Op2: Acción(es)
.
.
OpN: acción
si 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) Mientras
b) 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 1
Accion 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, Nota7
Real 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 Nota
Real Promedio, Suma
Entero C_Nota, i
Leer C_Nota
Suma = 0
Para (i = 1 ; C_Nota ; 1)
Leer Nota
Suma = Suma + Nota
Fin Para
Promedio = Suma / C_Nota
Escribir 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, Cubo
Entero i
Para (i = 1 ; 10 ; 1)
Escribir “Ingrese un numero: ”,i
Leer Numero
Cuadrado = Numero * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
Fin Para
Fin
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_1
Acció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 * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
Leer Numero
Fin Mientras
Fin
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)
inicio
num=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

Estructuras de control algoritmos dq

  • 1.
    ESTRUCTURAS ALGORITMICAS Las estructurasde 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:
  • 2.
    Estructuras Secuenciales La estructurasecuencial 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: Inicio Accion1 Accion2 . . AcciónN Fin
  • 3.
    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).
  • 4.
    Lectura: La lectura consisteen 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.
  • 5.
    Estructuras de Condicionales Lasestructuras 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.
  • 6.
    Simples: Las estructurascondicionales simples se les conoce como “Tomas de decisión”. Si <condición> entonces Acció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> entonces Acción(es) si no Acción(es) Fin si Donde: Si ………………… Indica el comando de comparación Condición………… Indica la condición a evaluar entonces……..…… Precede a las acciones a realizar cuando se cumple la condición acción(es)………… Son las acciones a realizar cuando se cumple o no la condición si no……………… Precede a las acciones a realizar cuando no se cumple la condición
  • 7.
    Dependiendo de sila 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> entonces Acción(es) si no Accion(es) Fin Si Fin Si
  • 8.
    Ejemplo • Escribir unalgoritmo en pseudocodigo para determinar si un número ingresado por teclado es par o impar. Inicio Definir numero, residuo como Entero Escribir “Ingrese un número para validar” Leer numero si numero == 0 Escribir “Numero ingresado es 0” sino residuo = resto (numero/2) si residuo == 0 Escribir “El numero es par” sino Escribir “El número es impar” fin si fin si Fin
  • 9.
    Estructura condicional ENCASO En Caso Variable Op1: Acción(es) Op2: Acción(es) . . OpN: acción si no: accion Fin En Caso
  • 10.
    Ejemplo: 1) Dado unnú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.
  • 12.
    Estructuras Iterativas (Cíclicas) Sellaman 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) Mientras b) Hacer - mientras
  • 13.
    Ciclos con unNumero 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 1 Accion 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
  • 14.
    Ejemplo: Calcular el promediode 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, Nota7 Real Promedio Leer Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7 Promedio = (Nota1+ Nota2+ Nota3+ Nota4+ Nota5+ Nota6+ Nota7)/7 Escribir Promedio Fin
  • 15.
    Alternativa 2 (Considerariteración) Algoritmo Inicio Real Nota Real Promedio, Suma Entero C_Nota, i Leer C_Nota Suma = 0 Para (i = 1 ; C_Nota ; 1) Leer Nota Suma = Suma + Nota Fin Para Promedio = Suma / C_Nota Escribir Promedio Fin
  • 16.
    Ejercicio Leer 10 númerosy obtener su cuadrado y su cubo.
  • 17.
    Ejemplo Leer 10 númerosy obtener su cuadrado y su cubo. Algoritmo Inicio Entero Numero, Cuadrado, Cubo Entero i Para (i = 1 ; 10 ; 1) Escribir “Ingrese un numero: ”,i Leer Numero Cuadrado = Numero * Numero Cubo = Cuadrado * Numero Escribir Cuadrado, Cubo Fin Para Fin
  • 18.
    Ciclos con unNumero 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_1 Acción_2 … Acción_N Fin Mientras
  • 19.
    Ejemplo Leer números enterospositivos 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 * Numero Cubo = Cuadrado * Numero Escribir Cuadrado, Cubo Leer Numero Fin Mientras Fin
  • 20.
    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)
  • 21.
    inicio num=0; cont=1; fact=1; Escribir "Calculo defactorial 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