2. Objetivos del Capítulo
1. Comprender técnicas para solucionar problemas.
2. Utilizar las estructuras de selección if...else para
elegir entre distintas acciones alternativas.
3. Utilizar la estructura de repetición while para
ejecutar instrucciones de manera repetitiva.
4. Comprender la repetición controlada por un
contador y la repetición controlada por un centinela.
5. Utilizar los operadores de asignación.
3. Antes de Programar
➔ Antes de escribir un programa que dé solución a un
problema, es imprescindible tener una comprensión
detallada de todo el problema, además de una
estrategia planeada para resolverlo.
➔ Al escribir un programa, es igualmente esencial
comprender los tipos de bloques de construcción
disponibles, y emplear las técnicas comprobadas
para construir programas.
4. El Orden en los Algoritmos
➔ Cualquier problema puede resolverse ejecutando
una serie de acciones en un orden específico.
➔ Considere el “algoritmo para levantarse y
arreglarse” que sigue un ejecutivo para levantarse
de la cama e ir a trabajar:
1. Levantarse.
2. Quitarse la ropa de dormir.
3. Bañarse.
4. Vestirse.
5. Desayunar.
Esta rutina logra que el ejecutivo llegue al trabajo
bien preparado para tomar decisiones críticas.
5. ¿Qué es el Pseudocódigo?
➔ Es un lenguaje informal que ayuda a los
programadores a desarrollar algoritmos sin tener
que preocuparse por los estrictos detalles de la
sintaxis del lenguaje C++.
➔ El pseudocódigo es similar al lenguaje cotidiano; es
conveniente y amigable.
➔ No se ejecuta en las computadoras.
En vez de ello, ayuda al programador a “organizar”
un programa antes de que intente escribirlo en un
lenguaje de programación como C++.
6. Ejecución Secuencial
➔ Generalmente, en un programa las instrucciones se
ejecutan una después de otra, en el orden en que
están escritas.
➔ Este proceso se conoce como ejecución
secuencial. Existen instrucciones en C++, que
permiten especificar que la siguiente instrucción a
ejecutarse tal vez no sea la siguiente en la
secuencia.
Esto se conoce como transferencia de control
7. Estructura de secuencia
➔ A menos que se le indique lo contrario, la
computadora ejecuta las instrucciones una después
de otra.
➔ Como veremos pronto, en donde quiera que se
coloque una sola acción, podrán colocarse varias
acciones en secuencia.
8. Instrucciones de Selección
➔ La instrucción if realiza (selecciona) una acción si la
condición es verdadera, o evita la acción si la
condición es falsa.
➔ La instrucción if...else realiza una acción si la
condición es verdadera, o realiza una acción
distinta si la condición es falsa.
➔ La instrucción switch (capítulo 5) realiza una de
entre varias acciones distintas, dependiendo del
valor de una expresión.
9. Instrucción de selección if
➔ Los programas utilizan instrucciones de selección
para elegir entre los cursos alternativos de acción.
➔ Por ejemplo, suponga que la calificación para
aprobar un examen es 60.
➔ Imprimir “Aprobado” determina si la condición “la
calificación del estudiante es mayor o igual a 60” es
verdadera o falsa.
10. Instrucción de selección if
if ( calificacion >= 60 )
cout << "Aprobado";
➔ Si calificación es mayor o igual a 60, imprime
“Aprobado” y luego se dirige al final.
➔ Si es menor a 60, el programa se dirige
inmediatamente al final sin mostrar mensaje.
11. Instrucción de selección
doble if...else
➔ La instrucción if de selección simple realiza una
acción indicada solamente cuando la condición es
verdadera; de no ser así, se evita dicha acción.
➔ La instrucción if...else permite especificar una
acción a realizar cuando la condición es verdadera,
y otra cuando la condición es falsa.
Por ejemplo: Si calificación es mayor o igual a 60
Imprimir “Aprobado”
De lo contrario
Imprimir “Reprobado”
12. Instrucción de selección
doble if...else
Así es en C++:
if ( calificacion >= 60 )
cout << "Aprobado";
else
cout << "Reprobado";
13. Operador Condicional
Puede utilizarse en lugar de if...else:
cout << (calificacion >= 60 ? "Aprobado" : "Reprobado");
➔ Produce como resultado la cadena "Aprobado" si la
expresión es verdadera, o "Reprobado" si es falsa.
➔ Por lo tanto, realiza en esencia la misma función que la
instrucción if...else.
14. Instrucciones if...else
anidadas
Un programa puede evaluar varios casos colocando
instrucciones if...else dentro de otras instrucciones.
➔ Si calificación es mayor o igual a 90
Imprimir “Cinco” de lo contrario
➔ Si calificación es mayor o igual a 80
Imprimir “Cuatro” de lo contrario
➔ Si calificación es mayor o igual a 70
Imprimir “Tres” de lo contrario
➔ Si calificación es mayor o igual a 60
Imprimir “Dos” de lo contrario
➔ Imprimir “Uno”
16. Muchos programadores en
prefieren escribir así:
if ( calificacion >= 90 )
printf( "Cinco" );
else if ( calificacion >= 80 )
printf( "Cuatro" );
else if ( calificacion >= 70 )
printf( "Tres" );
else if ( calificacion >= 60 )
printf( "Dos" );
else
printf( "Uno" );
Las dos formas son idénticas.
17. #include <iostream>
using namespace std;
int main()
{
int calificacion = 75;
if ( calificacion >= 90 )
cout << "Cinco";
else if ( calificacion >= 80 )
cout << "Cuatro";
else if ( calificacion >= 70 )
cout << "Tres";
else if ( calificacion >= 60 )
cout << "Dos";
else cout << "Uno";
return 0;
}
18. Bloques
La instrucción if puede incluir varias instrucciones
entre llaves { }.
A este conjunto de instrucciones se le llama bloque.
El siguiente ejemplo incluye un bloque:
if ( calificacion >= 60 )
cout << "Aprobado";
else
{
cout << "Reprobado.";
cout << "Debe tomar este curso otra vez.";
}
19. Bloques
➔ Las llaves son importantes.
➔ Sin ellas, la instrucción printf ("Debe tomar este
curso otra vez."); estaría fuera del cuerpo de la
parte else de la instrucción if...else y se ejecutaría
sin importar que la calificación fuera menor a 60.
➔ Los errores de sintaxis (como cuando se omite una
llave en un bloque del programa) los atrapa el
compilador.
➔ Un error lógico (como cuando se omiten ambas
llaves en un bloque del programa) tiene su efecto
en tiempo de ejecución.
20. Instrucciones de Repetición
➔ C++ cuenta con tres instrucciones de repetición
que permiten a los programas ejecutar
instrucciones en forma repetida, siempre y cuando
una condición siga siendo verdadera.
➔ Las instrucciones de repetición se
implementan con las instrucciones
while, do...while y for.
21. Instrucción de repetición
while
Permite especificar que un programa debe repetir una
acción mientras cierta condición sea verdadera.
Ejemplo:
Mientras existan artículos en mi lista de compras:
Comprar el siguiente artículo.
➔ La condición “existan artículos en mi lista de
compras” puede ser verdadera o falsa.
➔ Esta acción se realizará en forma repetida mientras
la condición sea verdadera.
22. While (product <= 100)
Este ciclo sigue ejecutándose hasta que la condición
producto > 100 se vuelva verdadera.
Entonces, la instrucción while termina.
23. Ejemplo:
Promedio de Notas.
➔ A una clase de diez estudiantes se les aplicó un
examen.
➔ Las calificaciones (enteros en el rango de 0 a 100)
de este examen están disponibles para su análisis.
Determine el promedio de la clase para este examen.
24. #include <iostream>
using namespace std;
int main()
{
int total=0, contador=1, nota, promedio;
while ( contador <= 10 ) // itera 10 veces
{
cout << "Escriba la nota:";
cin >> nota; // lee la nota
total = total + nota; // suma calificación a total
contador = contador + 1; //incrementa contador en 1
}
promedio = total / 10;
cout << "nEl total de las 10 notas es " << total;
cout << "nEl promedio es " << promedio ;
return 0;
}