SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Pontificia Universidad Católica de Valparaíso
                           Facultad de Ingeniería
                     Escuela de Ingeniería Informática




        “Algoritmos: Definiciones, Estructuras de
                       Control”

                                 Asignatura
                          INF 140 – Informática I
                                 Profesores
                       Pamela Hermosilla Monckton
                         Daniel Cabrera Paniagua




Profesores
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática


Tipos de Datos
   El principal objetivo de todo computador es el manejo de información o datos.
   Un dato es la expresión general que describe los elementos con los cuales
   opera un computador.
   Existen dos clases de tipos de datos: simples (sin estructura)
   y compuestos (estructurados)
    Los tipo de datos simples son los siguientes:
    Numéricos (entero, real)
                                                            Datos
    Lógicos (booleano)
    Carácter (char, string)

                         Numérico                      Carácter(es)                  Lógico



                Entero                          Real




   Profesores
                                                                            INF 140 – Informática I
   PHM/DCP
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática


  Elementos Básicos : Constantes, Variables,
  Identificadores y Expresiones

 Constante
 Elemento o partida de datos cuyo valor no cambia durante el desarrollo del
 algoritmo (o ejecución del programa).

Posición de memoria, referenciada por un identificador, que almacena un
dato que permanece sin cambios durante el algoritmo (o ejecución del
programa).

Pueden ser de tipo: entera, real, caracter o lógica.




Profesores
                                                                         INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática



  Variable
  Elemento o partida de datos cuyo valor puede cambiar durante el desarrollo
  del algoritmo (o ejecución del programa).

  Posición de memoria, referenciada por un identificador, donde se almacena
  un dato que puede cambiar durante el algoritmo (o ejecución del programa).

  Pueden ser de tipo: entero, real, carácter o lógica.


Una variable posee los siguientes atributos :

       1. Identificador (asignado por el programador).
       2. Tipo (describe su uso).


Una variable definida de un cierto tipo sólo puede tomar valores de ese tipo.




 Profesores
                                                                            INF 140 – Informática I
 PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática


     Identificador
    Nombre que posee una variable o constante (ALGORITMO).

•   Compuesto por un conjunto de caracteres alfanuméricos (El primero es
    usualmente una letra).

•   Deben ser significativos y tener relación con el objeto que representan.

•   No se deben utilizar como identificadores palabras reservadas del lenguaje
    de programación.

•   Ejemplo :

•   Nombre_Alumno, X, Edad, Sueldo_Bruto…….




    Profesores
                                                                            INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática


Expresiones
Combinaciones de constantes, variables, símbolos de operación, paréntesis y
funciones especiales.

Una expresión consta de: operadores y operandos.

Cada expresión toma un valor que se determina, de acuerdo a :

         •   Los valores que posean las variables y constantes implicadas.
         •   La ejecución de las operaciones involucradas.

Según el tipo de objetos que se manipulan las expresiones se clasifican en :

         •   Aritméticas
         •   Lógicas




Profesores
                                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática



Expresiones Aritméticas

•    Análogas a las fórmulas matemáticas :

        – Las variables y constantes (operandos) que las componen son de
          tipo numérico (entero o real)

        – Sus operadores son aritméticos : suma, resta, multiplicación,
          división, división entera y resto.

•    Ejemplo :
                            5+3=8                                 Resultado

        Operando          Operador



Profesores
                                                                            INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                            Escuela de Ingeniería Informática


Tabla de operadores
        Operador    Significado                Tipo Operando          Tipo Resultado

              +         Suma                      Entero/Real           Entero/Real


              -    Resta/Cambio                   Entero/Real           Entero/Real
                      Signo
              *     Multiplicación                Entero/Real           Entero/Real


              /     División Real                 Entero/Real                 Real


             DIV   División Entera                    Entero                Entero

             MOD   Módulo o Resto                     Entero                Entero



Profesores
                                                                      INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática




 Reglas de Prioridad
 •      Permiten determinar el orden en que se deben ejecutar las
        operaciones, cuando una expresión posee más de un operador.


 Orden de Prioridad

 •      Las operaciones entre paréntesis se evalúan primero.

 •      Si existen paréntesis anidados, las expresiones más internas tienen
        prioridad.

 •      Ejemplo : ((5+3)+(4+8)/2)+1




Profesores
                                                                            INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática



    Orden de Prioridad en Operadores Aritméticos

•            Las operaciones aritméticas dentro de una expresión suelen seguir el
             siguiente orden de prioridad :

       1.       Cambio de Signo ( - )
       2.       Multiplicación , División, División Entera y Resto (*, /, DIV, MOD)
       3.       Suma y Resta (+,-)

•            OBS : Si coinciden varios operadores de igual prioridad en una
             expresión o subexpresión encerrada entre paréntesis, el orden de
             evaluación es de izquierda a derecha.

•            Ejemplo : ((8-7+3) + (4*6/2))




Profesores
                                                                                 INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                     Escuela de Ingeniería Informática



 Expresiones Lógicas

 •           Un segundo tipo de expresiones son las de tipo lógica, que al ser
             evaluadas su resultado puede ser verdadero o falso.

 •           Las expresiones lógicas se forman usando :

                •   Operadores booleanos
                •   Operadores relacionales o de comparación




Profesores
                                                                               INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                              Escuela de Ingeniería Informática



 Operadores Booleanos

             Operador           Expresión Lógica                           Significado

                ¬                                                         Negación de p
                                           ¬p


                ∧                                                       Conjunción de P y Q
                                         P∧Q

                ∨                                                       Disyunción de P y Q
                                         P∨Q




Profesores
                                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                            Escuela de Ingeniería Informática



 Tablas de Verdad


                                              P                   Q       P∧ Q
             P       ¬P                       V                   V        V
             V        F                       V                   F        F
                                              F                   V        F
             F       V
                                              F                   F        F

                 P           Q                       P∨ Q
                 V           V                        V
                 V           F                        V
                 F           V                        V
                 F           F                        F


Profesores
                                                                      INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática



 Operadores Relacionales


  •          Permiten comparar valores de tipo numérico, carácter o lógico, y se
             usan para expresar condiciones dentro de los algoritmos.

  •          Los operadores relacionales son : >, <, =, >=, <=, <>

  •          SINTAXIS : <expresión 1> operador relacional <expresión 2>

                                                  ⇓

                           RESULTADO : Verdadero o Falso.




Profesores
                                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática



 Aplicación de los Operadores Relacionales


     •       Se aplican sobre datos de tipo: entero, real, lógico y carácter.

     1.      Aplicación en valores numéricos. (CONOCIDA)

     EJEMPLO : Si A = 3 y B = 2

                •   A > B (VERDADERO)

                •   A + B = 5 (VERDADERA)




Profesores
                                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                         Escuela de Ingeniería Informática



 Aplicación de los Operadores Relacionales


 2.              Aplicación en valores de tipo carácter.

 •               Requiere de una secuencia de ordenación de los caracteres:

             –      Alfabética (mayúsculas y minúsculas).

             –      Creciente en caracteres numéricos.

             –      Pero si se consideran caracteres especiales, se recurre a un código
                    normalizado, por ejemplo, el código ASCII.




Profesores
                                                                                   INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                         Escuela de Ingeniería Informática

Tabla ASCII (Código estándar americano para el intercambio
de información ).




Profesores
                                                                   INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática


       –     Aunque NO todos los computadores siguen el código normalizado
             en su juego completo de caracteres, sí son prácticamente estándar,
             los códigos de los caracteres alfanuméricos más usuales:

             •   Caracteres especiales : # , % , $ , ( , ) , + , - , / etc... , exigen
                 consultar el código de ordenación.

             •   Caracteres Numéricos : se encuentran en su orden natural.
                 (0...9)

             •   Caracteres Alfabéticos :

                 –   Mayúsculas A...Z (orden alfabético).

                 –   Minúsculas a..z siguen el criterio anterior.




Profesores
                                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática



 Aplicación de los Operadores Relacionales


3.           Aplicación en valores de tipo lógico.

                •   Constante FALSO es menor que la constante VERDADERA.




Profesores
                                                                                 INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                     Escuela de Ingeniería Informática




