SlideShare une entreprise Scribd logo
1  sur  24
ESTRUCTURAS DE
   CONTROL
    SELECTIVAS
        Y
    REPETITIVAS
                  Ing. José Luis Ceballos
CONCEPTUALIZACIÓN
Las estructuras de control permiten establecer el orden de
  ejecución de las instrucciones de un programa. Por
  defecto, el flujo de ejecución de un programa es
  secuencial, es decir, las instrucciones se ejecutan una
  después de la otra en el orden en el cual fueron escritas
  en el código del programa.
Las estructuras repetitivas y selectivas permiten alterar el
  flujo normal de ejecución del programa; en este sentido,
  las estructuras de selección se utilizará para seleccionar
  cuáles instrucciones se ejecutarán y las repetitivas, se
  utilizarán para repetir una serie de instrucciones.
                                                 Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
   Instrucción If-else
La sintaxis es:
         if (condición)
         {
                  instrucciones;               Grupo 1
         }
         else
         {
                  instrucciones;               Grupo 2
         }

Lo anterior establece que de ser verdadera la condición, se ejecutará
   el grupo 1 de instrucciones, en caso contrario, se ejecutará el
   grupo 2.
                                                          Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
  Instrucción If-else unidireccional
Existen situaciones en donde se omite la parte
  else de la instrucción condicional, debido a que
  no se considera necesario ejecutar un grupo de
  instrucciones en caso de que no se cumpla la
  condición. Así la sintaxis quedaría como sigue:
            if (condición)
            {
                   instrucciones;
            }
                                         Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
    Instrucción If-else en cadena
La sintaxis es:
           if (condición1)
           {
                      instrucciones;
           }
           else if (condición2)
           {
                      instrucciones;
           }
           else if (condición3)
           {
                      instrucciones;
           }
           else
           {
                      instrucciones;
           }
                                       Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
  Instrucción If-else en cadena
De acuerdo a la sintaxis anterior, la instrucción if-else en
  cadena evaluará cada condición en orden, y si alguna de
  ellas es verdadera, entonces, se ejecutará el grupo de
  instrucciones asociada a la condición, y lo que resta de
  la cadena será omitido. El grupo de instrucciones
  asociadas con el else final, se ejecutará cuando ninguna
  de las condiciones anteriores se haya cumplido, es
  decir, este último grupo de instrucciones funciona como
  un valor predeterminado.


                                                 Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
 Instrucciones If-else anidadas
El grupo de instrucciones asociado a una
  condición puede estar constituido por
  instrucciones válidas de C++, incluyendo
  otra instrucción if-else; de ser así, se
  estaría creando instrucciones anidadas if.


                                    Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
     Instrucciones If-else anidadas
Un ejemplo de la sintaxis de if anidadas es:
              if (condición1)
              {
                             if (condición2)
                             {
                                           instrucciones;             Grupo 1
                             }
                             else
                             {
                                           instrucciones;             Grupo 2
                             }
              }
              else if (condición3)
              {
                             if (condición4)
                             {
                                           instrucciones;             Grupo 3
                             }
              }
              else
              {
                             instrucciones;                 Grupo 4
              }

                                                                                Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
  Instrucciones If-else anidadas
En el ejemplo de sintaxis anterior, para que se
  ejecute el Grupo 1 de instrucciones, condición1
  y condición2 deben ser verdaderas; para
  ejecutarse el Grupo 2 de instrucciones,
  condición1 verdadera y condición2 falsa; el
  Grupo 3 de instrucciones se ejecutará sólo si
  condición3 y condición4 son verdaderas; y el
  Grupo 4 de instrucciones se ejecutará si
  condición1 y condición3 son falsas.
                                         Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
         Ejemplo
Una institución educativa determina el nivel de grado de
sus estudiantes de acuerdo al número de unidades de
crédito aprobadas por estos; en tal sentido, desarrolle
un programa que solicite el número de unidades de
crédito aprobadas por el alumno y determine su
ubicación dentro de la carrera universitaria de acuerdo a
la siguiente tabla:
           Número de créditos obtenidos   Grado
           Menor que 32                   Primer año
           Entre 32 y 63                  Segundo año
           Entre 64 y 95                  Tercer año
           96 o más                       Cuarto año

                                                        Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
                Ejemplo
