UNIVERSIDAD MILITAR NUEVA GRANADA




    CENTRO DE SISTEMAS
      Programación 1
        centro.sistemas@unimilitar.edu.co
CENTRO DE SISTEMAS




  Programación 1
    Algoritmos
Estructura Selectiva
   alcira.ordonez@unimilitar.edu.co
Condicionales
Los algoritmos hasta aquí escritos son
instrucciones secuenciales, donde la ejecución
comienza en la primera instrucción y prosigue
hasta la última de ellas.     Sin embargo, en
ocasiones se necesita tener la posibilidad de
controlar cuáles son las instrucciones que se
deben ejecutar y en qué momento, para esto los
compiladores    traen   instrucciones  que   le
permiten al programador elegir entre una u otra
alternativa.
Condicionales
Las condicionales son expresiones booleanas,
que se emplean para controlar la secuencia en
que deben ejecutarse los pasos de un algoritmo.
Generan un valor verdadero (1) o falso (0), esto
es pueden tomar dos valores: verdadero (true)
y falso (false).
Las instrucciones condicionales controlan si una
instrucción o lista de instrucciones se ejecutan
en función del cumplimiento o no, de una
condición.
Condicionales
Esta instrucción la denominaremos si y tiene la
siguiente forma:

  si (condición)
   entonces instrucciones
   sino instrucciones
  fin_si
Condicionales
Si el valor generado es verdadero entonces se
ejecutan las instrucciones que siguen a la
palabra entonces. Si el valor generado por la
condición es falso, se ejecutan las instrucciones
que siguen a la palabra sino. En caso de que no
se requiera especificar instrucciones por falso no
es necesario usar sino.

  si (condición)
   entonces instrucciones
  fin_si
Ejemplo 1
Si x<y, sumar una unidad a x.

       Inicio
          leer x, y
           si (x<y)
              entonces x   x+1
           fin_si
         escribir x,y
       fin
Ejemplo 2
Si x<y, sumar una unidad a x, si x>=y, sumar
una unidad a y.
         Inicio
            leer x, y
             si (x<y)
                entonces x   x+1
                sino y   y+1
             fin_si
            escribir x,y
         fin
Clase de Condicionales
Existen dos     clases de    condiciones,   las
condicionales   simples y    las   condiciones
compuestas.
Condiciones Simples
Son condiciones sencillas que establecen una
relación entre dos constantes, dos variables, o
una variable con una constante, utilizando los
operadores de relación. Por ejemplo:
  A >= B
  X != 0
Clase de Condicionales
Condiciones Compuestas

Permiten enlazar condiciones simples para
formar otras más complejas; las condiciones son
enlazadas entre sí por medio de los operadores
lógicos. Por ejemplo:

  a>bya>c
  x != y ó x = z
  no (a > b) y no (x = y)
Ejemplo 3

Inicio
   leer a
    si (a<10 o a>20)
       entonces x    3
       sino x    0
    fin_si
   escribir x
fin
Diagrama de Flujo
Para representar un condicional se utiliza un
rombo


         NO              SI
Diagrama de Flujo
En caso que no se quieran           especificar
instrucciones por verdadero


        NO              SI



                       Sentencias
Diagrama de Flujo
Cuando se quieran especificar instrucciones por
falso y verdadero


            NO              SI



     Sentencias              Sentencias
Tipo de Condiciones

   Composición             Ejemplo

Variable : Constante    Sueldo > 1000000

 Variable : Variable    Anterior = Nuevo


Variable : Expresión       X=A+B


Expresión : Expresión     A*B != C/D
Ejemplo 4
        Pseudocódigo                  Diagrama de Flujo

Inicio
  leer numero
  si (numero > 100)
      entonces escribir “mayor”
      sino escribir “menor o igual”
  fin_si