•            OBS : En las expresiones lógicas se pueden mezclar operadores
             relacionales y lógicos.

                              Ejemplo : ( 1 > 5 ) ∧ ( 8 <> 9 )




Profesores
                                                                               INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática



 Prioridad de Operadores en Expresiones Lógicas


             –   Prioridad 1 : ¬
             –   Prioridad 2 : ∧
             –   Prioridad 3 : ∨

             –   MENOR PRIORIDAD QUE TODOS LOS OPERADORES :
                 Relacionales ( <, >, <=……)

             –   TAMBIEN SE USAN PARÉNTESIS (MAYOR PRIORIDAD QUE
                 TODOS)




Profesores
                                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática



 Ejemplos


     •        ¬ 4 > 6 ERROR!!!!!!

     •        ¬ ( 4 > 6 ) = VERDADERO

     •        Si X = 7 , Z = 4

             (1 < X) ∧ (X < Z + 7) CUAL ES EL VALOR DE ESTA EXPRESIÓN????




Profesores
                                                                                 INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                          Escuela de Ingeniería Informática



 Resolución de Problemas


     •           3 fases básicas:

             –      Análisis del Problema

             –      Diseño del Algoritmo

             –      Codificación del Algoritmo en un LP




Profesores
                                                                                    INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática



 Análisis del Problema


    •            AYUDA a tener una compresión de la naturaleza del problema.

             –      PROBLEMA bien definido → solución satisfactoria.

             –      Especificaciones de entrada y salida descritas con detalle.

             SON REQUISITOS fundamentales para una solución eficaz.




Profesores
                                                                                 INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                        Escuela de Ingeniería Informática



     Análisis del Problema



•         El análisis del problema requiere de una primera lectura, para tener una idea
          general.

•         Una segunda lectura nos permitirá responder las siguientes preguntas :

      –          ¿ Qué datos se necesitan para resolver el problema ? ENTRADA

      –          ¿ Qué información debe proporcionar la resolución del problema ? SALIDA




    Profesores
                                                                                  INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                         Escuela de Ingeniería Informática



     EJEMPLO : Análisis del Problema


•        Calcular promedio de 3 Notas

                 Entrada : 3 Notas
                 Proceso: Suma aritmética de las Notas dividido por el Total de Notas
                 Salida : Promedio de Notas




    Profesores
                                                                                   INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática

     Diseño del Algoritmo => Pseudocódigo
•             Computador sólo resuelve problemas cuando : se le indican los pasos
              sucesivos que debe ejecutar (ALGORITMO).

•             Técnicas de Diseño :

          –      Diseño Descendente (DIVIDE y VENCERAS)
          –      Refinamiento Sucesivo (Primeros pasos INCOMPLETOS-
                 GENERALES)

•              ALGORITMO debe ser representado a través de alguna técnica que
              permita independizarlo del lenguaje de programación que se seleccionará
              para codificarlo.

•             La técnica de representación puede ser :

          –      Descriptiva (PSEUDOLENGUAJE)
          –      Gráfica (Diagrama de Flujo, Diagrama de Nassi-Schneiderman)
    Profesores
                                                                                 INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática

     Pseudocódigo
•            Lenguaje de especificación formal de algoritmos que permite representar
             las estructuras de control de la programación estructurada.

•            No puede ser ejecutado por un computador (debe ser traducido a un LP).

•            Compuesto por palabras reservadas, similares a las de sus homónimos
             en los lenguajes de programación que permiten representar acciones.

•            Su escritura exige el uso de indentación.




    Profesores
                                                                                 INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                         Escuela de Ingeniería Informática

     VENTAJAS Pseudocódigo
•            Programador se CONCENTRA en la LÓGICA y en las ESTRUCTURAS DE
             CONTROL, y no tanto en las REGLAS SINTÁCTICAS propias de los LP.

•            Fácil de modificar.

•            Fácil de traducir a LP.

•            Originalmente en Inglés , EN LA ACTUALIDAD en ESPAÑOL




    Profesores
                                                                                   INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                      Escuela de Ingeniería Informática

     ¿Cómo escribir un ALGORITMO en pseudolenguaje?
•             La estructura de un algoritmo en pseudocódigo posee dos PARTES :

          –      Cabecera
          –      Bloque (Cuerpo) del Algoritmo




    Profesores
                                                                                INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática

 Cabecera
   •         TODO algoritmo debe comenzar con una cabecera.
   •         Acción simple que comienza con la palabra reservada ALGORITMO,
             seguida de un identificador.


   SINTAXIS :
                             ALGORITMO <identificador>


   EJEMPLO :
                         ALGORITMO Promedio_de_Notas




Profesores
                                                                            INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                        Escuela de Ingeniería Informática

 Cuerpo del Algoritmo
 •               Es el resto del algoritmo y esta compuesto a su vez de 2 bloques :


             –      Bloque de Declaraciones : contiene la declaración de las constantes
                    y variables que serán utilizadas en el algoritmo.



             –      Bloque de Pasos (Acciones o Instrucciones) : contiene las acciones
                    que nos permitirán resolver el problema, para el cual fue diseñado
                    el algoritmo, cada acción se escribirá en una línea independiente.




Profesores
                                                                                  INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática

 Bloque de Declaraciones : Declaración de Constantes
 •           Esta sección comienza con la palabra reservada CONST (abreviatura
             de Constante) y su sintaxis es :


 CONST           <identificador_constante_1> = <valor_1>
                <identificador_constante_2> = <valor_2>
                                                                              Valor determina Tipo
                                  :
                                  :
                <identificador_constante_N> = <valor_N>


 Ejemplo :              CONST PI=3.141516
                                  IVA=0.19




Profesores
                                                                                  INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática

 Bloque de Declaraciones : Declaración de Variables
   •         Esta sección comienza con la palabra reservada VAR (abreviatura de
             Variable) y su sintaxis es :


   Var       <tipo 1> : <lista de variables (separadas por ,) >
                 …
             <tipo j> : <lista de variables (separadas por ,) >


   Ejemplo :            VAR        real : x,y,z
                                   entero : a,b,c
                                   caracter : letra




Profesores
                                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                       Escuela de Ingeniería Informática

 Bloque de Acciones : Tipos de Instrucciones
    •            Repertorio de instrucciones disponibles en cada lenguaje de
                 programación es variable.


    •            PERO …… Existen instrucciones básicas, comunes y soportadas por
                 todos los lenguajes y que pueden ser utilizadas de forma general en
                 la escritura de un algoritmo :


             –      Instrucciones de Inicio-Fin.
             –      Instrucción de Asignación.
             –      Instrucción de Lectura.
             –      Instrucción de Escritura.
             –      Instrucciones de Bifurcación.




Profesores
                                                                                 INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática

 Tipo de Instrucciones : Instrucciones de Inicio-Fin
       •     La primera instrucción del bloque de acciones del algoritmo será
             INICIO y la última instrucción será FIN.


       INICIO
             <acción 1>
             <acción 2>
             <acción 3>
                :
             <acción n>
       FIN




Profesores
                                                                            INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                        Escuela de Ingeniería Informática

     Tipo de Instrucciones : Instrucción de Asignación
                                                                                  <Valor> puede ser : una
•            Permite almacenar un valor en una variable.
                                                                                  constante, una variable
                                                                                  o el resultado de la
•            Operador de asignación : ←                                           evaluación de una
                                                                                  expresión.
Sintaxis :                < Identificador de Variable> ← <Valor>


•            La instrucción de asignación se ejecuta en dos pasos :


                 1.   Se calcula el valor al lado derecho del operador de asignación.
                 2.   El valor calculado se almacena en la variable cuyo nombre aparece
                      a la izquierda del operador de asignación, sustituyendo el valor
                      que esta tenía anteriormente (instrucción DESTRUCTIVA).




    Profesores
                                                                                       INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                         Escuela de Ingeniería Informática

 Tipo de Instrucciones : Instrucción de Asignación
             •        Ejemplos :

             A←1
             B←A+3
             C ← B/2
             Vocal ← ‘A’

             •        INICIALIZACIÓN DE UNA VARIABLE : Variables al ser
                      declaradas tienen un valor indeterminado
             •        INCOMPATIBILIDAD DE TIPOS

             Var entero : A
             Inicio
                      A←0
                      A ← 5.56
             Fin