#include <iostream.h>
#include <conio.h>
main()
{
  int uc;

    cout << “nn Unidades de crédito aprobadas: ”;
    cin >> uc;
    if (uc < 32)
        cout << “nn Alumno de Primer Año”;
    else if (uc >= 32 && uc <= 63)
        cout << “nn Alumno de Segundo Año”;
    else if (uc >= 64 && uc <= 95)
        cout << “nn Alumno de Tercer Año”;
    else
        cout << “nn Alumno de Cuarto Año”;
    cout << “nn Presione una tecla para finalizar….”;
    return 0;
}


                                                          Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
    Instrucción switch
La sintaxis es:
            switch(expresión)
            {
                       case valor1:
                       {
                                  instrucciones;
                       }break;;
                       case valor2:
                       {
                                  instrucciones;
                       }break;;
                       case valor3:
                       {
                                  instrucciones;
                       }break;;

                      default:
                                  instrucciones;
           }

                                                   Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
    Instrucción switch
La instrucción switch es una alternativa a la instrucción if-else, y básicamente consiste
    en comparar el valor de una expresión de número entero o carácter, con un valor
    específico. La palabra clave case se utiliza para identificar los valores que serán
    comparados con el valor de la expresión. Al coincidir algunos de estos valores, se
    ejecuta el grupo de instrucciones asociado a ese case hasta encontrarse una
    instrucción break la cual hace que se salga del ciclo switch. La instrucción break es
    muy importante, porque ella obliga a salir del ciclo, en caso de no encontrarse, se
    seguirán ejecutando las instrucciones de manera secuencial, incluyendo todos los
    case que vienen posteriores al que dio inicio de ejecución de las instrucciones.
En caso de que el valor de la expresión no coincida con el valor de algún case, entonces
    se ejecutará el grupo de instrucciones asociadas al default, el cual opera como un
    else; es decir, si no se ejecuta ningún case, entonces ejecutará por defecto o de
    manera predeterminada, el grupo de instrucciones del default. Es de hacer notar que
    la instrucción default es opcional dentro del ciclo switch, y esta no requiere finalizar
    con ningún break, porque aparece al final del ciclo.


                                                                           Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
         Ejemplo
Desarrollar un programa que lea dos
números enteros y lleve a cabo una
operación aritmética (suma, resta,
multiplicación, división) entre ellos, de
acuerdo a lo indicado por el usuario.




                                     Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
              Ejemplo
#include <iostream.h>
#include <conio.h>
main()
{
    int n1, n2, r, sw = 0;
    char op;
    cout << “nn Indique primer número entero: ”;
    cin >> n1;
    cout << “nn Indique segundo número entero: ”;
    cin >> n2;
    cout << “nn Indique operador ( + - * / )  ”;
    cin >> op;
    switch (op)
    {
           case ‘+’ :
           {
                      r = n1 + n2;
           }break;
                                                      Ing. José Luis Ceballos
INTRUCCIONES SELECTIVAS
              Ejemplo
            case ‘-’ :
            {
                          r = n1 – n2;
            }break;
            case ‘*’ :
            {
                          r = n1*n2;
            }break;
            case ‘/ ’ :
            {
                          if (n2 != 0)
                                         r = n1 / n2;
                          else
                          {
                                         cout << “nn Error división por cero… ”;
                                         sw = 1;
                          }
            }break;
            default:
                          cout << “nn Error en la selección del operador…”
                          sw = 1;
    }
    if ( sw == 0 )
             cout << “nn Resultado = “ << r;
    getch();
    return 0;                                                                        Ing. José Luis Ceballos
}
INTRUCCIONES
                REPETITIVAS
  Instrucción for
La sintaxis es:

       for (inicializar; condición; inc/dec)
       {
               instrucciones;
       }

La instrucción for se utiliza cuando se tiene establecido el
  número de veces que se debe ejecutar repetidamente
  un grupo de instrucciones.
                                                  Ing. José Luis Ceballos
INTRUCCIONES
               REPETITIVAS
  Instrucción for
A continuación se describirán los elementos que
  conforman la instrucción for :

inicializar : Es una instrucción que se usa para establecer
   el valor inicial de la variable que controlará el ciclo
   repetitivo.
