Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 5 PDF
Clase 5 PDF
SENTENCIAS DE
CONTROL DE FLUJO
Decisión y Bifurcación
Bucles
PROGRAMACION DIGITAL MA713-I 89
Decisión y Bifurcación
Modifican el flujo secuencial en la ejecución del
programa.
Se denominan Condicionales o Bifurcaciones y
permiten elegir entre dos o más opciones según
ciertas condiciones.
Decisión y Bifurcación
• Sentencia if
• Sentencia if .. else
• Sentencia if .. else múltiple
• Sentencia switch
PROGRAMACION DIGITAL MA713-I 91
Sentencia if
La sentencia compuesta
forma un bloque { … }
~
PROGRAMACION DIGITAL MA713-I 92
Sentencia if
Ejm:
~
F
20 nota10
V
contaconta+1
Esc
“Aprobado”
~
PROGRAMACION DIGITAL MA713-I 93
Sentencia if
Ejm:
Sentencia if … else
~
PROGRAMACION DIGITAL MA713-I 95
Sentencia if … else
Ejm:
~
V F
20nota0
Esc Esc
“Nota Válida” “Nota no Válida”
~
PROGRAMACION DIGITAL MA713-I 96
Sentencia if … else
Ejm:
else if(expr3)
sent2 V F
sent3; expr3
else if(…) …
… sent3 sentn
[else
sentn;]
~
PROGRAMACION DIGITAL MA713-I 99
Esc V F
“Aprobado” 6 nota <10
Esc V F
“Desaprobado” 0 nota <6
Esc Esc
“Reprobado” “Nota no Válida”
~
PROGRAMACION DIGITAL MA713-I 100
Ejm:
if(nota>=10 && nota<=20)
printf(“Aprobado”);
else
if(nota>=6 && nota<10)
printf(“Desaprobado”);
else
if(nota>=0 && nota<6)
printf(“Reprobado”);
else
printf(“Nota no válida”);
PROGRAMACION DIGITAL MA713-I 101
Situación 1
Ingresar por teclado un carácter y decir si el
carácter es un símbolo, número (0….9) o una letra
(A….Z, a….z, no incluir ñ o Ñ ni acentuadas).
Entrada Salida
car “Es símbolo”
“Es número”
“Es letra”
PROGRAMACION DIGITAL MA713-I 102
Sentencia switch
Sentencia switch
switch(expr) {
case cte1:
sent1; ~
break;
cte1 cte2 expr cten default
case cte2:
sent2;
break; sent1 sent2 … sentn sent
…
case cten:
sentn;
break; ~
[default:
sent;]
}
PROGRAMACION DIGITAL MA713-I 104
Sentencia switch
~
3 4 lados 5 default
~
PROGRAMACION DIGITAL MA713-I 105
Sentencia switch
Ejemplo:
switch(lados) {
case 3:
printf(“Triángulo”); break;
case 4:
printf(“Cuadrado”); break;
case 5:
printf(“Pentágono”); break;
default:
printf(“Otro”);
}
PROGRAMACION DIGITAL MA713-I 106
Bucles
Modifican el flujo secuencial en la ejecución del
programa.
Permiten repetir la ejecución de unos procesos un
determinado número de veces o hasta que se
cumpla una condición de tipo lógico.
PROGRAMACION DIGITAL MA713-I 107
Bucles
Sentencia while
Bucle con condición al inicio
Sentencia do .. while
Bucle con condición al final
Sentencia for
Bucle de repetición
PROGRAMACION DIGITAL MA713-I 108
Sentencia while
~
PROGRAMACION DIGITAL MA713-I 109
Ejemplo
Escribir un programa que permita ingresar
sucesivamente notas por teclado, verificando que
sean notas válidas.
El programa terminará cuando se ingrese una
nota no válida.
Dar como respuesta el promedio de las notas
ingresadas.
Entrada Salida
nota prom
PROGRAMACION DIGITAL MA713-I 110
Inicio
suma 0
conta 0 prom suma/conta
Leer Escribir
nota prom
F Fin
0 nota 20
V
suma suma + nota
conta conta + 1
Leer
nota
PROGRAMACION DIGITAL MA713-I 111
Sentencia do … while
do sentencia
sentencia;
while (expresion); V
expresión
F
~
PROGRAMACION DIGITAL MA713-I 112
Ejemplo
Realizar un programa que calcule el valor de ex
con un error menor a 10-4, dado que el valor del
exponencial para un valor de x se puede expresar
mediante la serie:
x2
x3
x4
2 !
3 !
4 !
e
1
x
.
.
.
x
Entrada Salida
x serie
PROGRAMACION DIGITAL MA713-I 113
Inicio
serie 0
termino 1 Escribir
serie
conta 0
Fin
Leer
x
conta conta + 1
V
|termino| > 10-4
F
PROGRAMACION DIGITAL MA713-I 114
Sentencia for
Sentencia for
for(inicial; expr; increm)
sentencia;
~
Contador inicio..fin , increm
sentencia
~
PROGRAMACION DIGITAL MA713-I 116
Ejemplo
Entrada Salida
n mayor
num menor
PROGRAMACION DIGITAL MA713-I 117
Inicio
Leer
n,num
menor num F
num > mayor
mayor num
V
mayor num
i 2 .. n
Leer
num
Escribir
F
num < menor mayor,menor
V Fin
menor num
PROGRAMACION DIGITAL MA713-I 118
Situación Propuesta
Diseñe un programa que determine la cantidad de
cifras de un número natural y si sus cifras son o
no consecutivas de izquierda a derecha o de
derecha a izquierda.
Así por ejemplo:
Situación 2
Entrada Salida
num ncifras
“cifras consecutivas de izquierda a
derecha”
“cifras consecutivas de derecha a
izquierda”
“cifras no consecutivas”