You are on page 1of 14

28/02/2019

Objetivos
• Comprender las técnicas básicas para solucionar problemas.
• Utilizar las instrucciones de selección if e if…else para seleccionar acciones.
• Utilizar la instrucción de repetición while para ejecutar repetidamente las
instrucciones de un programa.
• Comprender la repetición controlada por contador y la repetición controlada
por centinela.
• Comprender la programación estructurada.
• Utilizar los operadores de incremento, decremento y asignación.

Programación I - Cuilapa 2019 28/02/2019 20:55

• Programación Estructurada:
• La programación estructurada es un estilo con el cual se busca que el programador
elabore programas sencillos y fáciles de entender. Para ello, la programación
estructurada hace uso de tres estructuras básicas de control, las cuales son:

• Ejecución o Estructura Secuencial:


• Estructura Selectiva:
• Estructura Repetitiva (o Iterativa)

• Estructuras de Control:
• Controlan en flujo de ejecución de un programa o función.
• Permiten combinar instrucciones o sentencias individuales en una simple unidad
lógica con un punto de entrada y un punto de salida.

• Transferencia de Control:
• Permiten al programador especificar que la siguiente instrucción a ejecutarse debe
ser otra y no la siguiente en la secuencia.
28/02/2019 20:55
Programación I - Cuilapa 2019

1
28/02/2019

• Ejecución o Estructura Secuencial:


• Se refiere a que las instrucciones de un determinado programa se ejecutan una a una en el orden en que
fueron escritas.

• Estructuras Selectivas o de Decisión:


• Las estructuras de selección se utilizan para elegir entre diversos cursos de acción:
• La instrucción de selección if (simple) realiza una acción si la condición es verdadera, o ignora la acción si la condición es
falsa.
• La instrucción de selección if…else (dobre) realiza una acción si la condición es verdadera y realiza una acción diferente
si la condición es falsa.
• La instrucción de selección switch (múltiple) realiza una de muchas acciones dependiendo del valor de una expresión.

• Estructuras Repetitivas (o Iterativas):


• Las estructuras de repetición permiten al programador especificar que una acción se va a repetir mientras una
condición sea verdadera.
• C proporciona tres tipos e estructuras de repetición en forma de instrucciones, las cuales son:
• while
• do…while
• for

• En resumen, C tiene 7 instrucciones de control: Secuencia, 3 tipos de selección y 3


tipos de repetición.

28/02/2019 20:55
Programación I - Cuilapa 2019

• La instrucción de selección simple if:


• La instrucción de selección simple if consiste en evaluar una condición o expresión, y si ésta
es verdadera, entonces se ejecuta el conjunto de instrucciones de tal if, de lo contrario se
ignora.
• La sintaxis del if es: if (expresión o condición) Acción;
• Expresión o condición es la que se evalúa y determina si la acción se ha de ejecutar.
• Acción se ejecuta si la expresión o condición es verdadera. Acción puede ser de 1 o varias líneas de
instrucciones.

• Por ejemplo:
Si calificación del estudiante es mayor o igual que 60
Imprime “Aprobado”
El DF respectivo sería:

La instrucción if en C del Pseudocódigo anterior


sería:
if (calificación >= 61)
printf(“Aprobado”);

28/02/2019 20:55
Programación I - Cuilapa 2019

2
28/02/2019

• Ejemplo con if():


#include <stdio.h> #include <iostream>
#include <conio.h> #include <conio.h>

int main() int main()


{ {
int n, d; int n, d;
cout<<"Introduzca dos enteros:"<<endl;
printf ( "Introduzca dos enteros: ") ;
cin>>n;
scanf ("%d %d", &n, &d);
cin>>d;
if (n%d == 0)
if (n%d == 0)
printf (" %d es divisible por %d\n",n,d);
cout<<endl<<n<<" es divisible por "<<d<<"\n";
return 0; getch();
getch(); return 0;
} }

Ejercicio: Analice ambos programas e indique si existe algún error. En caso de que
exista indique de qué tipo es y que problema genera. ¿Cómo lo solucionaría?

28/02/2019 20:55
Programación I - Cuilapa 2019

• La instrucción de selección simple if … else:


• Esta instrucción permite al programador especificar que se realizarán acciones
diferentes cuando la condición sea verdadera y cuando la condición sea falsa.
• La sintaxis del if…else es: if (expresión o condición) Acción else Acción;
• Expresión o condición es la es la expresión lógica que determina la acción a ejecutar.
• La primera Acción se ejecuta si la expresión o condición es verdadera.
• La segunda Acción es la que se ejecuta si la condición es falsa.

