Facultad de Ciencias de la Comp
BUAP
Introducción a la Programación
Estructuras
de
Control
Condicionales
Repetitivas
Resolución de problemas
Análisis del
problema
Diseño del
algoritmo
Codificación
Ejecución y
validación
Estructuras de Control
Secuencial
Pseudo código
Inicio
acción 1;
acción 2;
….
acción n;
Fin
Diagrama de Flujo
Acción 1
Acción 2
Acción n
1
Estructuras de Control
Secuencial
Ejemplo:
Sumar y multiplicar 2 números.
Inicio
// x, y, z, w
Leer y, z;
x = y + z;
w = y * z;
Escribir x, w;
Fin
Inicio
y, z
x=y+z
w=y*z
X,W
Fin
Estructuras de Control
de Selección
• Selección:
– Permiten realizar difurcación de la secuencia de
ejecución del algoritmo o programa a través de
una toma de decisión. Pueden ser simples,
dobles, anidadas y múltiples.
Estructuras de Control
Selección Simple
si (condición)
entonces
sentencia;
Pseudocodigo
Diagrama de Flujo
Nassi-Schneidermann
Condición
sí
V
Condición
no
Sentencia
Sentencia
F
Estructuras de Control
Selección Simple (cont.)
Ejemplo:
Lee un número por teclado y determina si es
PAR.
Inicio
Leer N
Si (N % 2 = 0) Entonces
Escrbibir “El número es PAR”;
FinSi
Fin
Estructuras de Control
Selección doble
Pseudocodigo
Si (condición) Entonces
sentencia1;
Sino
sentencia2;
FinSi
Diagrama de Flujo
Nassi-Schneidermann
sí
no
condición
sentencia1
sentencia2
Condición
V
Sentencia1
F
Sentencia2
Estructuras de Control
Condicional Doble
Ejemplo:
Proceso ParImpar
Escribir “Número: ”;
Leer N ;
Si (N%2 == 0) Entonces
Escribir “par” ;
Sino
Escribir “impar”;
FinProceso
Selección Anidada
Pseudocodigo
Si (condición)
sentencia1;
Sino Si (condición)
sentencia2;
Sino Si (condición)
sentencia3;
sino
sentencia4;
FinSi
Diagrama de Flujo
Condición
sí
Sentencia1
sino
Condición
sí
Sentencia2
sino
Condición
sino
sí
Sentencia3
Sentencia4
Estructura de Control
Selectiva Anidada
Ejemplo:
Determinar si un número entero es par, impar o cero
Inicio
Leer N
Si(N %2=0) Entonces
Escribir “ ES PAR “;
Sino Si ~( N%2 =0) Entonces // diferente en Pseint?
Escribir “ ES IMPAR “;
Sino Escribir “ES CERO”;
FinSi
Fin
1
Estructuras de Control
Selección Múltiple
Pseudocodigo
Diagrama de Flujo
Segun (expresión) Hacer
caso1: acción1;
caso2: acción2;
.......................
casoP: acciónP;
1
expresión
n
2
De Otro Modo:
acción 1
acción 2
acción n
acciónPorDefault;
FinSegun
Las sentencias de cada case se ejecutan secuencialmente incluyendo
las de los otros casos, a menos que se use la sentencia break de C
Estructuras de Control
Selectiva
• Ejemplo. Asignación de calificación
Inicio
Escribir “promedio final: ”;
Leer promedio;
Si (promedio<6) entonces calificacion <-“NA”;
sino si (promedio < 7.4) entonces calificacion <- “S”;
sino si (promedio < 8.7) entonces calificacion = “B”;
sino si (promedio < 9.5) entonces calificacion <- “MB”;
sino calificacion <- “E”;
Escribir “cal <- ”,calificacion;
Fin
Estructuras de Control
Selectiva Múltiple
• Ejemplo. Selección de menú.
• Inicio
• Escribir “DICHOS:”;
• Escribir “1. Para flojos”;
•
Escribir “2. Para dar ánimos”;
•
Escribir “3. De experiencia”;
•
Escribir “Opción: ”;
• Leer(opcion);
• Según (opcion) Hacer
•
1: Escribir “No por mucho madrugar amanece más temprano”;
•
2: Escribir “A darle que es mole de olla”;
•
3: escribe “Más sabe el diablo por viejo que por diablo”;
•
De otro Modo: Escribir “Opcion invalida”;
• FinSegun
• Fin
Estructuras de Control
Selectivas Múltiple
Ejemplo:
Determinar el nuevo sueldo de un empleado si se
conoce de entrada el sueldo inicial y la categoría.
El nuevo sueldo se obtiene mediante una tabla
decategorias que determina el aumento. Mostrar la
categoria, el sueldo normal y el nuevo.
Categoria
Incremento
1
15%
2
10%
3
8%
4
7%
Estructuras de Control
Repetitivas o Iterativas
Repiten la ejecución de un grupo de acciones
una cierta cantidad de veces.
Éstas pueden ser:
1. Mientras
2. Para
3. Hacer – Mientras (Repetir- Hasta)
Estructura de Control
Repetitiva: Mientras
Pseudocodigo
Diagrama de Flujo
Mientras (condición) Hacer
sentencia;
FinMientras
no
condición
sí
Sentencia
Nassi-Schneidermann
mientras condición
Sentencia
Estructuras de Control
Iterativa Mientras
Ejemplo:
Proceso Suma_Numeros
Leer n;
suma<-0;
indice<-1;
Mientras indice<= n Hacer
suma<-suma+indice;
indice<-indice+1;
FinMientras
Escribir "Suma: ",suma;
FinProceso
Estructuras de Control
Iterativa Mientras
Ejercicios:
1. Calcular la sumatoria de los primeros 100
enteros.
2. Imprimir los n primeros enteros
3. Imprimir su nombre 10 veces
4. Leer un número e imprimir su tabla de
multiplicar
5. Calcular el factorial de un número
6. Leer N números y sumar los positivos en una
variable y los negativos en otra.
1
Estructuras de Control
Iterativa: Hacer-Mientras (Repetir-Hasta)
Pseudocodigo
Diagrama de Flujo
Sentencia
condición
sí
no
Repetir
sentencia(s);
Hasta que (condición)
Nassi-Schneidermann
Senetncia
mientras
Repetir condición
condición
1
Estructuras de Control
Iterativa Repetir-Hasta
Ejemplo: Suma los primeros n números consecutivos
Proceso Suma_Numeros
Leer n;
suma<-0;
indice<-1;
Repetir
suma<-suma+indice;
indice<-indice+1;
Hasta Que indice > n
Escribir "Suma: ",suma;
FinProceso
Estructuras de Control
Iterativa Repetir-Hasta
Ejercicios:
1. Calcular el factorial de un número leído del teclado
2. Mostrar en pantalla todos los impares comprendidos
entre 1 y 100
3. Leer dos números enteros y mostrar todos los
múltiplos de 4 comprendidos entre el mayor y el
menor.
4. Leer dos números enteros y sumar todos los valores
enteros que haya entre el mayor y el menor
5. Sumar números leídos uno a uno, hasta que el
usuario ingrese un nueve. Al final debe mostrarse la
suma. Escribe el pseudocodigo, diagrama de flujo y
prueba de escritorio manual y en PseInt.
Estructuras de Control
Iterativas: Para
Pseudocódigo
Para vc = vi Hasta vf Con Paso
valor_num Hacer
Acción1
Acción 2
Acción n
...
Acción n
Fin_Para
vc= variabel de control
vi= valor inicial
vf= valor final
Diagrama de Flujo
vc=1
No
vc<=10
vc=vc+1
?
Si
Accion1 ...
Accion n
1
Estructuras de Control
Iterativas: Para
Ejemplo: Escribir su nombre 10 veces.
Proceso Escribe_Nombres
cont<-1;
Para cont<-1 Hasta 10 Con Paso 1 Hacer
Escribir "Mikel Night"
FinPara
FinProceso
Estructuras de Control
Iterativas: Para
Ejercicios:
1. Calcular la suma de los primeros 100 enteros.
2. Una persona debe realizar un muestreo con 50
personas para determinar el promedio de peso de los
niños, jóvenes, adultos y viejos que existen en su
zona habitacional. Se determinan las categorías con
base en la sig, tabla:
CATEGORIA
EDAD
Niños
0 - 12
Jóvenes
13 - 29
Adultos
30 - 59
Viejos
60 en adelante
3. Leer 20 números e imprimir cuantos son positivos,
cuantos negativos y cuantos neutros.
Estructuras de Control
Iterativas o repetitivas
Unas Preguntitas
• ¿Por qué existen tres estructura iterativas?
• ¿Cuándo utilizar una u otra?
• ¿Cuál el la diferencia entre las estructuras
iterativas?
• ¿cuál es el más fácil de utilizar?
• Describa las características de cada una de las
estructuras iterativas.
• ¿Para qué sirven las estructuras repetitivas?
• Escriba en su libreta la sintaxis de las estructuras
condicionales y repetitivas utilizadas en PseInt.
Descargar

Estructuras de Control en C - Facultad de Ciencias de la