SlideShare una empresa de Scribd logo
Instrucciones de control:
parte 2
Ramiro Estigarribia Canese
Objetivos del Capítulo
➔ Conocer los fundamentos acerca de la repetición
controlada por un contador.
➔ Utilizar las instrucciones de repetición for y do...
while para ejecutar instrucciones de manera
repetitiva en un programa.
➔ Comprender la selección múltiple utilizando la
instrucción de selección switch.
➔ Utilizar las instrucciones de control de programa
break y continue para alterar el flujo de control.
➔ Utilizar los operadores lógicos para formar
expresiones condicionales complejas.
Introducción
➔ El capítulo 4 nos introdujo a los tipos de bloques de
construcción disponibles para solucionar
problemas.
➔ Utilizamos dichos bloques de construcción para
emplear las técnicas, ya comprobadas, de la
construcción de programas.
➔ En este capítulo continuaremos nuestra
presentación de la teoría y los principios de la
programación estructurada, presentando el resto de
las instrucciones de control en C++.
Repetición while
El ciclo while requiere 4 partes:
1. Una variable de control.
2. El valor inicial de la variable de control.
3. El incremento (o decremento) .
4. La condición, que determina si el ciclo debe continuar
o no.
Contador While
#include <iostream>
using namespace std;
int main()
{
int contador = 1; //declara y asigna 1
while ( contador <= 10 ) //condición de continuación
{
cout << contador << " ";
++contador; // incrementa en 1
} // fin de while
return 0;
}
Instrucción de repetición for
➔ La instrucción for, especifica los detalles de la
repetición en una sola línea de código.
➔ Se incrementa el contador de forma automática, y
finalmente se ejecuta la prueba de control.
Ejemplo:
ContadorFor
#include <iostream>
using namespace std;
int main()
{
for ( int contador=1; contador <= 10; contador++ )
{
cout << contador << " ";
} // fin de for
return 0;
}
Diagrama UML: Contador
Ejemplos sobre el uso de la
instrucción for
➔ De 1 a 100 en incrementos de 1.
for ( int i = 1; i <= 100; i++ )
➔ De 100 a 1 en decrementos de 1.
for ( int i = 100; i >= 1; i-- )
➔ De 7 a 77 en incrementos de 7.
for ( int i = 7; i <= 77; i+= 7 )
➔ De 20 a 2 en decrementos de 2.
for ( int i = 20; i >= 2; i-= 2 )
➔ La siguiente secuencia: 55, 44, 33, 22, 11, 0.
for ( int i = 55; i >= 0; i -= 11 )
Sumar Números Pares:
del 2 al 10
#include <iostream>
using namespace std;
int main()
{
int total = 0; // inicializa el total
for ( int numero = 2; numero <= 10; numero += 2 )
{
total += numero;
}
cout << "La suma es " << total;
return 0;
}
Ejemplo:
Cálculo de Intereses
Una persona invierte $1000 en una cuenta de ahorro
que produce el 5% de interés.
Calcule el dinero en la cuenta al final de cada año,
durante 10 años, usando la fórmula:
m = p(1 + r) ^ n ............ en donde:
➔ p es el monto que se invirtió originalmente.
➔ r es la tasa de interés anual (0.05)
➔ n es el número de años
➔ m es el monto obtenido.
#include <iostream>
using namespace std;
#include <cmath> // biblioteca de matemáticas
using std::pow; // permite utilizar la función pow
int main()
{
double monto; // monto final de cada año
double principal = 1000; // monto inicial
double tasa = 0.05; // tasa de interés
cout << "Año t Monton"; //Títulos
for ( int anio = 1; anio <= 10; anio++ )
{
monto = principal * pow( 1.0 + tasa, anio );
cout << anio << " t " << monto << "n";
} // fin de for
return 0;
}
Cálculo de Intereses
➔ Utilizamos el método pow de la clase Math para
realizar el cálculo del interés.
➔ pow( x, y ) calcula el valor de x elevado a la y-
ésima potencia.
El método recibe dos argumentos double y
devuelve un valor double .
➔ Después de cada cálculo, se imprime en pantalla el
año y el monto depositado al final de ese año.
Instrucción de repetición
do...while
➔ La instrucción de repetición do...while
evalúa la condición de continuación
después de ejecutar el cuerpo del ciclo.
➔ Por lo tanto, el cuerpo siempre se ejecuta por lo
menos una vez.
➔ Cuando termina una instrucción do...while , la
ejecución continúa con la siguiente instrucción en la
secuencia.
Imprimir del 1 al 10.
#include <iostream>
using namespace std;
int main()
{
int contador = 1; // inicializa contador
do
{
cout << " " << contador;
++contador; // incrementa en 1
} while ( contador <= 10 ); // fin de do...while
return 0;
}
Instrucción de selección
múltiple switch
➔ En el capítulo 4 hablamos de la instrucción if.
➔ La instrucción switch permite seleccionar para
muchos valores de una variable. Ejemplo:
switch ( valor )
{
case 999: // valor=999
cout << "999";
break; //corta el switch
case 777: // valor=777
cout << "777";
......
}
#include <iostream>
using namespace std;
int main() {
int calificacion=7;
switch ( calificacion )
{
case 9: // calificación es 9
cout << "Cinco"; break;
case 8: // calificación es 8
cout << "Cuatro"; break;
case 7: // calificación es 7
cout << "Tres"; break;
case 6: // calificación es 6
cout << "Dos"; break;
default: // todos los demás casos
cout <<"Uno";
}
return 0; }
Instrucciones break
➔ Además de las instrucciones de selección y
repetición, C++ cuenta con las instrucciones break
y continue.
➔ La instrucción break para terminar la ejecución de
una instrucción switch.
➔ Cuando break se ejecuta en una instrucción while ,
for , do...while , o switch , ocasiona la salida
inmediata de esa instrucción.
➔ Los usos comunes de break son para escapar
anticipadamente del ciclo.
#include <iostream>
using namespace std;
int main()
{
int valor;
for ( valor = 1; valor <= 10; valor++ ) // itera 10 veces
{
if ( valor == 5 ) // si valor es 5,
break; // corta el ciclo
} // fin de for
cout << "nCortó en: " << valor;
return 0;
} // fin de main
Instrucción continue
➔ La instrucción continue omite las instrucciones
restantes de un ciclo y continúa con la siguiente
iteración del ciclo.
➔ En las instrucciones while y do...while , la
aplicación evalúa la prueba de continuación de
ciclo justo después de que se ejecuta la instrucción
continue .
➔ En una instrucción for se ejecuta la expresión de
incremento y después el programa evalúa la
prueba de continuación de ciclo.
#include <iostream>
using namespace std;
int main()
{
for ( int valor = 1; valor <= 10; valor++ ) // itera 10 veces
{
if ( valor == 5 ) // si valor es 5,
continue; // omite el resto del ciclo
cout << valor << " ";
} // fin de for
return 0;
}
Resultado: 1 2 3 4 6 7 8 9 10
Operador AND &&
➔ if, while y for requieren una condición.
Hasta ahora hemos estudiado condiciones simples.
➔ Suponga que deseamos asegurar que dos
condiciones sean ambas verdaderas.
En este caso, podemos utilizar el operador && (AND
condicional) de la siguiente manera:
➔ if ( genero == ‘FEMENINO’ && edad > 65 )
La cual es verdadera si ambas son verdaderas.
Operador OR ||
Ahora deseamos que cualquiera o ambas condiciones
sean verdaderas.
En este caso, utilizamos el operador ||.
if ( ( promedio >= 90 ) || ( examenFinal >= 90 ) )
cout >> “Materia Aprobada”;
La única vez que no se imprime el mensaje:
“Materia Aprobada” es cuando ambas condiciones son
falsas.
Operador de negación !
El operador !, también conocido como negación lógica
“invierte” el significado de una condición.
Este operador se coloca antes de una condición.
Puede escribirse de estas 2 maneras:
if (!( nota == 5 )) //si nota es distinto a 5.
if ( nota != 5 ) //si nota es distinto a 5.