expresión : Determina la condición de finalización del ciclo
   repetitivo.
inc/dec : Establece el incremento o decremento del valor
   de la variable que controla al ciclo repetitivo.

                                                  Ing. José Luis Ceballos
INTRUCCIONES
              REPETITIVAS
  Instrucción while
La sintaxis es:

      while (condición)
      {
             instrucciones;
      }

En una sentencia while el grupo de instrucciones inmerso
  en ella, se ejecutará repetidamente, mientras que la
  condición sea verdadera.
                                               Ing. José Luis Ceballos
INTRUCCIONES
                      REPETITIVAS
    Instrucción do while
La sintaxis es:

          do
          {
                    instrucciones;
          }while (condición);

La sentencia do while hace que se repita la ejecución de las instrucciones asociadas a
    ella, mientras que la condición sea verdadera.
La diferencia que existe con respecto al ciclo while visto anteriormente, es que en este,
    la condición se evalúa antes de ingresar a la ejecución de las instrucciones; por el
    contrario, en el ciclo do while se ejecutan al menos una vez las instrucciones y luego
    se verifica la condición. En tal sentido, si se requiere que se valide primero la
    condición antes de ejecutar el grupo de instrucciones, se debe hacer uso de la
    sentencia while, en cualquier otro caso, se puede hacer uso de la sentencia do while.


                                                                         Ing. José Luis Ceballos
INTRUCCIONES REPETITIVAS
        Ejemplo 1
Desarrollar un programa que muestre el
total de aprobados y reprobados de una
asignatura, así como el promedio de la
calificación final. Los datos de entrada
deben ser : el total de alumnos inscritos
en la materia, y la calificación final en
base a 100 puntos de cada alumno. Si la
calificación es menor a 70 puntos, el
alumno está reprobado en la asignatura.
                                  Ing. José Luis Ceballos
INTRUCCIONES REPETITIVAS
             Ejemplo 1
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main()
{
     int i, na, aprob = 0, repro = 0;
     float cf, prom, s = 0;
     cout << “nn Indique número de alumnos : ”;
     cin >> na;
     for (i = 1; i <= na; i++)
     {
                cout << “nn Calificación Final del alumno # ” << i << “ : ”;
                cin >> cf;
                if (cf >= 70)
                               aprob++;
                else
                               repro++;
                s = s + cf;
     }
     prom= s/na;
     cout << “nn El total de alumnos aprobados es : “ << aprob << “ y reprobados : “ << repro;
     printf( “nn El promedio de calificaciones es : %2.1f”, prom);
     cout << “nn Presione una tecla para finalizar…”;
     getch();
     return 0;
}                                                                                                  Ing. José Luis Ceballos
INTRUCCIONES REPETITIVAS
        Ejemplo 2
Una maquinaria que costó $28.000 se
deprecia a razón de $4.000 por año.
Desarrolle un programa que muestre la
depreciación anual y acumulada hasta
que el valor de la maquinaria sea igual a
cero.



                                   Ing. José Luis Ceballos
INTRUCCIONES REPETITIVAS
            Ejemplo 3
#include <iostream.h>
#include <conio.h>
#define D 4000
main()
{
     int vf, s = 0, i = 1, costo = 28000;
     cout << “nn Año Deprec. Deprec. Acum Valor al fin de año ”;
     do
     {
               s = s + D;            CALCULA LA DEPRECIACIÓN
                                     ACUMULADA
               vf = costo – D;          CALCULA EL VALOR FINAL DE LA MAQUINARIA

             cout << “ ” << i << “    ” << D << “     ” << s << “   ” << vf;

             i++;                      LLEVA EL CONTEO DEL NÚMERO DE AÑOS

             costo = vf;             ACTUALIZA EL COSTO DE LA MAQUINARIA


    }while( vf > 0 );                    SE EJECUTA EL CICLO MIENTRAS EL VALOR SEA MAYOR A CERO

    cout << “nnn Presione una tecla para finalizar…”;
    getch();
    return 0;
}                                                                                  Ing. José Luis Ceballos

Contenu connexe

Tendances

Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++ncrmax
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de ControlAndres Carrera
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en JavaJdcaste
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Controlmtemarialuisa
 