Profesores
                                                                                   INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                        Escuela de Ingeniería Informática

     Tipo de Instrucciones : Instrucción de Lectura
•            Instrucción de Lectura o entrada de datos, permite extraer uno o más
             valores desde un dispositivo de entrada (teclado, unidades de disco etc...) y
             almacenarlos en memoria en la(s) variable(s) indicada(s) dentro de la propia
             instrucción.

•            Sintaxis : Leer ( < lista_de_variables > )

                 ó
                       Leer ( < variable_1 > )
                       Leer ( < variable_2 > )
                       Leer ( < variable_3 > )

•            ¿ Cuál será el significado de la siguiente instrucción de lectura ?
              Leer(edad, peso)

•            Si se ingresan los valores 25 – 59.3
•            NO SE PUEDEN LEER DATOS DE TIPO Lógico

    Profesores
                                                                                  INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                        Escuela de Ingeniería Informática

     Tipo de Instrucciones : Instrucción de Escritura
•            Instrucción de salida o escritura de resultados permite enviar resultados
             hacia dispositivos de salida (pantalla, impresora etc...).


•            Los datos enviados pueden ser constantes, variables, resultados de
             expresiones, mensajes o una mezcla de ellos separados en dicho caso por
             comas.


•            Sintaxis : Escribir ( < lista_de_expresiones > )

•            ¿ Cuál será el significado de la siguiente instrucción de escritura ?

Escribir(“HOLA”)
Escribir(“promedio = ”, promedio)
Escribir (“ A + B “, A+B)



    Profesores
                                                                                  INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática


Calcular el promedio de 3 notas.
1. Inicio
2. Leer nota 1
3. Leer nota 2
3. Leer nota 3
4. Asignar a suma_de_notas el resultado de nota1 + nota2 + nota3
5. Asignar a promedio el resultado de suma_de_notas / 3
6. Escribir resultado
7. Fin

Algoritmo Calcular_Promedio
Var real: nota1,nota2,nota3, suma_de_notas, prom
Inicio
 leer (nota1)
 leer (nota2)
 leer (nota3)
 suma_de_notas       nota1 + nota2 + nota3
 prom      suma_de_notas / 3
 escribir(“promedio es: “,prom)
Fin


Profesores
                                                                         INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                  Escuela de Ingeniería Informática



                            Estructuras de control
    Las estructuras de control son las que permiten conducir el flujo del
    programa, existen dos tipos de estructuras de control las estructuras
    selectivas y las estructuras repetitivas.

Estructuras selectivas
    Las estructuras selectivas se utilizan para tomar decisiones lógicas, también
    son llamadas estructuras de decisión o alternativas.

Alternativa simple

   si <condicion> entonces              si (numero MOD 2 = 0) entonces
     <accion 1>                           escribir(“número es par”)
     <accion 2>                         fin_si

     <accion n>
   fin_si



   Profesores
                                                                            INF 140 – Informática I
   PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                Escuela de Ingeniería Informática

Alternativa doble
 si <condicion>                           si (numero MOD 2 = 0)
  entonces                                   entonces
     <accion 1>                                  escribir(“número es par”)
                                            si_no
      <accion n>                                 escribir(“número es impar”)
    si_no                                 fin_si
      <accion p>

     <accion z>
 fin_si

Alternativa multiple
 segun_sea <expresion_E> hacer             segun_sea dia MOD              7 hacer
   e1: <accion 1>                            1: escribir(“el              día es Lunes”)
   e2: <accion 2>                            2: escribir(“el              día es Martes”)
   e3: <accion 3>                            3: escribir(“el              día es Miércoles”)
                                             4: escribir(“el              día es Jueves”)
   en: <accion n>                            5: escribir(“el              día es Viernes”)
 fin_si                                      6: escribir(“el              día es Sábado”)
                                             0: escribir(“el              día es Domingo”)
                                           fin_si




   Profesores
                                                                                INF 140 – Informática I
   PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática


                                                                      si <condicion 1>
Estructuras selectivas anidadas
                                                                       entonces
                                                                          si <condicion 2>
    Las estructuras selectivas si y si-sino                                 entonces
    implican la selección de una de dos                                        <accion 1>
                                                                                 .. ..
    alternativas. Es posible utilizar la instrucción
                                                                               <accion n>
    si para diseñar estructuras de selección
                                                                            sino
    que contengan más de dos alternativas.                                     <accion p>
                                                                                 .. ..
                                                                               <accion s>
                                                                           fin_si
     si <condicion 1> entonces
                                                                       sino
       si <condicion 2> entonces
                                                                          si <condicion 3>
         <accion 1>
                                                                            entonces
         <accion 2>                                                           <accion f>
                                                                                .. ..
         <accion n>                                                           <accion k>
                                                                           sino
       fin_si
                                                                              <accion i>
     fin_si
                                                                               .. ..
                                                                              <accion z>
                                                                         fin_si
                                                                      fin_si



   Profesores
                                                                                INF 140 – Informática I
   PHM/DCP
Pontificia Universidad Católica de Valparaíso
                    Escuela de Ingeniería Informática




                     Ejercicio
• Desarrollar un algoritmo que calcule el
  promedio simple de 3 notas, y que en
  base al resultado obtenido, muestre la
  situación final (aprobado-reprobado).




Profesores
                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática




Algoritmo determinar_Aprobacion_Reprobacion
Var real: nota1,nota2,nota3, suma_de_notas, prom
Inicio
   leer (nota1)
   leer (nota2)
   leer (nota3)
   suma_de_notas       nota1 + nota2 + nota3
   prom      suma_de_notas / 3
   escribir (“promedio es: “,prom)
   si (prom >= 40 ) entonces
      escribir (“Aprobado !!! … Felicitaciones !!!”)
   sino
      escribir (“Ánimo, hay otra oportunidad !!! ”)
   fin_si
Fin




Profesores
                                                                           INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática


Estructuras repetitivas
     Las estructuras repetitivas se utilizan para repetir una o varias acciones un
     número determinado de veces.
Mientras
                                           mientras (i< 10) hacer
     mientras <condicion>
                                             escribir(“el número es: ”, i)
      hacer
       <accion 1>                            i    i+1
       <accion 2>                          fin_mientras

       <accion n>
     fin_mientras
Repetir
     repetir                               repetir
       <accion 1>                            escribir(“el número es:”, i)
       <accion 2>                            i    i+1
                                           hasta_que (i = 10)
       <accion n>
     hasta_que <condicion>


    Profesores
                                                                             INF 140 – Informática I
    PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                Escuela de Ingeniería Informática




Desde


     desde v    vi hasta vf
          [ incremento/decremento inc ]
       hacer
          <accion 1>
          <accion 2>

          <accion n>
     fin_desde


                       Desde i        1 hasta 10 hacer

                              escribir(“el número es:”, i)

                       fin_desde




  Profesores
                                                                          INF 140 – Informática I
  PHM/DCP
Pontificia Universidad Católica de Valparaíso
                   Escuela de Ingeniería Informática




                   Ejercicio
• Desarrollar un algoritmo que sume n
  números ingresados por un usuario, y
  luego muestre la suma de ellos.




Profesores
                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática



         Utilizando la estructura repetitiva
                     “Mientras”
Algoritmo sumar_numeros
Var real: nuevo_numero, suma
     caracter: continuar
Inicio
   continuar      ‘s’
   suma      0
   mientras (continuar = ‘s’) hacer
      escribir (“Ingrese un número”)
      leer (nuevo_numero)
      suma      suma + nuevo_numero
      escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”)
      leer (continuar)
   fin_mientras
   escribir(“La suma total es: “,suma)
fin


 Profesores
                                                                           INF 140 – Informática I
 PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática



              ¿Y si utilizamos la estructura
                          Repetir?
Algoritmo sumar_numeros
Var real: nuevo_numero, suma
    caracter: continuar
Inicio
   continuar     ‘s’
   suma      0
   repetir
     escribir (“Ingrese un número”)
     leer (nuevo_numero)
     suma      suma + nuevo_numero
     escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”)
     leer (continuar)
   hasta_que (continuar = ‘n’)
   escribir(“La suma total es: “,suma)