Más contenido relacionado

La actualidad más candente

ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés RivasTipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
crls821
 
Fundamentos de Ingenieria en Requisitos
Fundamentos de Ingenieria en RequisitosFundamentos de Ingenieria en Requisitos
Fundamentos de Ingenieria en RequisitosUTPL UTPL
 
Definicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de TuringDefinicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de Turinglourdesnbv
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
Ulises Ruinervo
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
Omar Sanchez
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y tecladoLuis Zurita
 
Programación de AVR
Programación de AVRProgramación de AVR
Programación de AVR
Juan Corleone
 
Practica6MoisesDaniel25378.docx
Practica6MoisesDaniel25378.docxPractica6MoisesDaniel25378.docx
Practica6MoisesDaniel25378.docx
Ingrid Moreno
 
ATMEL-Presentación
ATMEL-Presentación ATMEL-Presentación
ATMEL-Presentación
Estefany Luna
 
Cuaderno de ejercicios para micro automatas programables 2015
Cuaderno de ejercicios para micro automatas programables 2015Cuaderno de ejercicios para micro automatas programables 2015
Cuaderno de ejercicios para micro automatas programables 2015
CarlosPineda729332
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Moises Morales
 
PRACTICA_EXCESO_3-COD_GRAY
PRACTICA_EXCESO_3-COD_GRAY PRACTICA_EXCESO_3-COD_GRAY
PRACTICA_EXCESO_3-COD_GRAY
Santiago Salinas Lopez
 
Ejercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de ForurierEjercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de Forurier
Santiago Salinas Lopez
 
Codigos bin-alfanumerico
Codigos bin-alfanumericoCodigos bin-alfanumerico
Codigos bin-alfanumerico
José Benites Yarlequé
 
Gazzilli
GazzilliGazzilli
Gazzilli
Kevin Smith
 

La actualidad más candente (20)

ALGEBRA RELACIONAL
ALGEBRA RELACIONALALGEBRA RELACIONAL
ALGEBRA RELACIONAL
 
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés RivasTipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
Tipos de Circuitos Integrados Por Hoover Urrea y Andrés Rivas
 
Fundamentos de Ingenieria en Requisitos
Fundamentos de Ingenieria en RequisitosFundamentos de Ingenieria en Requisitos
Fundamentos de Ingenieria en Requisitos
 
Definicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de TuringDefinicion y Funcionamiento de Maquina de Turing
Definicion y Funcionamiento de Maquina de Turing
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Clase MSI
Clase MSIClase MSI
Clase MSI
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Programación de AVR
Programación de AVRProgramación de AVR
Programación de AVR
 
Practica6MoisesDaniel25378.docx
Practica6MoisesDaniel25378.docxPractica6MoisesDaniel25378.docx
Practica6MoisesDaniel25378.docx
 
Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Los tipos de bytes
Los tipos de bytesLos tipos de bytes
Los tipos de bytes
 
ATMEL-Presentación
ATMEL-Presentación ATMEL-Presentación
ATMEL-Presentación
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Cuaderno de ejercicios para micro automatas programables 2015
Cuaderno de ejercicios para micro automatas programables 2015Cuaderno de ejercicios para micro automatas programables 2015
Cuaderno de ejercicios para micro automatas programables 2015
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
 
PRACTICA_EXCESO_3-COD_GRAY
PRACTICA_EXCESO_3-COD_GRAY PRACTICA_EXCESO_3-COD_GRAY
PRACTICA_EXCESO_3-COD_GRAY
 
Ejercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de ForurierEjercicios Resueltos Series de Forurier
Ejercicios Resueltos Series de Forurier
 
Codigos bin-alfanumerico
Codigos bin-alfanumericoCodigos bin-alfanumerico
Codigos bin-alfanumerico
 
Gazzilli
GazzilliGazzilli
Gazzilli
 

Destacado

5.instrucciones de control en java parte2
5.instrucciones de control en java parte25.instrucciones de control en java parte2
5.instrucciones de control en java parte2
Ramiro Estigarribia Canese
 
1.introducción a las redes
1.introducción a las redes1.introducción a las redes
1.introducción a las redes
Ramiro Estigarribia Canese
 
4.aspectos humanos de sistemas
4.aspectos humanos de sistemas4.aspectos humanos de sistemas
4.aspectos humanos de sistemas
Ramiro Estigarribia Canese
 