Estructuras de control_luis_barreto
Estructuras de control_luis_barretoEstructuras de control_luis_barreto
Estructuras de control_luis_barretoLuisBarreto80
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5srBichoRaro
 
Complemento Ciclos
Complemento CiclosComplemento Ciclos
Complemento CiclosJairo Marin
 
Programacion Avanzada JavaScript
Programacion Avanzada JavaScriptProgramacion Avanzada JavaScript
Programacion Avanzada JavaScripttovi27
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De FlujoEmilio Aviles Avila
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitivavillandri pachco
 
Diapositivas grupo 1 ESTRUCTURAS
Diapositivas grupo 1 ESTRUCTURASDiapositivas grupo 1 ESTRUCTURAS
Diapositivas grupo 1 ESTRUCTURASJeferson Anchatuña
 

Tendances (20)

Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++
 
Estructura selectiva
Estructura selectivaEstructura selectiva
Estructura selectiva
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Sentencias de repetición en Java
Sentencias de repetición en JavaSentencias de repetición en Java
Sentencias de repetición en Java
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Estructuras de control_luis_barreto
Estructuras de control_luis_barretoEstructuras de control_luis_barreto
Estructuras de control_luis_barreto
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Capitulo4
Capitulo4Capitulo4
Capitulo4
 
Complemento Ciclos
Complemento CiclosComplemento Ciclos
Complemento Ciclos
 
Programacion Avanzada JavaScript
Programacion Avanzada JavaScriptProgramacion Avanzada JavaScript
Programacion Avanzada JavaScript
 
Curso Java Inicial 3 Sentencias De Control De Flujo
Curso Java Inicial   3 Sentencias De Control De FlujoCurso Java Inicial   3 Sentencias De Control De Flujo
Curso Java Inicial 3 Sentencias De Control De Flujo
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitiva
 
Diapositivas grupo 1 ESTRUCTURAS
Diapositivas grupo 1 ESTRUCTURASDiapositivas grupo 1 ESTRUCTURAS
Diapositivas grupo 1 ESTRUCTURAS
 
Estructuras if
Estructuras ifEstructuras if
Estructuras if
 
Paradigma orientado a objetos
Paradigma orientado a objetosParadigma orientado a objetos
Paradigma orientado a objetos
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
PSEUDOCODIGO
 PSEUDOCODIGO PSEUDOCODIGO
PSEUDOCODIGO
 

En vedette

Corta Tu Rama Hh
Corta Tu Rama HhCorta Tu Rama Hh
Corta Tu Rama HhMabel Rojas
 
Tco seguridad ocupacional
Tco seguridad ocupacionalTco seguridad ocupacional
Tco seguridad ocupacionalJosé Mesa
 
Efecto doppler
Efecto dopplerEfecto doppler
Efecto dopplerjoeyeller
 
Med safety nj ph a 10 10 11 final 3 (97-2003)
Med safety nj ph a 10 10 11 final 3 (97-2003)Med safety nj ph a 10 10 11 final 3 (97-2003)
Med safety nj ph a 10 10 11 final 3 (97-2003)Shaukat Patel MS R.Ph.
 
Exploration network chapter7-enlacede_datos rmv
Exploration network chapter7-enlacede_datos rmvExploration network chapter7-enlacede_datos rmv
Exploration network chapter7-enlacede_datos rmvRaymundo Vazquez
 
Energia fotovoltaica 2014
Energia fotovoltaica 2014Energia fotovoltaica 2014
Energia fotovoltaica 2014romeryk
 
Induccion colaboradores Prevención de Lavado de Activos
Induccion colaboradores Prevención de Lavado de ActivosInduccion colaboradores Prevención de Lavado de Activos
Induccion colaboradores Prevención de Lavado de Activosseus1456
 
Examination of tmj &muscles of mastication (2)
Examination of tmj &muscles of mastication (2)Examination of tmj &muscles of mastication (2)
Examination of tmj &muscles of mastication (2)rachitajainr
 
Fisiologia del dolor
Fisiologia del dolorFisiologia del dolor
Fisiologia del dolorDaniel Zavala
 