Fin


 Profesores
                                                                           INF 140 – Informática I
 PHM/DCP
Pontificia Universidad Católica de Valparaíso
                    Escuela de Ingeniería Informática




                   Ejercicio
• Desarrolle un algoritmo que calcule el
  factorial de un número X.




Profesores
                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                            Escuela de Ingeniería Informática



                       Análisis (1)
             ¿Qué es el factorial de un número?

    Resp: Producto que resulta de multiplicar un número
    entero positivo por todos los números inferiores a él,
                 llegando hasta el número 1.

Ejemplos:               3! = 1 * 2 * 3 = 6
                      4! = 1 * 2 * 3 * 4 = 24
                   5! = 1 * 2 * 3 * 4 * 5 = 120


Profesores
                                                                      INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática



                          Análisis (2)
                   ¿Cuáles son las entradas?

                   Resp: un número entero positivo.


                    ¿Cuáles son las salidas?

             Resp: un número entero positivo, producto de
                       multiplicaciones sucesivas.



Profesores
                                                                         INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                     Escuela de Ingeniería Informática



                Análisis (3)
             ¿Cuál es el proceso?

             4! = 1 * 2 * 3 * 4 = 24


                        2*

                               6*

                                     24
Profesores
                                                               INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                 Escuela de Ingeniería Informática




Algoritmo calcular_factorial
Var entero: numero, contador, factorial
Inicio
 factorial    1
 escribir (“Ingrese número para calcular factorial”)
 leer (numero)
 desde contador       factorial + 1 hasta numero
    factorial   factorial * contador
 fin_desde
 escribir (“ Factorial es: ”,factorial)
Fin




Profesores
                                                                           INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                    Escuela de Ingeniería Informática



 Estructuras repetitivas anidadas
 Así como las instrucciones selectivas (de condición) se pueden anidar, de
 igual forma se pueden anidar estructuras de selección, es posible insertar un
 bucle dentro de otro
 mientras <condicion1> hacer
   mientras <condicion2> hacer
                                                        desde v    vi hasta vf hacer
     <accion 1>
                                                          desde w    wj hasta wg hacer
     <accion 2>
                                                            <accion 1>
                                                            <accion 2>
     <accion n>
   fin_mientras
                                                            <accion n>
 fin_mientras
                                                          fin_desde
             repetir                                    fin_desde
               repetir
                 <accion 1>
                 <accion 2>

                 <accion n>
               hasta_que <condicion2>
             hasta_que <condicion1>
Profesores
                                                                              INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                              Escuela de Ingeniería Informática



 Estructuras repetitivas anidadas (continuación)

                                                   mientras <condicion1> hacer
                                                      repetir
                                                          <accion 1>
                                                          <accion 2>

                                                          <accion n>
                                                        hasta_que <condicion2>
                                                   fin_mientras
repetir
  mientras <condicion-i> hacer
        <accion 1>
        <accion 2>

       <accion n>
  fin_mientras
hasta_que <condicion-j>




Profesores
                                                                        INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                   Escuela de Ingeniería Informática




                    Ejercicio
• Desarrolle un algoritmo que permita
  calcular el promedio de n cantidad de
  notas, para m cantidad de asignaturas.




Profesores
                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                   Escuela de Ingeniería Informática

Algoritmo calcular_promedios
Var entero: nota, suma_de_notas, contador_notas, prom
      carácter: nombre_asignatura, continuar, nueva_nota
Inicio
  continuar      ‘s’
  mientras (continuar = ‘s’) hacer
     escribir (“Ingrese nombre de la asignatura”)
     leer (nombre_asignatura)
     suma_de_notas       0
     contador_notas      0
     repetir
       escribir (“Ingrese nota:”)
       leer (nota)
       suma_de_notas       suma_de_notas + nota
       contador_notas      contador_notas + 1
       escribir (“¿Desea ingresar una nueva nota? s = si ; n = no”)
       leer (nueva_nota)
     hasta_que (nueva_nota = ‘n’)
     prom      suma_de_notas / contador_notas
     escribir (“Asignatura: ”, nombre_asignatura)
     escribir (“Promedio: “,prom)
     escribir (“¿Desea ingresar una nueva asignatura? s = si ; n = no”?”)
     leer (continuar)
  fin_mientras
fin

Profesores
                                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                                     Escuela de Ingeniería Informática




                        Diagramas de Flujo



                                                          Decisión
             Terminal
                                                     Implica elección
       Inicio o final de
                                                     entre secuencias
         un algoritmo
                                                       alternativas.
                           Entrada/Salida                                           Proceso
                        Lectura de valores y                                    Proceso diferente
                            escritura de                                       de los procesos E/S
                             mensajes                                              y Decisiones



Profesores
                                                                                  INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                               Escuela de Ingeniería Informática

                  Estructuras de Control: Diagrama de Flujo


                                                                         Iteración
      Secuencia               Selección




Profesores
                                                                         INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                      Escuela de Ingeniería Informática

                    Estructuras de Control:

             Diagramas de Nassi - Schneiderman




Profesores
                                                                INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                   Escuela de Ingeniería Informática




                    Ejercicio
• Desarrollar un diagrama de flujo que
  permita calcular el promedio simple de 3
  notas, y que en base al resultado
  obtenido, muestre la situación final
  (aprobado-reprobado).




Profesores
                                                             INF 140 – Informática I
PHM/DCP
Pontificia Universidad Católica de Valparaíso
                        Escuela de Ingeniería Informática

                                   Inicio


                              Leer NOTA1,
                             NOTA2, NOTA3



                          SUMA_NOTAS
                        NOTA1 + NOTA2 + NOTA3


                              PROM
                            SUMA_NOTAS / 3



                              escribir PROM




                                PROM >= 40

               escribir                         escribir “ ánimo, hay
             “Aprobado !”                       otra oportunidad ! ”




                                     Fin

Profesores
                                                                        INF 140 – Informática I
PHM/DCP

Mais conteúdo relacionado

Destaque

III Plan Joven 2020.pdf
III Plan Joven 2020.pdfIII Plan Joven 2020.pdf
III Plan Joven 2020.pdfIrekia - EJGV
 
Intro to Computers
Intro to ComputersIntro to Computers
Intro to ComputersKristy
 
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...Daniel Aparicio Arriola
 
¿Cómo armar una publicidad?
¿Cómo armar una publicidad?¿Cómo armar una publicidad?
¿Cómo armar una publicidad?Lucía Cesareo
 
Samenvatting artikel 'The bearing of empirical research on sociological theor...
Samenvatting artikel 'The bearing of empirical research on sociological theor...Samenvatting artikel 'The bearing of empirical research on sociological theor...
Samenvatting artikel 'The bearing of empirical research on sociological theor...Leen Liefsoens
 

Destaque (9)

Lactancia
LactanciaLactancia
Lactancia
 
III Plan Joven 2020.pdf
III Plan Joven 2020.pdfIII Plan Joven 2020.pdf
III Plan Joven 2020.pdf
 
Intro to Computers
Intro to ComputersIntro to Computers
Intro to Computers
 
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...
INTECO_03 - Guía sobre seguridad y privacidad de las herramientas de geolocal...
 
¿Cómo armar una publicidad?
¿Cómo armar una publicidad?¿Cómo armar una publicidad?
¿Cómo armar una publicidad?
 
Samenvatting artikel 'The bearing of empirical research on sociological theor...
Samenvatting artikel 'The bearing of empirical research on sociological theor...Samenvatting artikel 'The bearing of empirical research on sociological theor...
Samenvatting artikel 'The bearing of empirical research on sociological theor...
 
Convocatoria examen consejo estatal 21 22 dic
Convocatoria examen consejo estatal 21 22 dicConvocatoria examen consejo estatal 21 22 dic
Convocatoria examen consejo estatal 21 22 dic
 
The evolution of decision making
The evolution of decision makingThe evolution of decision making
The evolution of decision making
 
Cd Para El Alumno
Cd Para El AlumnoCd Para El Alumno
Cd Para El Alumno
 

