360 likes | 1.03k Views
Estructuras de Control. Facultad de Ciencias de la Comp BUAP. Introducción a la Programación. Condicionales. Repetitivas. Resolución de problemas. Análisis del problema. Diseño del algoritmo. Codificación. Ejecución y validación. Inicio acción 1; acción 2; …. acción n; Fin.
E N D
EstructurasdeControl Facultad de Ciencias de la Comp BUAP Introducción a la Programación Condicionales Repetitivas
Resolución de problemas Análisis del problema Diseño del algoritmo Codificación Ejecución y validación
Inicio acción 1; acción 2; …. acción n; Fin Diagrama de Flujo Acción 1 Acción 2 Acción n Estructuras de ControlSecuencial Pseudo código 1
Estructuras de ControlSecuencial Ejemplo: Sumar y multiplicar 2 números. Inicio Inicio // x, y, z, w Leer y, z; x = y + z; w = y * z; Escribir x, w; Fin 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.
si (condición) entonces sentencia; Diagrama de Flujo sí Condición Sentencia no Estructuras de Control Selección Simple Pseudocodigo Nassi-Schneidermann Condición F V Sentencia
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
Si (condición) Entonces sentencia1; Sino sentencia2; FinSi Condición F condición V Sentencia1 Sentencia2 Estructuras de ControlSelección doble Pseudocodigo Diagrama de Flujo Nassi-Schneidermann sí no sentencia1 sentencia2
Estructuras de ControlCondicional Doble Ejemplo: Proceso ParImpar Escribir “Número: ”; Leer N ; Si (N%2 == 0) Entonces Escribir “par” ; Sino Escribir “impar”; FinProceso
Condición Condición Condición Selección Anidada Si (condición) sentencia1; SinoSi (condición) sentencia2; Sino Si (condición) sentencia3; sino sentencia4; FinSi Pseudocodigo Diagrama de Flujo sino sino sino sí sí sí Sentencia1 Sentencia2 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 “; SinoSi ~( N%2 =0) Entonces // diferente en Pseint? Escribir “ ES IMPAR “; Sino Escribir “ES CERO”; FinSi Fin 1
Segun (expresión) Hacer caso1: acción1; caso2: acción2; ....................... casoP: acciónP; De Otro Modo: acciónPorDefault; FinSegun expresión acción 1 acción 2 acción n Estructuras de ControlSelección Múltiple Pseudocodigo Diagrama de Flujo n 1 2 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 ControlSelectiva • Ejemplo. Asignación de calificación Inicio Escribir “promedio final: ”; Leer promedio; Si (promedio<6) entonces calificacion <-“NA”; sinosi (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 ControlSelectiva 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 ControlSelectivas 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 ControlRepetitivas o Iterativas Repiten la ejecución de un grupo de acciones una cierta cantidad de veces. Éstas pueden ser: • Mientras • Para • Hacer – Mientras (Repetir- Hasta)
Mientras (condición) Hacer sentencia; FinMientras condición Sentencia Sentencia Estructura de ControlRepetitiva: Mientras Mientras Pseudocodigo Diagrama de Flujo no Nassi-Schneidermann mientras condición sí
Estructuras de ControlIterativa 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 ControlIterativa Mientras Ejercicios: • Calcular la sumatoria de los primeros 100 enteros. • Imprimir los n primeros enteros • Imprimir su nombre 10 veces • Leer un número e imprimir su tabla de multiplicar • Calcular el factorial de un número • Leer N números y sumar los positivos en una variable y los negativos en otra. 1
Repetir sentencia(s); Hasta que (condición) Sentencia Senetncia condición Estructuras de ControlIterativa: Hacer-Mientras (Repetir-Hasta) Pseudocodigo Repetir-Hasta que Diagrama de Flujo Hacer-Mientras no Nassi-Schneidermann mientras condición Repetir condición sí 1
Estructuras de ControlIterativa 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 ControlIterativa Repetir-Hasta Ejercicios: • Calcular el factorial de un número leído del teclado • Mostrar en pantalla todos los impares comprendidos entre 1 y 100 • Leer dos números enteros y mostrar todos los múltiplos de 4 comprendidos entre el mayor y el menor. • Leer dos números enteros y sumar todos los valores enteros que haya entre el mayor y el menor • 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.
vc=1 No vc<=10? vc=vc+1 Si Accion1 ... Accion n Estructuras de ControlIterativas: Para Diagrama de Flujo 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 1
Estructuras de ControlIterativas: 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 ControlIterativas: 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 ControlIterativas 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.