fin
Ejemplo 5
Leer dos números, y determinar cual es el mayor:
Variables:   N1: Número N2: Número


 Inicio
   leer N1, N2
     si (N1 > N2)
       entonces escribir N1
       sino escribir N2
    fin_si
 fin
Algoritmos
Estructura Selectiva Anidada
Condicionales
En ocasiones es necesario tener la
posibilidad de controlar las instrucciones
que se deben ejecutar entre más de una
alternativa, en cumplimiento de dos o más
condiciones. La instrucción si, puede incluir
otras instrucciones si. En este caso se dice
que las instrucciones si están anidadas.
Anidados por Falso
Una instrucción si anidada por falso, tiene la siguiente
forma:

  si (condición1)
      entonces instrucciones
      sino
        si (condición2)
             entonces instrucciones
         sino instrucciones
        fin_si
  fin_si
Anidados por Verdadero
Una instrucción si anidada por verdadero, tiene la
siguiente forma:
  si (condición1)
      entonces
          si (condición2)
            entonces instrucciones
            sino instrucciones
          fin_si
       sino instrucciones
  fin_si
Ejemplo
Se puede trabajar un número indeterminado de si anidados
dependiendo básicamente de la habilidad del programador para
controlar todas las posibilidades.

    si (cond1)
         entonces si (cond2)
                    entonces si (cond3)
                         entonces si (cond4)
                   entonces instruc1
                                        sino instruc2
                                 fin_si
                         sino instruc3
                         fin_si
                        sino instruc4
                    fin_si
         sino instruc5
       fin_si
Ejemplo
Pseudocodigo
Inicio
  leer Numero
  si (Numero < 0)
       entonces escribir “menor que cero”
    sino si (Numero = 0)
   entonces escribir “igual a cero”
             sino escribir “mayor que cero”
          fin_si
  fin_si
fin
Diagrama de Flujo
Ejemplo
Leer tres números, determinar cual es el mayor.
Variables: A: Número 1; B: Número 2; C: Número 3
  Inicio
    leer A, B, C
    si (A > B y A>C)
        entonces escribir A
        sino
        si (B>A y B>C)
           entonces escribir B
          sino escribir C
        fin_si
   fin_si
fin
Diagrama de Flujo