Semelhante a [Inf 140] Estructuras Repetitivas Y Selectivas (1 X Hoja)

[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)Daniel Barraza
 
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)Daniel Barraza
 
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)Daniel Barraza
 
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)Daniel Barraza
 
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)Daniel Barraza
 
[Inf 140] Estructuras Repetitivas Y Selectivas (4 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (4 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (4 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (4 X Hoja)Daniel Barraza
 
[Inf 140] Algoritmos Y Arreglos (1 X Hoja)
[Inf 140]  Algoritmos Y Arreglos (1 X Hoja)[Inf 140]  Algoritmos Y Arreglos (1 X Hoja)
[Inf 140] Algoritmos Y Arreglos (1 X Hoja)Daniel Barraza
 
Tema3y4
Tema3y4Tema3y4
Tema3y4UH
 

Semelhante a [Inf 140] Estructuras Repetitivas Y Selectivas (1 X Hoja) (8)

[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (3 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (3 Diap X Hoja)
 
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)[Inf 140] Procedimientos Y Funciones (1 X Hoja)
[Inf 140] Procedimientos Y Funciones (1 X Hoja)
 
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (6 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (6 X Hoja)
 
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (6 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (6 Diap X Hoja)
 
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)[Inf 140]   Introduccion A Los Algoritmos (4 Diap X Hoja)
[Inf 140] Introduccion A Los Algoritmos (4 Diap X Hoja)
 
[Inf 140] Estructuras Repetitivas Y Selectivas (4 X Hoja)
[Inf 140]   Estructuras Repetitivas Y Selectivas (4 X Hoja)[Inf 140]   Estructuras Repetitivas Y Selectivas (4 X Hoja)
[Inf 140] Estructuras Repetitivas Y Selectivas (4 X Hoja)
 
[Inf 140] Algoritmos Y Arreglos (1 X Hoja)
[Inf 140]  Algoritmos Y Arreglos (1 X Hoja)[Inf 140]  Algoritmos Y Arreglos (1 X Hoja)
[Inf 140] Algoritmos Y Arreglos (1 X Hoja)
 
Tema3y4
Tema3y4Tema3y4
Tema3y4
 

Mais de Daniel Barraza

Mais de Daniel Barraza (20)

Lista
ListaLista
Lista
 
[Pauta] [Inf 140] Control Ii
[Pauta] [Inf 140]   Control Ii[Pauta] [Inf 140]   Control Ii
[Pauta] [Inf 140] Control Ii
 
Lista
ListaLista
Lista
 
[Pauta] [Inf 140] Control I
[Pauta] [Inf 140]   Control I[Pauta] [Inf 140]   Control I
[Pauta] [Inf 140] Control I
 
[Pauta] [Inf 140] Certamen Ii
[Pauta] [Inf 140]   Certamen Ii[Pauta] [Inf 140]   Certamen Ii
[Pauta] [Inf 140] Certamen Ii
 
[Pauta] [Inf 140] Certamen I
[Pauta] [Inf 140]   Certamen I[Pauta] [Inf 140]   Certamen I
[Pauta] [Inf 140] Certamen I
 
Pauta Control1
Pauta Control1Pauta Control1
Pauta Control1
 
Ayudantia 1
Ayudantia 1Ayudantia 1
Ayudantia 1
 
Pauta Guia 1(1) Bloc De Notas
Pauta Guia 1(1)   Bloc De NotasPauta Guia 1(1)   Bloc De Notas
Pauta Guia 1(1) Bloc De Notas
 
Suma Numeros
Suma NumerosSuma Numeros
Suma Numeros
 
Pauta Guia 3
Pauta Guia 3Pauta Guia 3
Pauta Guia 3
 
Inf 140 Programa
Inf 140   ProgramaInf 140   Programa
Inf 140 Programa
 
Inf 140 Guia3 2008 01
Inf 140   Guia3 2008 01Inf 140   Guia3 2008 01
Inf 140 Guia3 2008 01
 
Inf 140 Guia2 2008 01
Inf 140   Guia2 2008 01Inf 140   Guia2 2008 01
Inf 140 Guia2 2008 01
 
Ejercicio Extra 1
Ejercicio Extra 1Ejercicio Extra 1
Ejercicio Extra 1
 
[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal[Pauta] Trabajo Grupal
[Pauta] Trabajo Grupal
 
[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)[Inf 140] Representacion Interna De Datos (1 X Hoja)
[Inf 140] Representacion Interna De Datos (1 X Hoja)
 
[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones[Inf 140] Programacion De Presentaciones
[Inf 140] Programacion De Presentaciones
 
[Inf 140] Guia4 2008 01
[Inf 140]   Guia4 2008 01[Inf 140]   Guia4 2008 01
[Inf 140] Guia4 2008 01
 
[Inf 140] Guia1 2008 01
[Inf 140]   Guia1 2008 01[Inf 140]   Guia1 2008 01
[Inf 140] Guia1 2008 01
 

Último

Catálogo de Oriflame Costa Rica Junio 2024
Catálogo de Oriflame Costa Rica Junio 2024Catálogo de Oriflame Costa Rica Junio 2024
Catálogo de Oriflame Costa Rica Junio 2024Karol Vargas
 
Un tema católica sobre ¿Qué es la liturgia?
Un tema católica sobre ¿Qué es la liturgia?Un tema católica sobre ¿Qué es la liturgia?
Un tema católica sobre ¿Qué es la liturgia?Angel Erazo
 
Catálogo de Oriflame Costa Rica Mayo 2024
Catálogo de Oriflame Costa Rica Mayo 2024Catálogo de Oriflame Costa Rica Mayo 2024
Catálogo de Oriflame Costa Rica Mayo 2024Karol Vargas
 
Instrucciones en español para el juego de mesa coup
Instrucciones en español para el juego de mesa coupInstrucciones en español para el juego de mesa coup
Instrucciones en español para el juego de mesa coupUlisesGonzlezMartnez2
 
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIO
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIOEL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIO
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIOOtonVelez
 

Último (6)

Catálogo de Oriflame Costa Rica Junio 2024
Catálogo de Oriflame Costa Rica Junio 2024Catálogo de Oriflame Costa Rica Junio 2024
Catálogo de Oriflame Costa Rica Junio 2024
 
Un tema católica sobre ¿Qué es la liturgia?
Un tema católica sobre ¿Qué es la liturgia?Un tema católica sobre ¿Qué es la liturgia?
Un tema católica sobre ¿Qué es la liturgia?
 
Catálogo de Oriflame Costa Rica Mayo 2024
Catálogo de Oriflame Costa Rica Mayo 2024Catálogo de Oriflame Costa Rica Mayo 2024
Catálogo de Oriflame Costa Rica Mayo 2024
 
FALUN DAFA un estilo de vida diferente.pdf
FALUN DAFA un estilo de vida diferente.pdfFALUN DAFA un estilo de vida diferente.pdf
FALUN DAFA un estilo de vida diferente.pdf
 
Instrucciones en español para el juego de mesa coup
Instrucciones en español para el juego de mesa coupInstrucciones en español para el juego de mesa coup
Instrucciones en español para el juego de mesa coup
 
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIO
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIOEL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIO
EL JUEGO DE LA VIDA PRESENTACION DEL EVANGELIO
 

[Inf 140] Estructuras Repetitivas Y Selectivas (1 X Hoja)

  • 1. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática “Algoritmos: Definiciones, Estructuras de Control” Asignatura INF 140 – Informática I Profesores Pamela Hermosilla Monckton Daniel Cabrera Paniagua Profesores PHM/DCP
  • 2. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipos de Datos El principal objetivo de todo computador es el manejo de información o datos. Un dato es la expresión general que describe los elementos con los cuales opera un computador. Existen dos clases de tipos de datos: simples (sin estructura) y compuestos (estructurados) Los tipo de datos simples son los siguientes: Numéricos (entero, real) Datos Lógicos (booleano) Carácter (char, string) Numérico Carácter(es) Lógico Entero Real Profesores INF 140 – Informática I PHM/DCP
  • 3. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Elementos Básicos : Constantes, Variables, Identificadores y Expresiones Constante Elemento o partida de datos cuyo valor no cambia durante el desarrollo del algoritmo (o ejecución del programa). Posición de memoria, referenciada por un identificador, que almacena un dato que permanece sin cambios durante el algoritmo (o ejecución del programa). Pueden ser de tipo: entera, real, caracter o lógica. Profesores INF 140 – Informática I PHM/DCP
  • 4. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Variable Elemento o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo (o ejecución del programa). Posición de memoria, referenciada por un identificador, donde se almacena un dato que puede cambiar durante el algoritmo (o ejecución del programa). Pueden ser de tipo: entero, real, carácter o lógica. Una variable posee los siguientes atributos : 1. Identificador (asignado por el programador). 2. Tipo (describe su uso). Una variable definida de un cierto tipo sólo puede tomar valores de ese tipo. Profesores INF 140 – Informática I PHM/DCP
  • 5. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Identificador Nombre que posee una variable o constante (ALGORITMO). • Compuesto por un conjunto de caracteres alfanuméricos (El primero es usualmente una letra). • Deben ser significativos y tener relación con el objeto que representan. • No se deben utilizar como identificadores palabras reservadas del lenguaje de programación. • Ejemplo : • Nombre_Alumno, X, Edad, Sueldo_Bruto……. Profesores INF 140 – Informática I PHM/DCP
  • 6. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Combinaciones de constantes, variables, símbolos de operación, paréntesis y funciones especiales. Una expresión consta de: operadores y operandos. Cada expresión toma un valor que se determina, de acuerdo a : • Los valores que posean las variables y constantes implicadas. • La ejecución de las operaciones involucradas. Según el tipo de objetos que se manipulan las expresiones se clasifican en : • Aritméticas • Lógicas Profesores INF 140 – Informática I PHM/DCP
  • 7. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Aritméticas • Análogas a las fórmulas matemáticas : – Las variables y constantes (operandos) que las componen son de tipo numérico (entero o real) – Sus operadores son aritméticos : suma, resta, multiplicación, división, división entera y resto. • Ejemplo : 5+3=8 Resultado Operando Operador Profesores INF 140 – Informática I PHM/DCP
  • 8. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tabla de operadores Operador Significado Tipo Operando Tipo Resultado + Suma Entero/Real Entero/Real - Resta/Cambio Entero/Real Entero/Real Signo * Multiplicación Entero/Real Entero/Real / División Real Entero/Real Real DIV División Entera Entero Entero MOD Módulo o Resto Entero Entero Profesores INF 140 – Informática I PHM/DCP
  • 9. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Reglas de Prioridad • Permiten determinar el orden en que se deben ejecutar las operaciones, cuando una expresión posee más de un operador. Orden de Prioridad • Las operaciones entre paréntesis se evalúan primero. • Si existen paréntesis anidados, las expresiones más internas tienen prioridad. • Ejemplo : ((5+3)+(4+8)/2)+1 Profesores INF 140 – Informática I PHM/DCP
  • 10. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Orden de Prioridad en Operadores Aritméticos • Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad : 1. Cambio de Signo ( - ) 2. Multiplicación , División, División Entera y Resto (*, /, DIV, MOD) 3. Suma y Resta (+,-) • OBS : Si coinciden varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de evaluación es de izquierda a derecha. • Ejemplo : ((8-7+3) + (4*6/2)) Profesores INF 140 – Informática I PHM/DCP
  • 11. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Lógicas • Un segundo tipo de expresiones son las de tipo lógica, que al ser evaluadas su resultado puede ser verdadero o falso. • Las expresiones lógicas se forman usando : • Operadores booleanos • Operadores relacionales o de comparación Profesores INF 140 – Informática I PHM/DCP
  • 12. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Operadores Booleanos Operador Expresión Lógica Significado ¬ Negación de p ¬p ∧ Conjunción de P y Q P∧Q ∨ Disyunción de P y Q P∨Q Profesores INF 140 – Informática I PHM/DCP
  • 13. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tablas de Verdad P Q P∧ Q P ¬P V V V V F V F F F V F F V F F F P Q P∨ Q V V V V F V F V V F F F Profesores INF 140 – Informática I PHM/DCP
  • 14. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Operadores Relacionales • Permiten comparar valores de tipo numérico, carácter o lógico, y se usan para expresar condiciones dentro de los algoritmos. • Los operadores relacionales son : >, <, =, >=, <=, <> • SINTAXIS : <expresión 1> operador relacional <expresión 2> ⇓ RESULTADO : Verdadero o Falso. Profesores INF 140 – Informática I PHM/DCP
  • 15. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales • Se aplican sobre datos de tipo: entero, real, lógico y carácter. 1. Aplicación en valores numéricos. (CONOCIDA) EJEMPLO : Si A = 3 y B = 2 • A > B (VERDADERO) • A + B = 5 (VERDADERA) Profesores INF 140 – Informática I PHM/DCP
  • 16. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales 2. Aplicación en valores de tipo carácter. • Requiere de una secuencia de ordenación de los caracteres: – Alfabética (mayúsculas y minúsculas). – Creciente en caracteres numéricos. – Pero si se consideran caracteres especiales, se recurre a un código normalizado, por ejemplo, el código ASCII. Profesores INF 140 – Informática I PHM/DCP
  • 17. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tabla ASCII (Código estándar americano para el intercambio de información ). Profesores INF 140 – Informática I PHM/DCP
  • 18. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática – Aunque NO todos los computadores siguen el código normalizado en su juego completo de caracteres, sí son prácticamente estándar, los códigos de los caracteres alfanuméricos más usuales: • Caracteres especiales : # , % , $ , ( , ) , + , - , / etc... , exigen consultar el código de ordenación. • Caracteres Numéricos : se encuentran en su orden natural. (0...9) • Caracteres Alfabéticos : – Mayúsculas A...Z (orden alfabético). – Minúsculas a..z siguen el criterio anterior. Profesores INF 140 – Informática I PHM/DCP
  • 19. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales 3. Aplicación en valores de tipo lógico. • Constante FALSO es menor que la constante VERDADERA. Profesores INF 140 – Informática I PHM/DCP
  • 20. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática • OBS : En las expresiones lógicas se pueden mezclar operadores relacionales y lógicos. Ejemplo : ( 1 > 5 ) ∧ ( 8 <> 9 ) Profesores INF 140 – Informática I PHM/DCP
  • 21. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Prioridad de Operadores en Expresiones Lógicas – Prioridad 1 : ¬ – Prioridad 2 : ∧ – Prioridad 3 : ∨ – MENOR PRIORIDAD QUE TODOS LOS OPERADORES : Relacionales ( <, >, <=……) – TAMBIEN SE USAN PARÉNTESIS (MAYOR PRIORIDAD QUE TODOS) Profesores INF 140 – Informática I PHM/DCP
  • 22. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejemplos • ¬ 4 > 6 ERROR!!!!!! • ¬ ( 4 > 6 ) = VERDADERO • Si X = 7 , Z = 4 (1 < X) ∧ (X < Z + 7) CUAL ES EL VALOR DE ESTA EXPRESIÓN???? Profesores INF 140 – Informática I PHM/DCP
  • 23. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Resolución de Problemas • 3 fases básicas: – Análisis del Problema – Diseño del Algoritmo – Codificación del Algoritmo en un LP Profesores INF 140 – Informática I PHM/DCP
  • 24. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis del Problema • AYUDA a tener una compresión de la naturaleza del problema. – PROBLEMA bien definido → solución satisfactoria. – Especificaciones de entrada y salida descritas con detalle. SON REQUISITOS fundamentales para una solución eficaz. Profesores INF 140 – Informática I PHM/DCP
  • 25. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis del Problema • El análisis del problema requiere de una primera lectura, para tener una idea general. • Una segunda lectura nos permitirá responder las siguientes preguntas : – ¿ Qué datos se necesitan para resolver el problema ? ENTRADA – ¿ Qué información debe proporcionar la resolución del problema ? SALIDA Profesores INF 140 – Informática I PHM/DCP
  • 26. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática EJEMPLO : Análisis del Problema • Calcular promedio de 3 Notas Entrada : 3 Notas Proceso: Suma aritmética de las Notas dividido por el Total de Notas Salida : Promedio de Notas Profesores INF 140 – Informática I PHM/DCP
  • 27. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Diseño del Algoritmo => Pseudocódigo • Computador sólo resuelve problemas cuando : se le indican los pasos sucesivos que debe ejecutar (ALGORITMO). • Técnicas de Diseño : – Diseño Descendente (DIVIDE y VENCERAS) – Refinamiento Sucesivo (Primeros pasos INCOMPLETOS- GENERALES) • ALGORITMO debe ser representado a través de alguna técnica que permita independizarlo del lenguaje de programación que se seleccionará para codificarlo. • La técnica de representación puede ser : – Descriptiva (PSEUDOLENGUAJE) – Gráfica (Diagrama de Flujo, Diagrama de Nassi-Schneiderman) Profesores INF 140 – Informática I PHM/DCP
  • 28. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Pseudocódigo • Lenguaje de especificación formal de algoritmos que permite representar las estructuras de control de la programación estructurada. • No puede ser ejecutado por un computador (debe ser traducido a un LP). • Compuesto por palabras reservadas, similares a las de sus homónimos en los lenguajes de programación que permiten representar acciones. • Su escritura exige el uso de indentación. Profesores INF 140 – Informática I PHM/DCP
  • 29. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática VENTAJAS Pseudocódigo • Programador se CONCENTRA en la LÓGICA y en las ESTRUCTURAS DE CONTROL, y no tanto en las REGLAS SINTÁCTICAS propias de los LP. • Fácil de modificar. • Fácil de traducir a LP. • Originalmente en Inglés , EN LA ACTUALIDAD en ESPAÑOL Profesores INF 140 – Informática I PHM/DCP
  • 30. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática ¿Cómo escribir un ALGORITMO en pseudolenguaje? • La estructura de un algoritmo en pseudocódigo posee dos PARTES : – Cabecera – Bloque (Cuerpo) del Algoritmo Profesores INF 140 – Informática I PHM/DCP
  • 31. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Cabecera • TODO algoritmo debe comenzar con una cabecera. • Acción simple que comienza con la palabra reservada ALGORITMO, seguida de un identificador. SINTAXIS : ALGORITMO <identificador> EJEMPLO : ALGORITMO Promedio_de_Notas Profesores INF 140 – Informática I PHM/DCP
  • 32. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Cuerpo del Algoritmo • Es el resto del algoritmo y esta compuesto a su vez de 2 bloques : – Bloque de Declaraciones : contiene la declaración de las constantes y variables que serán utilizadas en el algoritmo. – Bloque de Pasos (Acciones o Instrucciones) : contiene las acciones que nos permitirán resolver el problema, para el cual fue diseñado el algoritmo, cada acción se escribirá en una línea independiente. Profesores INF 140 – Informática I PHM/DCP
  • 33. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Declaraciones : Declaración de Constantes • Esta sección comienza con la palabra reservada CONST (abreviatura de Constante) y su sintaxis es : CONST <identificador_constante_1> = <valor_1> <identificador_constante_2> = <valor_2> Valor determina Tipo : : <identificador_constante_N> = <valor_N> Ejemplo : CONST PI=3.141516 IVA=0.19 Profesores INF 140 – Informática I PHM/DCP
  • 34. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Declaraciones : Declaración de Variables • Esta sección comienza con la palabra reservada VAR (abreviatura de Variable) y su sintaxis es : Var <tipo 1> : <lista de variables (separadas por ,) > … <tipo j> : <lista de variables (separadas por ,) > Ejemplo : VAR real : x,y,z entero : a,b,c caracter : letra Profesores INF 140 – Informática I PHM/DCP
  • 35. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Acciones : Tipos de Instrucciones • Repertorio de instrucciones disponibles en cada lenguaje de programación es variable. • PERO …… Existen instrucciones básicas, comunes y soportadas por todos los lenguajes y que pueden ser utilizadas de forma general en la escritura de un algoritmo : – Instrucciones de Inicio-Fin. – Instrucción de Asignación. – Instrucción de Lectura. – Instrucción de Escritura. – Instrucciones de Bifurcación. Profesores INF 140 – Informática I PHM/DCP
  • 36. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucciones de Inicio-Fin • La primera instrucción del bloque de acciones del algoritmo será INICIO y la última instrucción será FIN. INICIO <acción 1> <acción 2> <acción 3> : <acción n> FIN Profesores INF 140 – Informática I PHM/DCP
  • 37. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Asignación <Valor> puede ser : una • Permite almacenar un valor en una variable. constante, una variable o el resultado de la • Operador de asignación : ← evaluación de una expresión. Sintaxis : < Identificador de Variable> ← <Valor> • La instrucción de asignación se ejecuta en dos pasos : 1. Se calcula el valor al lado derecho del operador de asignación. 2. El valor calculado se almacena en la variable cuyo nombre aparece a la izquierda del operador de asignación, sustituyendo el valor que esta tenía anteriormente (instrucción DESTRUCTIVA). Profesores INF 140 – Informática I PHM/DCP
  • 38. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Asignación • Ejemplos : A←1 B←A+3 C ← B/2 Vocal ← ‘A’ • INICIALIZACIÓN DE UNA VARIABLE : Variables al ser declaradas tienen un valor indeterminado • INCOMPATIBILIDAD DE TIPOS Var entero : A Inicio A←0 A ← 5.56 Fin Profesores INF 140 – Informática I PHM/DCP
  • 39. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Lectura • Instrucción de Lectura o entrada de datos, permite extraer uno o más valores desde un dispositivo de entrada (teclado, unidades de disco etc...) y almacenarlos en memoria en la(s) variable(s) indicada(s) dentro de la propia instrucción. • Sintaxis : Leer ( < lista_de_variables > ) ó Leer ( < variable_1 > ) Leer ( < variable_2 > ) Leer ( < variable_3 > ) • ¿ Cuál será el significado de la siguiente instrucción de lectura ? Leer(edad, peso) • Si se ingresan los valores 25 – 59.3 • NO SE PUEDEN LEER DATOS DE TIPO Lógico Profesores INF 140 – Informática I PHM/DCP
  • 40. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Escritura • Instrucción de salida o escritura de resultados permite enviar resultados hacia dispositivos de salida (pantalla, impresora etc...). • Los datos enviados pueden ser constantes, variables, resultados de expresiones, mensajes o una mezcla de ellos separados en dicho caso por comas. • Sintaxis : Escribir ( < lista_de_expresiones > ) • ¿ Cuál será el significado de la siguiente instrucción de escritura ? Escribir(“HOLA”) Escribir(“promedio = ”, promedio) Escribir (“ A + B “, A+B) Profesores INF 140 – Informática I PHM/DCP
  • 41. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Calcular el promedio de 3 notas. 1. Inicio 2. Leer nota 1 3. Leer nota 2 3. Leer nota 3 4. Asignar a suma_de_notas el resultado de nota1 + nota2 + nota3 5. Asignar a promedio el resultado de suma_de_notas / 3 6. Escribir resultado 7. Fin Algoritmo Calcular_Promedio Var real: nota1,nota2,nota3, suma_de_notas, prom Inicio leer (nota1) leer (nota2) leer (nota3) suma_de_notas nota1 + nota2 + nota3 prom suma_de_notas / 3 escribir(“promedio es: “,prom) Fin Profesores INF 140 – Informática I PHM/DCP
  • 42. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de control Las estructuras de control son las que permiten conducir el flujo del programa, existen dos tipos de estructuras de control las estructuras selectivas y las estructuras repetitivas. Estructuras selectivas Las estructuras selectivas se utilizan para tomar decisiones lógicas, también son llamadas estructuras de decisión o alternativas. Alternativa simple si <condicion> entonces si (numero MOD 2 = 0) entonces <accion 1> escribir(“número es par”) <accion 2> fin_si <accion n> fin_si Profesores INF 140 – Informática I PHM/DCP
  • 43. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Alternativa doble si <condicion> si (numero MOD 2 = 0) entonces entonces <accion 1> escribir(“número es par”) si_no <accion n> escribir(“número es impar”) si_no fin_si <accion p> <accion z> fin_si Alternativa multiple segun_sea <expresion_E> hacer segun_sea dia MOD 7 hacer e1: <accion 1> 1: escribir(“el día es Lunes”) e2: <accion 2> 2: escribir(“el día es Martes”) e3: <accion 3> 3: escribir(“el día es Miércoles”) 4: escribir(“el día es Jueves”) en: <accion n> 5: escribir(“el día es Viernes”) fin_si 6: escribir(“el día es Sábado”) 0: escribir(“el día es Domingo”) fin_si Profesores INF 140 – Informática I PHM/DCP
  • 44. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática si <condicion 1> Estructuras selectivas anidadas entonces si <condicion 2> Las estructuras selectivas si y si-sino entonces implican la selección de una de dos <accion 1> .. .. alternativas. Es posible utilizar la instrucción <accion n> si para diseñar estructuras de selección sino que contengan más de dos alternativas. <accion p> .. .. <accion s> fin_si si <condicion 1> entonces sino si <condicion 2> entonces si <condicion 3> <accion 1> entonces <accion 2> <accion f> .. .. <accion n> <accion k> sino fin_si <accion i> fin_si .. .. <accion z> fin_si fin_si Profesores INF 140 – Informática I PHM/DCP
  • 45. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un algoritmo que calcule el promedio simple de 3 notas, y que en base al resultado obtenido, muestre la situación final (aprobado-reprobado). Profesores INF 140 – Informática I PHM/DCP
  • 46. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo determinar_Aprobacion_Reprobacion Var real: nota1,nota2,nota3, suma_de_notas, prom Inicio leer (nota1) leer (nota2) leer (nota3) suma_de_notas nota1 + nota2 + nota3 prom suma_de_notas / 3 escribir (“promedio es: “,prom) si (prom >= 40 ) entonces escribir (“Aprobado !!! … Felicitaciones !!!”) sino escribir (“Ánimo, hay otra oportunidad !!! ”) fin_si Fin Profesores INF 140 – Informática I PHM/DCP
  • 47. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas Las estructuras repetitivas se utilizan para repetir una o varias acciones un número determinado de veces. Mientras mientras (i< 10) hacer mientras <condicion> escribir(“el número es: ”, i) hacer <accion 1> i i+1 <accion 2> fin_mientras <accion n> fin_mientras Repetir repetir repetir <accion 1> escribir(“el número es:”, i) <accion 2> i i+1 hasta_que (i = 10) <accion n> hasta_que <condicion> Profesores INF 140 – Informática I PHM/DCP
  • 48. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Desde desde v vi hasta vf [ incremento/decremento inc ] hacer <accion 1> <accion 2> <accion n> fin_desde Desde i 1 hasta 10 hacer escribir(“el número es:”, i) fin_desde Profesores INF 140 – Informática I PHM/DCP
  • 49. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un algoritmo que sume n números ingresados por un usuario, y luego muestre la suma de ellos. Profesores INF 140 – Informática I PHM/DCP
  • 50. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Utilizando la estructura repetitiva “Mientras” Algoritmo sumar_numeros Var real: nuevo_numero, suma caracter: continuar Inicio continuar ‘s’ suma 0 mientras (continuar = ‘s’) hacer escribir (“Ingrese un número”) leer (nuevo_numero) suma suma + nuevo_numero escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”) leer (continuar) fin_mientras escribir(“La suma total es: “,suma) fin Profesores INF 140 – Informática I PHM/DCP
  • 51. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática ¿Y si utilizamos la estructura Repetir? Algoritmo sumar_numeros Var real: nuevo_numero, suma caracter: continuar Inicio continuar ‘s’ suma 0 repetir escribir (“Ingrese un número”) leer (nuevo_numero) suma suma + nuevo_numero escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”) leer (continuar) hasta_que (continuar = ‘n’) escribir(“La suma total es: “,suma) Fin Profesores INF 140 – Informática I PHM/DCP
  • 52. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrolle un algoritmo que calcule el factorial de un número X. Profesores INF 140 – Informática I PHM/DCP
  • 53. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (1) ¿Qué es el factorial de un número? Resp: Producto que resulta de multiplicar un número entero positivo por todos los números inferiores a él, llegando hasta el número 1. Ejemplos: 3! = 1 * 2 * 3 = 6 4! = 1 * 2 * 3 * 4 = 24 5! = 1 * 2 * 3 * 4 * 5 = 120 Profesores INF 140 – Informática I PHM/DCP
  • 54. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (2) ¿Cuáles son las entradas? Resp: un número entero positivo. ¿Cuáles son las salidas? Resp: un número entero positivo, producto de multiplicaciones sucesivas. Profesores INF 140 – Informática I PHM/DCP
  • 55. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (3) ¿Cuál es el proceso? 4! = 1 * 2 * 3 * 4 = 24 2* 6* 24 Profesores INF 140 – Informática I PHM/DCP
  • 56. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo calcular_factorial Var entero: numero, contador, factorial Inicio factorial 1 escribir (“Ingrese número para calcular factorial”) leer (numero) desde contador factorial + 1 hasta numero factorial factorial * contador fin_desde escribir (“ Factorial es: ”,factorial) Fin Profesores INF 140 – Informática I PHM/DCP
  • 57. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas anidadas Así como las instrucciones selectivas (de condición) se pueden anidar, de igual forma se pueden anidar estructuras de selección, es posible insertar un bucle dentro de otro mientras <condicion1> hacer mientras <condicion2> hacer desde v vi hasta vf hacer <accion 1> desde w wj hasta wg hacer <accion 2> <accion 1> <accion 2> <accion n> fin_mientras <accion n> fin_mientras fin_desde repetir fin_desde repetir <accion 1> <accion 2> <accion n> hasta_que <condicion2> hasta_que <condicion1> Profesores INF 140 – Informática I PHM/DCP
  • 58. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas anidadas (continuación) mientras <condicion1> hacer repetir <accion 1> <accion 2> <accion n> hasta_que <condicion2> fin_mientras repetir mientras <condicion-i> hacer <accion 1> <accion 2> <accion n> fin_mientras hasta_que <condicion-j> Profesores INF 140 – Informática I PHM/DCP
  • 59. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrolle un algoritmo que permita calcular el promedio de n cantidad de notas, para m cantidad de asignaturas. Profesores INF 140 – Informática I PHM/DCP
  • 60. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo calcular_promedios Var entero: nota, suma_de_notas, contador_notas, prom carácter: nombre_asignatura, continuar, nueva_nota Inicio continuar ‘s’ mientras (continuar = ‘s’) hacer escribir (“Ingrese nombre de la asignatura”) leer (nombre_asignatura) suma_de_notas 0 contador_notas 0 repetir escribir (“Ingrese nota:”) leer (nota) suma_de_notas suma_de_notas + nota contador_notas contador_notas + 1 escribir (“¿Desea ingresar una nueva nota? s = si ; n = no”) leer (nueva_nota) hasta_que (nueva_nota = ‘n’) prom suma_de_notas / contador_notas escribir (“Asignatura: ”, nombre_asignatura) escribir (“Promedio: “,prom) escribir (“¿Desea ingresar una nueva asignatura? s = si ; n = no”?”) leer (continuar) fin_mientras fin Profesores INF 140 – Informática I PHM/DCP
  • 61. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Diagramas de Flujo Decisión Terminal Implica elección Inicio o final de entre secuencias un algoritmo alternativas. Entrada/Salida Proceso Lectura de valores y Proceso diferente escritura de de los procesos E/S mensajes y Decisiones Profesores INF 140 – Informática I PHM/DCP
  • 62. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de Control: Diagrama de Flujo Iteración Secuencia Selección Profesores INF 140 – Informática I PHM/DCP
  • 63. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de Control: Diagramas de Nassi - Schneiderman Profesores INF 140 – Informática I PHM/DCP
  • 64. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un diagrama de flujo que permita calcular el promedio simple de 3 notas, y que en base al resultado obtenido, muestre la situación final (aprobado-reprobado). Profesores INF 140 – Informática I PHM/DCP
  • 65. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Inicio Leer NOTA1, NOTA2, NOTA3 SUMA_NOTAS NOTA1 + NOTA2 + NOTA3 PROM SUMA_NOTAS / 3 escribir PROM PROM >= 40 escribir escribir “ ánimo, hay “Aprobado !” otra oportunidad ! ” Fin Profesores INF 140 – Informática I PHM/DCP