ESTRUCTURAS ALGORITMICASProf. Carlos M. Sandoval Riveracsandoval@aupr.eduUnidad 5:
OBJETIVO EDUCACIONALConocerá las diferentes estructuras algorítmicas como componentes básicos de los programas y aplicara la combinación de ellas para el desarrollo de algoritmos más complejos.
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:AsignaciónEntradaSecuencialesSalidaEstruturasalgoritmicasSimplesCondicionalesMultiplesHacerparaCíclicasHacermientrasRepetirhasta
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.
Estructuras SecuencialesUna estructura secuencial  se representa de la siguiente forma:
Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmosrepresentados en Pseudocódigo y en diagramas de flujos:Problema: Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo.
AsignaciónLa 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=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).< Variable >         <valor o expresión >
Ejemplos de AsignaciónA =100 ; significa que a la variable A se le ha asignado el valor 100, ahora A vale 100.suma = 5+10; asigna el valor 15 a la variable suma a través de una asignación aritmética.x  =z + v ; asigna el valor de la suma de las variables z y v a la variable x. El resultado depende de los valores que se asignen a x y a z.
Entrada y Salida de InformaciónLos datos que vamos a obtener del usuario para procesarlos también deben ser asignados a variables, la operación de lectura, lee un dato y lo asigna a una variable. La instrucción para la lectura de un dato es leer o también ingresar. LecturaLa lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocódigo como sigue:Leer a, bDonde “a” y “b” son las variables que recibirán los valores
Por ejemplo:leer numeroEsta instrucción pide al usuario un valor que será asignado a la variable numero, es decir, en numero se almacena el valor ingresado por el usuario.leer Edad, Peso, SexoRepresenta la lectura de tres valores que se van a almacenar en las variables Edad, Peso y Sexo; en ese mismo orden.Ya tenemos nuestro primer comando: leer
Ahora bien, cuando queramos mostrar el resultado del algoritmo, un mensaje, un valor, etc., vamos a utilizar el comando imprimir. Por ejemplo:imprimir "Hola" ; muestra en la pantalla el mensaje Hola, Hola va entre comillas porque es una cadena.imprimir A; muestra en la pantalla el valor que está almacenado en la variable A.imprimir "El valor del promedio es:", promedioEsta instrucción muestra el mensaje que está entre comillas y luego el valor de la variable promedio. La coma separa el mensaje de la variable. Si promedio vale 5, lo que se verá en la pantalla será:El valor del promedio es: 5
EscrituraConsiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocódigo como sigue:Escribe “El resultado es:”, RDonde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.
Resolución de ProblemasAntes de resolver un problema por medio de un pseudocódigo, es necesario definirlo y comprenderlo claramente. Leeremos con atención el enunciado del problema y una vez comprendido responderemos a las preguntas:¿ Qué información debe proporcionar la resolución del problema?¿ Cuáles son los datos que necesito para resolver el problema?
La respuesta de la primera pregunta nos dice que salidas va a proporcionar el algoritmo y la segunda qué datos se nos proporcionan para resolver el problema y cuáles debemos calcularlos.
Problemas para resolver
Problema #1: Leer las longitudes de un rectángulo y calcular la superficie y el perímetro.Para calcular el área y el perímetro de un rectángulo, se necesitan las medidas del ancho y el alto, estas medidas serán leídas en dos variables.Las salidas serán los valores del área y el perímetro que serán calculados utilizando fórmulas.
Problema #2: Escribir un pseudocódigo que intercambie el valor de dos variables.Si se tienen, por ejemplo A = 5 y B = 10, se quiere intercambiar el valor de las variables, así:A = 10; B = 5.No podemos asignar directamente el valor de una a la otra porque uno de los valores se destruiría; de modo que esto no se puede hacer:A = B (el valor de A se pierde y quedaría A = 10 ; B = 10)
La solución consiste en asignar el valor de una de las variables a otra variable auxiliar.leer A,B ........ Se pide al usuario dos valores. Supongamos que se ha ingresado A = 100 ; B = 5Auxiliar =A ........ Se asigna a Auxiliar el valor 100. Auxiliar vale 100.El valor de las variables es:  ABAuxiliar100	5	100A= B ........ Se asigna a A el valor de B para intercambiar. Ahora el valor de las variables es:ABAuxiliar5	5	100El intercambio está hecho. Luego se imprimen los respectivos valores ya intercambiados con la línea:imprimir A,B
Problemas SecuencialesSupongamos que una persona desea invertir su capital en una cooperativa y desea saber cuánto dinero ganara después de un mes si la cooperativa paga a razón de 6% mensual.InicioLeer capital_invgan=capital_inv * 0.06Imprimir ganFin
Problemas SecuencialesUn comerciante recibe un sueldo base mas un 20% extra por comisión de sus ventas, el comerciante desea saber cuanto dinero obtendrá por concepto de comisiones por las dos ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
Inicio	   Leer sueldo_base, venta1, venta2total_venta = venta1 + venta2comision = total_venta * 0.20total_pagar = sueldo_base + comisionImprimirtotal_pagar, comisionFin
ESTRUCTURAS ALGORITMICASProf. Carlos M. Sandoval Rivera