3.desarrollo ágil
3.desarrollo ágil3.desarrollo ágil
3.desarrollo ágil
Ramiro Estigarribia Canese
 
1.la industria del software
1.la industria del software1.la industria del software
1.la industria del software
Ramiro Estigarribia Canese
 
2.procesos de desarrollo de software
2.procesos de desarrollo de software2.procesos de desarrollo de software
2.procesos de desarrollo de software
Ramiro Estigarribia Canese
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
1da4
 

Destacado (9)

5.instrucciones de control en java parte2
5.instrucciones de control en java parte25.instrucciones de control en java parte2
5.instrucciones de control en java parte2
 
1.introducción a las redes
1.introducción a las redes1.introducción a las redes
1.introducción a las redes
 
4.aspectos humanos de sistemas
4.aspectos humanos de sistemas4.aspectos humanos de sistemas
4.aspectos humanos de sistemas
 
3.desarrollo ágil
3.desarrollo ágil3.desarrollo ágil
3.desarrollo ágil
 
5.redes auditoria de sistemas
5.redes auditoria de sistemas5.redes auditoria de sistemas
5.redes auditoria de sistemas
 
4.test de penetración pentest
4.test de penetración   pentest4.test de penetración   pentest
4.test de penetración pentest
 
1.la industria del software
1.la industria del software1.la industria del software
1.la industria del software
 
2.procesos de desarrollo de software
2.procesos de desarrollo de software2.procesos de desarrollo de software
2.procesos de desarrollo de software
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 

Similar a 5.instrucciones de control en c++ parte 2

Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
Alcira Ordóñez Rey
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
Mar15marian
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase lenguaje c
Mar15marian
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
Mar15marian
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Fernando Solis
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
Abrirllave
 
Estructura
EstructuraEstructura
Estructura
Gamil Revilla
 
Práctica N°3.pdf
Práctica N°3.pdfPráctica N°3.pdf
Práctica N°3.pdf
chavesCcapaCalcina
 
Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlKarina Arguedas Ruelas
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
José Antonio Sandoval Acosta
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++David
 
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto while
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto whileLenguajesdeprogramacion c nivel1-unidad4-01-estatuto while
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto whileCarlos
 
Lenguaje de programacion C++ 4
Lenguaje de programacion C++ 4Lenguaje de programacion C++ 4
Lenguaje de programacion C++ 4David
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
chembe
 
Unidad4
Unidad4Unidad4
Unidad4JHONNY
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
chembe
 

Similar a 5.instrucciones de control en c++ parte 2 (20)

C facil de_v2
C facil de_v2C facil de_v2
C facil de_v2
 
Estructura repetitiva
Estructura repetitivaEstructura repetitiva
Estructura repetitiva
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase lenguaje c
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Estructura
EstructuraEstructura
Estructura
 
4.instrucciones de control en c++
4.instrucciones de control en c++4.instrucciones de control en c++
4.instrucciones de control en c++
 
Práctica N°3.pdf
Práctica N°3.pdfPráctica N°3.pdf
Práctica N°3.pdf
 
Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de Control
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto while
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto whileLenguajesdeprogramacion c nivel1-unidad4-01-estatuto while
Lenguajesdeprogramacion c nivel1-unidad4-01-estatuto while
 
Lenguaje de programacion C++ 4
Lenguaje de programacion C++ 4Lenguaje de programacion C++ 4
Lenguaje de programacion C++ 4
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 
Unidad4
Unidad4Unidad4
Unidad4
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 

Más de Ramiro Estigarribia Canese

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
Ramiro Estigarribia Canese
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
Ramiro Estigarribia Canese
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
Ramiro Estigarribia Canese
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
Ramiro Estigarribia Canese
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
Ramiro Estigarribia Canese
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
Ramiro Estigarribia Canese
 
Servicios web
Servicios webServicios web
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
Ramiro Estigarribia Canese
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
Ramiro Estigarribia Canese
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
Ramiro Estigarribia Canese
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
Ramiro Estigarribia Canese
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
Ramiro Estigarribia Canese
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
Ramiro Estigarribia Canese
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
Ramiro Estigarribia Canese
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
Ramiro Estigarribia Canese
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
Ramiro Estigarribia Canese
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
Ramiro Estigarribia Canese
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
Ramiro Estigarribia Canese
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
Ramiro Estigarribia Canese
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
Ramiro Estigarribia Canese
 