• Por ejemplo:
si calificación del estudiante es mayor o igual que 61
Imprime “Aprobado”
sino El DF respectivo sería:
Imprime “Reprobado”

La instrucción if…else en C del Pseudocódigo


anterior sería:
if ( calificación >= 61 )
printf( “Aprobado\n” );
else
printf( “Reprobado\n” );
28/02/2019 20:55
Programación I - Cuilapa 2019

3
28/02/2019

• Ejemplo con if() . . . else():


#include <stdio.h> #include <iostream>
#include <conio.h> #include <conio.h>

int main() int main()


{ {
int n, d; int n, d;
cout<<"Introduzca dos enteros:"<<endl;
printf ( "Introduzca dos enteros: ") ;
cin>>n;
scanf ("%d %d", &n, &d);
cin>>d;
if (n%d == 0)
if (n%d == 0)
printf (" %d es divisible por %d\n",n,d);
cout<<endl<<n<<" es divisible por "<<d<<"\n";
else else
{ {
printf (" %d no es divisible por cout<<endl<<n<<“ no es divisible por
%d\n",n,d); ”<<d<<“\n”;
Printf(“Intente con otro numero.\n”); Cout<<“Intente con otro numero.”<<endl;
} }
getch(); getch();
return 0; return 0;
} }
28/02/2019 20:55
Programación I - Cuilapa 2019

 Las instrucciones if() . . . else() if ( calificacion >= 90 )


printf( “A\n” );
anidadas evalúan múltiples else
casos al colocar instrucciones if ( calificacion >= 80 )
if() . . . else() dentro de otras printf( “B\n” );
instrucciones if() . . . else(). Por else
if ( calificacion >= 70 )
ejemplo, las instrucciones
printf( “C\n” );
siguientes: else
◦ Imprime una A para las calificaciones if ( calificacion >= 60 )
mayores o iguales que 90. printf( “D\n” );
◦ Imprime una B para las calificaciones else
mayores o iguales que 80. printf( “F\n” );
◦ Imprime una C para las calificaciones
mayores o iguales que 70.
◦ Imprime una D para las calificaciones
mayores o iguales que 60.
◦ Y F para todas las demás
calificaciones.

28/02/2019 20:55
Programación I - Cuilapa 2019

4
28/02/2019

• La instrucción de selección múltiple switch:


• La instrucción switch sirve para ser aplicada en un programa que contenga una serie de
decisiones en las que se evalúa una variable o expresión de manera separada para cada
uno de los valores integrales constantes que puede asumir, y para los que se llevan a
cabo diferentes acciones.
• La instrucción switch consiste en una serie de etiquetas case y un caso opcional
default.
• El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double.
El DF respectivo sería:
La sintaxis de switch es:
switch (selector)
{
case etiqueta : sentencias;
break;
case etiqueta : sentencias;
break;
.
case etiqueta : sentencias;
break;
default: sentencias;
} Programación I - Cuilapa 2019 28/02/2019 20:55

Ejemplo con switch(), en C:

28/02/2019 20:55
Programación I - Cuilapa 2019

5
28/02/2019

Ejemplo con switch(), en C++:

Programación I - Cuilapa 2019 28/02/2019 20:55

• La instrucción de repetición while (mientras):


◦ Una instrucción de repetición o bucle permite al programador especificar que
una acción se va a repetir mientras una condición sea verdadera.
◦ La(s) instrucción(es) contenida(s) dentro de la instrucción de repetición while
constituyen el cuerpo de la instrucción. El cuerpo de la instrucción while puede
ser una sola instrucción o una instrucción compuesta.
La sintaxis de while es:
while (condición - bucle) El DF respectivo sería:
sentencia_simple;

while (condición - bucle)


{
sentencia 1;
sentencia 2;

sentencia n;
} Programación I - Cuilapa 2019
28/02/2019 20:55

6
28/02/2019

Ejemplo: Calcular la nota promedio de todos los estudiantes.

28/02/2019 20:55
Programación I - Cuilapa 2019

Ejemplo: Haga una modificación al anterior programa haciendo que el mismo


funcione mientras no se ingrese el centinela.

28/02/2019 20:55
Programación I - Cuilapa 2019

7
28/02/2019

Ejemplo: Calcular la nota promedio de todos los estudiantes.

28/02/2019 20:55
Programación I - Cuilapa 2019

Ejemplo: Haga una modificación al anterior programa


haciendo que el mismo funcione mientras no se ingrese el
centinela.

28/02/2019 20:55
Programación I - Cuilapa 2019

8
28/02/2019

Ejemplo: Programa que permite el ingreso de un número y muestra la suma de cada


una de sus cifras. El número debe ser ingresado en una sola variable . . .

28/02/2019 20:55
Programación I - Cuilapa 2019

• La instrucción de repetición do … while (hacer … mientras):


◦ La sentencia do-while se utiliza para especificar un bucle condicional que se
ejecuta al menos una vez.
◦ Esta situación se suele dar en algunas circunstancias en las que se ha de tener la
seguridad de que una determinada acción se ejecutará una o varias veces, pero
al menos una vez.
El DF respectivo sería:
La sintaxis de do…while es:
do {sentencia} while (expresión o
condicion);

do
{
sentencia 1;
sentencia 2;

sentencia n;
} while (expresión o condicion);

28/02/2019 20:55
Programación I - Cuilapa 2019

9
28/02/2019

Ejemplo: Calcular la suma de n números ingresados por el usuario. Ingresar por lo menos un número.

28/02/2019 20:55
Programación I - Cuilapa 2019

Ejemplo: Calcular la suma de n números ingresados por el usuario. Ingresar por lo menos un número.

28/02/2019 20:55
Programación I - Cuilapa 2019

10
28/02/2019

• La instrucción de repetición for (para):


◦ La sentencia for (bucle for) es un método para ejecutar un bloque de sentencias un
número fijo de veces. El bucle for se diferencia del bucle while en que las operaciones
de control del bucle se sitúan en un solo sitio: la cabecera de la sentencia.
◦ Maneja todos los detalles de la repetición controlada por contador.
La sintaxis de for es:
for (expresion1; expresion2; El DF respectivo sería:
expresion3)
instrucción(es);

Donde:
Expresion1: contendrá la
variable de control, la que
deberá estar inicializada.
Expresion2: Es la expresión
lógica que determina si las
instrucciones o sentencias se
han de ejecutar mientras sea
verdadera.
Expresion3: Incrementa o
decrementa la variable de
control.
Programación I - Cuilapa 2019
28/02/2019 20:55

• Ejemplo: Programa que imprime los primeros números pares


menores que 20

28/02/2019 20:55
Programación I - Cuilapa 2019

11
28/02/2019

• Ejemplo: Programa que imprime los primeros números pares


menores que 20. . .

28/02/2019 20:55
Programación I - Cuilapa 2019

• Ejemplo: Llenado y recorrido de una matriz de 10 x 10. Ciclos for


anidados.

28/02/2019 20:55
Programación I - Cuilapa 2019

12
28/02/2019

• PRACTICA:
1) Escriba un programa en C++ que sea capaz de aceptar un número e indicar si el mismo
es positivo o negativo.
2) Escribir un programa en C++ en el que se demuestre la utilización de la instrucción
if…else anidadas.
3) Escribir un programa en C++ que pueda realizar las operaciones básicas (suma, resta,
multiplicación y división) según un menú que se presenta al usuario. Para el caso de la
suma, se deberá de ingresar los sumandos indefinidamente hasta que el usuario indique
que ya no quiere ingresar ningún número.
4) Modifique el programa que escribió la semana pasada utilizando lo siguiente:
1) If …else
2) switch
3) Ciclos for, while y do . . . While
4) Funciones con prototipos.
5) Y que permite que el programa pueda realizar cualquier acción n veces hasta que el usuario así
lo decida.

28/02/2019 20:55
Programación I - Cuilapa 2019

Comparación de while, for y do … while


1) while
• El uso más frecuente es cuando la repetición no está controlada por contador; el test
de condición precede a cada repetición del bucle; el cuerpo del bucle puede no ser
ejecutado. Se debe utilizar cuando se desea saltar el bucle si la condición es falsa.

2) for
• Bucle de conteo, cuando el número de repeticiones se conoce por anticipado y puede
ser controlado por un contador; también es adecuado para bucles que implican control
no contable del bucle con simples etapas de inicialización y de actualización; el test
de la condición precede a la ejecución del cuerpo del bucle.

3) do…while
• Es adecuada para asegurar que al menos se ejecuta el bucle una vez.

28/02/2019 20:55
Programación I - Cuilapa 2019

13
28/02/2019

GRACIAS

28/02/2019 20:55
Programación I - Cuilapa 2019

14

You might also like