Unidad 5 Estructuras algoritmicas

  • 1.
    ESTRUCTURAS ALGORITMICASProf. CarlosM. Sandoval Riveracsandoval@aupr.eduUnidad 5:
  • 2.
    OBJETIVO EDUCACIONALConocerá lasdiferentes estructuras algorítmicas como componentes básicos de los programas y aplicara la combinación de ellas para el desarrollo de algoritmos más complejos.
  • 3.
    ESTRUCTURAS ALGORITMICASLas 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.
  • 5.
    Estas estructuras seclasifican de acuerdo con su complejidad en:AsignaciónEntradaSecuencialesSalidaEstruturasalgoritmicasSimplesCondicionalesMultiplesHacerparaCíclicasHacermientrasRepetirhasta
  • 6.
    Estructuras SecuencialesLa 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.
  • 7.
    Estructuras SecuencialesUna estructurasecuencial se representa de la siguiente forma:
  • 8.
    Observe el siguienteproblema de tipo cotidiano y sus respectivos algoritmosrepresentados en Pseudocódigo y en diagramas de flujos:Problema: Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo.
  • 9.
    AsignaciónLa 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=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).< Variable > <valor o expresión >
  • 10.
    Ejemplos de AsignaciónA=100 ; significa que a la variable A se le ha asignado el valor 100, ahora A vale 100.suma = 5+10; asigna el valor 15 a la variable suma a través de una asignación aritmética.x  =z + v ; asigna el valor de la suma de las variables z y v a la variable x. El resultado depende de los valores que se asignen a x y a z.
  • 11.
    Entrada y Salidade InformaciónLos datos que vamos a obtener del usuario para procesarlos también deben ser asignados a variables, la operación de lectura, lee un dato y lo asigna a una variable. La instrucción para la lectura de un dato es leer o también ingresar. LecturaLa lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocódigo como sigue:Leer a, bDonde “a” y “b” son las variables que recibirán los valores
  • 12.
    Por ejemplo:leer numeroEstainstrucción pide al usuario un valor que será asignado a la variable numero, es decir, en numero se almacena el valor ingresado por el usuario.leer Edad, Peso, SexoRepresenta la lectura de tres valores que se van a almacenar en las variables Edad, Peso y Sexo; en ese mismo orden.Ya tenemos nuestro primer comando: leer
  • 13.
    Ahora bien, cuandoqueramos mostrar el resultado del algoritmo, un mensaje, un valor, etc., vamos a utilizar el comando imprimir. Por ejemplo:imprimir "Hola" ; muestra en la pantalla el mensaje Hola, Hola va entre comillas porque es una cadena.imprimir A; muestra en la pantalla el valor que está almacenado en la variable A.imprimir "El valor del promedio es:", promedioEsta instrucción muestra el mensaje que está entre comillas y luego el valor de la variable promedio. La coma separa el mensaje de la variable. Si promedio vale 5, lo que se verá en la pantalla será:El valor del promedio es: 5
  • 14.
    EscrituraConsiste en mandarpor un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocódigo como sigue:Escribe “El resultado es:”, RDonde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.
  • 15.
    Resolución de ProblemasAntesde resolver un problema por medio de un pseudocódigo, es necesario definirlo y comprenderlo claramente. Leeremos con atención el enunciado del problema y una vez comprendido responderemos a las preguntas:¿ Qué información debe proporcionar la resolución del problema?¿ Cuáles son los datos que necesito para resolver el problema?
  • 16.
    La respuesta dela primera pregunta nos dice que salidas va a proporcionar el algoritmo y la segunda qué datos se nos proporcionan para resolver el problema y cuáles debemos calcularlos.
  • 17.
  • 18.
    Problema #1: Leerlas longitudes de un rectángulo y calcular la superficie y el perímetro.Para calcular el área y el perímetro de un rectángulo, se necesitan las medidas del ancho y el alto, estas medidas serán leídas en dos variables.Las salidas serán los valores del área y el perímetro que serán calculados utilizando fórmulas.
  • 19.
    Problema #2: Escribirun pseudocódigo que intercambie el valor de dos variables.Si se tienen, por ejemplo A = 5 y B = 10, se quiere intercambiar el valor de las variables, así:A = 10; B = 5.No podemos asignar directamente el valor de una a la otra porque uno de los valores se destruiría; de modo que esto no se puede hacer:A = B (el valor de A se pierde y quedaría A = 10 ; B = 10)
  • 20.
    La solución consisteen asignar el valor de una de las variables a otra variable auxiliar.leer A,B ........ Se pide al usuario dos valores. Supongamos que se ha ingresado A = 100 ; B = 5Auxiliar =A ........ Se asigna a Auxiliar el valor 100. Auxiliar vale 100.El valor de las variables es:  ABAuxiliar100 5 100A= B ........ Se asigna a A el valor de B para intercambiar. Ahora el valor de las variables es:ABAuxiliar5 5 100El intercambio está hecho. Luego se imprimen los respectivos valores ya intercambiados con la línea:imprimir A,B
  • 21.
    Problemas SecuencialesSupongamos queuna persona desea invertir su capital en una cooperativa y desea saber cuánto dinero ganara después de un mes si la cooperativa paga a razón de 6% mensual.InicioLeer capital_invgan=capital_inv * 0.06Imprimir ganFin
  • 22.
    Problemas SecuencialesUn comercianterecibe un sueldo base mas un 20% extra por comisión de sus ventas, el comerciante desea saber cuanto dinero obtendrá por concepto de comisiones por las dos ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
  • 23.
    Inicio Leer sueldo_base, venta1, venta2total_venta = venta1 + venta2comision = total_venta * 0.20total_pagar = sueldo_base + comisionImprimirtotal_pagar, comisionFin
  • 24.