Más de Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Último

Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 

Último (20)

Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 

5.instrucciones de control en c++ parte 2

  • 1. Instrucciones de control: parte 2 Ramiro Estigarribia Canese
  • 2. Objetivos del Capítulo ➔ Conocer los fundamentos acerca de la repetición controlada por un contador. ➔ Utilizar las instrucciones de repetición for y do... while para ejecutar instrucciones de manera repetitiva en un programa. ➔ Comprender la selección múltiple utilizando la instrucción de selección switch. ➔ Utilizar las instrucciones de control de programa break y continue para alterar el flujo de control. ➔ Utilizar los operadores lógicos para formar expresiones condicionales complejas.
  • 3. Introducción ➔ El capítulo 4 nos introdujo a los tipos de bloques de construcción disponibles para solucionar problemas. ➔ Utilizamos dichos bloques de construcción para emplear las técnicas, ya comprobadas, de la construcción de programas. ➔ En este capítulo continuaremos nuestra presentación de la teoría y los principios de la programación estructurada, presentando el resto de las instrucciones de control en C++.
  • 4. Repetición while El ciclo while requiere 4 partes: 1. Una variable de control. 2. El valor inicial de la variable de control. 3. El incremento (o decremento) . 4. La condición, que determina si el ciclo debe continuar o no.
  • 5. Contador While #include <iostream> using namespace std; int main() { int contador = 1; //declara y asigna 1 while ( contador <= 10 ) //condición de continuación { cout << contador << " "; ++contador; // incrementa en 1 } // fin de while return 0; }
  • 6. Instrucción de repetición for ➔ La instrucción for, especifica los detalles de la repetición en una sola línea de código. ➔ Se incrementa el contador de forma automática, y finalmente se ejecuta la prueba de control.
  • 7. Ejemplo: ContadorFor #include <iostream> using namespace std; int main() { for ( int contador=1; contador <= 10; contador++ ) { cout << contador << " "; } // fin de for return 0; }
  • 9. Ejemplos sobre el uso de la instrucción for ➔ De 1 a 100 en incrementos de 1. for ( int i = 1; i <= 100; i++ ) ➔ De 100 a 1 en decrementos de 1. for ( int i = 100; i >= 1; i-- ) ➔ De 7 a 77 en incrementos de 7. for ( int i = 7; i <= 77; i+= 7 ) ➔ De 20 a 2 en decrementos de 2. for ( int i = 20; i >= 2; i-= 2 ) ➔ La siguiente secuencia: 55, 44, 33, 22, 11, 0. for ( int i = 55; i >= 0; i -= 11 )
  • 10. Sumar Números Pares: del 2 al 10 #include <iostream> using namespace std; int main() { int total = 0; // inicializa el total for ( int numero = 2; numero <= 10; numero += 2 ) { total += numero; } cout << "La suma es " << total; return 0; }
  • 11. Ejemplo: Cálculo de Intereses Una persona invierte $1000 en una cuenta de ahorro que produce el 5% de interés. Calcule el dinero en la cuenta al final de cada año, durante 10 años, usando la fórmula: m = p(1 + r) ^ n ............ en donde: ➔ p es el monto que se invirtió originalmente. ➔ r es la tasa de interés anual (0.05) ➔ n es el número de años ➔ m es el monto obtenido.
  • 12. #include <iostream> using namespace std; #include <cmath> // biblioteca de matemáticas using std::pow; // permite utilizar la función pow int main() { double monto; // monto final de cada año double principal = 1000; // monto inicial double tasa = 0.05; // tasa de interés cout << "Año t Monton"; //Títulos for ( int anio = 1; anio <= 10; anio++ ) { monto = principal * pow( 1.0 + tasa, anio ); cout << anio << " t " << monto << "n"; } // fin de for return 0; }
  • 13. Cálculo de Intereses ➔ Utilizamos el método pow de la clase Math para realizar el cálculo del interés. ➔ pow( x, y ) calcula el valor de x elevado a la y- ésima potencia. El método recibe dos argumentos double y devuelve un valor double . ➔ Después de cada cálculo, se imprime en pantalla el año y el monto depositado al final de ese año.
  • 14. Instrucción de repetición do...while ➔ La instrucción de repetición do...while evalúa la condición de continuación después de ejecutar el cuerpo del ciclo. ➔ Por lo tanto, el cuerpo siempre se ejecuta por lo menos una vez. ➔ Cuando termina una instrucción do...while , la ejecución continúa con la siguiente instrucción en la secuencia.
  • 15. Imprimir del 1 al 10. #include <iostream> using namespace std; int main() { int contador = 1; // inicializa contador do { cout << " " << contador; ++contador; // incrementa en 1 } while ( contador <= 10 ); // fin de do...while return 0; }
  • 16. Instrucción de selección múltiple switch ➔ En el capítulo 4 hablamos de la instrucción if. ➔ La instrucción switch permite seleccionar para muchos valores de una variable. Ejemplo: switch ( valor ) { case 999: // valor=999 cout << "999"; break; //corta el switch case 777: // valor=777 cout << "777"; ...... }
  • 17. #include <iostream> using namespace std; int main() { int calificacion=7; switch ( calificacion ) { case 9: // calificación es 9 cout << "Cinco"; break; case 8: // calificación es 8 cout << "Cuatro"; break; case 7: // calificación es 7 cout << "Tres"; break; case 6: // calificación es 6 cout << "Dos"; break; default: // todos los demás casos cout <<"Uno"; } return 0; }
  • 18. Instrucciones break ➔ Además de las instrucciones de selección y repetición, C++ cuenta con las instrucciones break y continue. ➔ La instrucción break para terminar la ejecución de una instrucción switch. ➔ Cuando break se ejecuta en una instrucción while , for , do...while , o switch , ocasiona la salida inmediata de esa instrucción. ➔ Los usos comunes de break son para escapar anticipadamente del ciclo.
  • 19. #include <iostream> using namespace std; int main() { int valor; for ( valor = 1; valor <= 10; valor++ ) // itera 10 veces { if ( valor == 5 ) // si valor es 5, break; // corta el ciclo } // fin de for cout << "nCortó en: " << valor; return 0; } // fin de main
  • 20. Instrucción continue ➔ La instrucción continue omite las instrucciones restantes de un ciclo y continúa con la siguiente iteración del ciclo. ➔ En las instrucciones while y do...while , la aplicación evalúa la prueba de continuación de ciclo justo después de que se ejecuta la instrucción continue . ➔ En una instrucción for se ejecuta la expresión de incremento y después el programa evalúa la prueba de continuación de ciclo.
  • 21. #include <iostream> using namespace std; int main() { for ( int valor = 1; valor <= 10; valor++ ) // itera 10 veces { if ( valor == 5 ) // si valor es 5, continue; // omite el resto del ciclo cout << valor << " "; } // fin de for return 0; } Resultado: 1 2 3 4 6 7 8 9 10
  • 22. Operador AND && ➔ if, while y for requieren una condición. Hasta ahora hemos estudiado condiciones simples. ➔ Suponga que deseamos asegurar que dos condiciones sean ambas verdaderas. En este caso, podemos utilizar el operador && (AND condicional) de la siguiente manera: ➔ if ( genero == ‘FEMENINO’ && edad > 65 ) La cual es verdadera si ambas son verdaderas.
  • 23. Operador OR || Ahora deseamos que cualquiera o ambas condiciones sean verdaderas. En este caso, utilizamos el operador ||. if ( ( promedio >= 90 ) || ( examenFinal >= 90 ) ) cout >> “Materia Aprobada”; La única vez que no se imprime el mensaje: “Materia Aprobada” es cuando ambas condiciones son falsas.
  • 24. Operador de negación ! El operador !, también conocido como negación lógica “invierte” el significado de una condición. Este operador se coloca antes de una condición. Puede escribirse de estas 2 maneras: if (!( nota == 5 )) //si nota es distinto a 5. if ( nota != 5 ) //si nota es distinto a 5.