Iluminacin juan guasch farras
Iluminacin juan guasch farrasIluminacin juan guasch farras
Iluminacin juan guasch farrasJorge Lizcano
 
Analisis de los contenidos pwp
Analisis de los contenidos pwpAnalisis de los contenidos pwp
Analisis de los contenidos pwpyarafisherc
 
Lecture 2 thoracic wall & Diaphragm
Lecture 2 thoracic wall & DiaphragmLecture 2 thoracic wall & Diaphragm
Lecture 2 thoracic wall & DiaphragmDr. Noura El Tahawy
 
Anti-Slavery Catechism
Anti-Slavery CatechismAnti-Slavery Catechism
Anti-Slavery CatechismS7w5Xb
 

En vedette (20)

Corta Tu Rama Hh
Corta Tu Rama HhCorta Tu Rama Hh
Corta Tu Rama Hh
 
Tco seguridad ocupacional
Tco seguridad ocupacionalTco seguridad ocupacional
Tco seguridad ocupacional
 
Efecto doppler
Efecto dopplerEfecto doppler
Efecto doppler
 
Med safety nj ph a 10 10 11 final 3 (97-2003)
Med safety nj ph a 10 10 11 final 3 (97-2003)Med safety nj ph a 10 10 11 final 3 (97-2003)
Med safety nj ph a 10 10 11 final 3 (97-2003)
 
Exploration network chapter7-enlacede_datos rmv
Exploration network chapter7-enlacede_datos rmvExploration network chapter7-enlacede_datos rmv
Exploration network chapter7-enlacede_datos rmv
 
Manual de Prácticas Fitopatología-ESAVF
Manual de Prácticas Fitopatología-ESAVFManual de Prácticas Fitopatología-ESAVF
Manual de Prácticas Fitopatología-ESAVF
 
Energia fotovoltaica 2014
Energia fotovoltaica 2014Energia fotovoltaica 2014
Energia fotovoltaica 2014
 
Induccion colaboradores Prevención de Lavado de Activos
Induccion colaboradores Prevención de Lavado de ActivosInduccion colaboradores Prevención de Lavado de Activos
Induccion colaboradores Prevención de Lavado de Activos
 
Macro review
Macro reviewMacro review
Macro review
 
Examination of tmj &muscles of mastication (2)
Examination of tmj &muscles of mastication (2)Examination of tmj &muscles of mastication (2)
Examination of tmj &muscles of mastication (2)
 
Fisiologia del dolor
Fisiologia del dolorFisiologia del dolor
Fisiologia del dolor
 
Iluminacin juan guasch farras
Iluminacin juan guasch farrasIluminacin juan guasch farras
Iluminacin juan guasch farras
 
Eating Recovery Center 2011 Clipbook
Eating Recovery Center 2011 ClipbookEating Recovery Center 2011 Clipbook
Eating Recovery Center 2011 Clipbook
 
Analisis de los contenidos pwp
Analisis de los contenidos pwpAnalisis de los contenidos pwp
Analisis de los contenidos pwp
 
Lecture 2 thoracic wall & Diaphragm
Lecture 2 thoracic wall & DiaphragmLecture 2 thoracic wall & Diaphragm
Lecture 2 thoracic wall & Diaphragm
 
Plataforma pri pvem
Plataforma pri pvemPlataforma pri pvem
Plataforma pri pvem
 
Anti-Slavery Catechism
Anti-Slavery CatechismAnti-Slavery Catechism
Anti-Slavery Catechism
 
Evaluacion y-medicion trío
Evaluacion y-medicion tríoEvaluacion y-medicion trío
Evaluacion y-medicion trío
 
Smbd (2)
Smbd (2)Smbd (2)
Smbd (2)
 
9 1
9 19 1
9 1
 

Similaire à Estructuras de control

Similaire à Estructuras de control (20)

Instrucciones de control en c++
Instrucciones de control en c++Instrucciones de control en c++
Instrucciones de control en c++
 
Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
Switch.ppsx
Switch.ppsxSwitch.ppsx
Switch.ppsx
 
Presentacion 5
Presentacion 5Presentacion 5
Presentacion 5
 
D6 b sentencias de control de flujo
D6 b sentencias de control de flujoD6 b sentencias de control de flujo
D6 b sentencias de control de flujo
 