Estructura selectiva

  • 1.
    UNIVERSIDAD MILITAR NUEVAGRANADA CENTRO DE SISTEMAS Programación 1 centro.sistemas@unimilitar.edu.co
  • 2.
    CENTRO DE SISTEMAS Programación 1 Algoritmos Estructura Selectiva alcira.ordonez@unimilitar.edu.co
  • 3.
    Condicionales Los algoritmos hastaaquí escritos son instrucciones secuenciales, donde la ejecución comienza en la primera instrucción y prosigue hasta la última de ellas. Sin embargo, en ocasiones se necesita tener la posibilidad de controlar cuáles son las instrucciones que se deben ejecutar y en qué momento, para esto los compiladores traen instrucciones que le permiten al programador elegir entre una u otra alternativa.
  • 4.
    Condicionales Las condicionales sonexpresiones booleanas, que se emplean para controlar la secuencia en que deben ejecutarse los pasos de un algoritmo. Generan un valor verdadero (1) o falso (0), esto es pueden tomar dos valores: verdadero (true) y falso (false). Las instrucciones condicionales controlan si una instrucción o lista de instrucciones se ejecutan en función del cumplimiento o no, de una condición.
  • 5.
    Condicionales Esta instrucción ladenominaremos si y tiene la siguiente forma: si (condición) entonces instrucciones sino instrucciones fin_si
  • 6.
    Condicionales Si el valorgenerado es verdadero entonces se ejecutan las instrucciones que siguen a la palabra entonces. Si el valor generado por la condición es falso, se ejecutan las instrucciones que siguen a la palabra sino. En caso de que no se requiera especificar instrucciones por falso no es necesario usar sino. si (condición) entonces instrucciones fin_si
  • 7.
    Ejemplo 1 Si x<y,sumar una unidad a x. Inicio leer x, y si (x<y) entonces x x+1 fin_si escribir x,y fin
  • 8.
    Ejemplo 2 Si x<y,sumar una unidad a x, si x>=y, sumar una unidad a y. Inicio leer x, y si (x<y) entonces x x+1 sino y y+1 fin_si escribir x,y fin
  • 9.
    Clase de Condicionales Existendos clases de condiciones, las condicionales simples y las condiciones compuestas. Condiciones Simples Son condiciones sencillas que establecen una relación entre dos constantes, dos variables, o una variable con una constante, utilizando los operadores de relación. Por ejemplo: A >= B X != 0
  • 10.
    Clase de Condicionales CondicionesCompuestas Permiten enlazar condiciones simples para formar otras más complejas; las condiciones son enlazadas entre sí por medio de los operadores lógicos. Por ejemplo: a>bya>c x != y ó x = z no (a > b) y no (x = y)
  • 11.
    Ejemplo 3 Inicio leer a si (a<10 o a>20) entonces x 3 sino x 0 fin_si escribir x fin
  • 12.
    Diagrama de Flujo Pararepresentar un condicional se utiliza un rombo NO SI
  • 13.
    Diagrama de Flujo Encaso que no se quieran especificar instrucciones por verdadero NO SI Sentencias
  • 14.
    Diagrama de Flujo Cuandose quieran especificar instrucciones por falso y verdadero NO SI Sentencias Sentencias
  • 15.
    Tipo de Condiciones Composición Ejemplo Variable : Constante Sueldo > 1000000 Variable : Variable Anterior = Nuevo Variable : Expresión X=A+B Expresión : Expresión A*B != C/D
  • 16.
    Ejemplo 4 Pseudocódigo Diagrama de Flujo Inicio leer numero si (numero > 100) entonces escribir “mayor” sino escribir “menor o igual” fin_si fin
  • 17.
    Ejemplo 5 Leer dosnúmeros, y determinar cual es el mayor: Variables: N1: Número N2: Número Inicio leer N1, N2 si (N1 > N2) entonces escribir N1 sino escribir N2 fin_si fin
  • 18.
  • 19.
    Condicionales En ocasiones esnecesario tener la posibilidad de controlar las instrucciones que se deben ejecutar entre más de una alternativa, en cumplimiento de dos o más condiciones. La instrucción si, puede incluir otras instrucciones si. En este caso se dice que las instrucciones si están anidadas.
  • 20.
    Anidados por Falso Unainstrucción si anidada por falso, tiene la siguiente forma: si (condición1) entonces instrucciones sino si (condición2) entonces instrucciones sino instrucciones fin_si fin_si
  • 21.
    Anidados por Verdadero Unainstrucción si anidada por verdadero, tiene la siguiente forma: si (condición1) entonces si (condición2) entonces instrucciones sino instrucciones fin_si sino instrucciones fin_si
  • 22.
    Ejemplo Se puede trabajarun número indeterminado de si anidados dependiendo básicamente de la habilidad del programador para controlar todas las posibilidades. si (cond1) entonces si (cond2) entonces si (cond3) entonces si (cond4) entonces instruc1 sino instruc2 fin_si sino instruc3 fin_si sino instruc4 fin_si sino instruc5 fin_si
  • 23.
    Ejemplo Pseudocodigo Inicio leerNumero si (Numero < 0) entonces escribir “menor que cero” sino si (Numero = 0) entonces escribir “igual a cero” sino escribir “mayor que cero” fin_si fin_si fin
  • 24.
  • 25.
    Ejemplo Leer tres números,determinar cual es el mayor. Variables: A: Número 1; B: Número 2; C: Número 3 Inicio leer A, B, C si (A > B y A>C) entonces escribir A sino si (B>A y B>C) entonces escribir B sino escribir C fin_si fin_si fin
  • 26.