Lenguaje c tarea 5
Lenguaje c tarea 5Lenguaje c tarea 5
Lenguaje c tarea 5
 
Estructuras
EstructurasEstructuras
Estructuras
 
Slides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y buclesSlides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y bucles
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Estructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivasEstructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivas
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras de control en PHP
Estructuras de control en PHPEstructuras de control en PHP
Estructuras de control en PHP
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Programacion I
Programacion I Programacion I
Programacion I
 
3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx
 
6. sentencia switch
6. sentencia switch6. sentencia switch
6. sentencia switch
 
Michell instrucciones de ontrol
Michell instrucciones de ontrolMichell instrucciones de ontrol
Michell instrucciones de ontrol
 
43 Php. La Instruccion Continue
43 Php. La Instruccion Continue43 Php. La Instruccion Continue
43 Php. La Instruccion Continue
 
Manual
ManualManual
Manual
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 

Estructuras de control

  • 1. ESTRUCTURAS DE CONTROL SELECTIVAS Y REPETITIVAS Ing. José Luis Ceballos
  • 2. CONCEPTUALIZACIÓN Las estructuras de control permiten establecer el orden de ejecución de las instrucciones de un programa. Por defecto, el flujo de ejecución de un programa es secuencial, es decir, las instrucciones se ejecutan una después de la otra en el orden en el cual fueron escritas en el código del programa. Las estructuras repetitivas y selectivas permiten alterar el flujo normal de ejecución del programa; en este sentido, las estructuras de selección se utilizará para seleccionar cuáles instrucciones se ejecutarán y las repetitivas, se utilizarán para repetir una serie de instrucciones. Ing. José Luis Ceballos
  • 3. INTRUCCIONES SELECTIVAS Instrucción If-else La sintaxis es: if (condición) { instrucciones; Grupo 1 } else { instrucciones; Grupo 2 } Lo anterior establece que de ser verdadera la condición, se ejecutará el grupo 1 de instrucciones, en caso contrario, se ejecutará el grupo 2. Ing. José Luis Ceballos
  • 4. INTRUCCIONES SELECTIVAS Instrucción If-else unidireccional Existen situaciones en donde se omite la parte else de la instrucción condicional, debido a que no se considera necesario ejecutar un grupo de instrucciones en caso de que no se cumpla la condición. Así la sintaxis quedaría como sigue: if (condición) { instrucciones; } Ing. José Luis Ceballos
  • 5. INTRUCCIONES SELECTIVAS Instrucción If-else en cadena La sintaxis es: if (condición1) { instrucciones; } else if (condición2) { instrucciones; } else if (condición3) { instrucciones; } else { instrucciones; } Ing. José Luis Ceballos
  • 6. INTRUCCIONES SELECTIVAS Instrucción If-else en cadena De acuerdo a la sintaxis anterior, la instrucción if-else en cadena evaluará cada condición en orden, y si alguna de ellas es verdadera, entonces, se ejecutará el grupo de instrucciones asociada a la condición, y lo que resta de la cadena será omitido. El grupo de instrucciones asociadas con el else final, se ejecutará cuando ninguna de las condiciones anteriores se haya cumplido, es decir, este último grupo de instrucciones funciona como un valor predeterminado. Ing. José Luis Ceballos
  • 7. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadas El grupo de instrucciones asociado a una condición puede estar constituido por instrucciones válidas de C++, incluyendo otra instrucción if-else; de ser así, se estaría creando instrucciones anidadas if. Ing. José Luis Ceballos
  • 8. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadas Un ejemplo de la sintaxis de if anidadas es: if (condición1) { if (condición2) { instrucciones; Grupo 1 } else { instrucciones; Grupo 2 } } else if (condición3) { if (condición4) { instrucciones; Grupo 3 } } else { instrucciones; Grupo 4 } Ing. José Luis Ceballos
  • 9. INTRUCCIONES SELECTIVAS Instrucciones If-else anidadas En el ejemplo de sintaxis anterior, para que se ejecute el Grupo 1 de instrucciones, condición1 y condición2 deben ser verdaderas; para ejecutarse el Grupo 2 de instrucciones, condición1 verdadera y condición2 falsa; el Grupo 3 de instrucciones se ejecutará sólo si condición3 y condición4 son verdaderas; y el Grupo 4 de instrucciones se ejecutará si condición1 y condición3 son falsas. Ing. José Luis Ceballos
  • 10. INTRUCCIONES SELECTIVAS Ejemplo Una institución educativa determina el nivel de grado de sus estudiantes de acuerdo al número de unidades de crédito aprobadas por estos; en tal sentido, desarrolle un programa que solicite el número de unidades de crédito aprobadas por el alumno y determine su ubicación dentro de la carrera universitaria de acuerdo a la siguiente tabla: Número de créditos obtenidos Grado Menor que 32 Primer año Entre 32 y 63 Segundo año Entre 64 y 95 Tercer año 96 o más Cuarto año Ing. José Luis Ceballos
  • 11. INTRUCCIONES SELECTIVAS Ejemplo #include <iostream.h> #include <conio.h> main() { int uc; cout << “nn Unidades de crédito aprobadas: ”; cin >> uc; if (uc < 32) cout << “nn Alumno de Primer Año”; else if (uc >= 32 && uc <= 63) cout << “nn Alumno de Segundo Año”; else if (uc >= 64 && uc <= 95) cout << “nn Alumno de Tercer Año”; else cout << “nn Alumno de Cuarto Año”; cout << “nn Presione una tecla para finalizar….”; return 0; } Ing. José Luis Ceballos
  • 12. INTRUCCIONES SELECTIVAS Instrucción switch La sintaxis es: switch(expresión) { case valor1: { instrucciones; }break;; case valor2: { instrucciones; }break;; case valor3: { instrucciones; }break;; default: instrucciones; } Ing. José Luis Ceballos
  • 13. INTRUCCIONES SELECTIVAS Instrucción switch La instrucción switch es una alternativa a la instrucción if-else, y básicamente consiste en comparar el valor de una expresión de número entero o carácter, con un valor específico. La palabra clave case se utiliza para identificar los valores que serán comparados con el valor de la expresión. Al coincidir algunos de estos valores, se ejecuta el grupo de instrucciones asociado a ese case hasta encontrarse una instrucción break la cual hace que se salga del ciclo switch. La instrucción break es muy importante, porque ella obliga a salir del ciclo, en caso de no encontrarse, se seguirán ejecutando las instrucciones de manera secuencial, incluyendo todos los case que vienen posteriores al que dio inicio de ejecución de las instrucciones. En caso de que el valor de la expresión no coincida con el valor de algún case, entonces se ejecutará el grupo de instrucciones asociadas al default, el cual opera como un else; es decir, si no se ejecuta ningún case, entonces ejecutará por defecto o de manera predeterminada, el grupo de instrucciones del default. Es de hacer notar que la instrucción default es opcional dentro del ciclo switch, y esta no requiere finalizar con ningún break, porque aparece al final del ciclo. Ing. José Luis Ceballos
  • 14. INTRUCCIONES SELECTIVAS Ejemplo Desarrollar un programa que lea dos números enteros y lleve a cabo una operación aritmética (suma, resta, multiplicación, división) entre ellos, de acuerdo a lo indicado por el usuario. Ing. José Luis Ceballos
  • 15. INTRUCCIONES SELECTIVAS Ejemplo #include <iostream.h> #include <conio.h> main() { int n1, n2, r, sw = 0; char op; cout << “nn Indique primer número entero: ”; cin >> n1; cout << “nn Indique segundo número entero: ”; cin >> n2; cout << “nn Indique operador ( + - * / )  ”; cin >> op; switch (op) { case ‘+’ : { r = n1 + n2; }break; Ing. José Luis Ceballos
  • 16. INTRUCCIONES SELECTIVAS Ejemplo case ‘-’ : { r = n1 – n2; }break; case ‘*’ : { r = n1*n2; }break; case ‘/ ’ : { if (n2 != 0) r = n1 / n2; else { cout << “nn Error división por cero… ”; sw = 1; } }break; default: cout << “nn Error en la selección del operador…” sw = 1; } if ( sw == 0 ) cout << “nn Resultado = “ << r; getch(); return 0; Ing. José Luis Ceballos }
  • 17. INTRUCCIONES REPETITIVAS Instrucción for La sintaxis es: for (inicializar; condición; inc/dec) { instrucciones; } La instrucción for se utiliza cuando se tiene establecido el número de veces que se debe ejecutar repetidamente un grupo de instrucciones. Ing. José Luis Ceballos
  • 18. INTRUCCIONES REPETITIVAS Instrucción for A continuación se describirán los elementos que conforman la instrucción for : inicializar : Es una instrucción que se usa para establecer el valor inicial de la variable que controlará el ciclo repetitivo. expresión : Determina la condición de finalización del ciclo repetitivo. inc/dec : Establece el incremento o decremento del valor de la variable que controla al ciclo repetitivo. Ing. José Luis Ceballos
  • 19. INTRUCCIONES REPETITIVAS Instrucción while La sintaxis es: while (condición) { instrucciones; } En una sentencia while el grupo de instrucciones inmerso en ella, se ejecutará repetidamente, mientras que la condición sea verdadera. Ing. José Luis Ceballos
  • 20. INTRUCCIONES REPETITIVAS Instrucción do while La sintaxis es: do { instrucciones; }while (condición); La sentencia do while hace que se repita la ejecución de las instrucciones asociadas a ella, mientras que la condición sea verdadera. La diferencia que existe con respecto al ciclo while visto anteriormente, es que en este, la condición se evalúa antes de ingresar a la ejecución de las instrucciones; por el contrario, en el ciclo do while se ejecutan al menos una vez las instrucciones y luego se verifica la condición. En tal sentido, si se requiere que se valide primero la condición antes de ejecutar el grupo de instrucciones, se debe hacer uso de la sentencia while, en cualquier otro caso, se puede hacer uso de la sentencia do while. Ing. José Luis Ceballos
  • 21. INTRUCCIONES REPETITIVAS Ejemplo 1 Desarrollar un programa que muestre el total de aprobados y reprobados de una asignatura, así como el promedio de la calificación final. Los datos de entrada deben ser : el total de alumnos inscritos en la materia, y la calificación final en base a 100 puntos de cada alumno. Si la calificación es menor a 70 puntos, el alumno está reprobado en la asignatura. Ing. José Luis Ceballos
  • 22. INTRUCCIONES REPETITIVAS Ejemplo 1 #include <iostream.h> #include <stdio.h> #include <conio.h> main() { int i, na, aprob = 0, repro = 0; float cf, prom, s = 0; cout << “nn Indique número de alumnos : ”; cin >> na; for (i = 1; i <= na; i++) { cout << “nn Calificación Final del alumno # ” << i << “ : ”; cin >> cf; if (cf >= 70) aprob++; else repro++; s = s + cf; } prom= s/na; cout << “nn El total de alumnos aprobados es : “ << aprob << “ y reprobados : “ << repro; printf( “nn El promedio de calificaciones es : %2.1f”, prom); cout << “nn Presione una tecla para finalizar…”; getch(); return 0; } Ing. José Luis Ceballos
  • 23. INTRUCCIONES REPETITIVAS Ejemplo 2 Una maquinaria que costó $28.000 se deprecia a razón de $4.000 por año. Desarrolle un programa que muestre la depreciación anual y acumulada hasta que el valor de la maquinaria sea igual a cero. Ing. José Luis Ceballos
  • 24. INTRUCCIONES REPETITIVAS Ejemplo 3 #include <iostream.h> #include <conio.h> #define D 4000 main() { int vf, s = 0, i = 1, costo = 28000; cout << “nn Año Deprec. Deprec. Acum Valor al fin de año ”; do { s = s + D; CALCULA LA DEPRECIACIÓN ACUMULADA vf = costo – D; CALCULA EL VALOR FINAL DE LA MAQUINARIA cout << “ ” << i << “ ” << D << “ ” << s << “ ” << vf; i++; LLEVA EL CONTEO DEL NÚMERO DE AÑOS costo = vf; ACTUALIZA EL COSTO DE LA MAQUINARIA }while( vf > 0 ); SE EJECUTA EL CICLO MIENTRAS EL VALOR SEA MAYOR A CERO cout << “nnn Presione una tecla para finalizar…”; getch(); return 0; } Ing. José Luis Ceballos