3.1 Caractersticas de la Programacin Estructurada 3.2 Estructura Secuencial 3.3 Estructura Selectiva 3.3.1 Simple 3.3.2 Doble 3.3.3 Mltiple 3.4 Estructuras Repetitivas 3.4.1 Mientras 3.4.2 Repetir 3.4.3 Desde 3.5 Estructuras anidadas 3.6 Ejercicios propuestos
3.2.-Estructura Secuencial
Diagrama de flujo:
Diagrama N-S:
Pseudocdigo:
Instruccin 1
Instruccin 1 Instruccin 2
Instruccin 2 Instruccin n
Instruccin n
3.2.-Estructura Secuencial
Ejemplo: Clculo de la suma y producto de dos nmeros
Diagrama de flujo:
inicio Algoritmo suma Leer A y B SA+B PA*B Escribir S y P fin Leer (A, B) S A+ B P A* B Escribir (s, p) Fin_algoritmo
Diagrama N-S:
Pseudocdigo:
Algoritmo suma_producto var entero : A, B, S, P inicio leer (A, B) S A+ B P A* B escribir (S, P) fin_algoritmo
3.3.-Estructura Selectiva El conjunto de instrucciones se ejecutan o no en funcin de una determinada condicin. Tipos:
Diagrama de flujo:
Diagrama N-S:
Pseudocdigo:
Condicin
Falsa
Condicin
v
Instrucciones
Verdadera Instrucciones
Diagrama N-S:
Pseudocdigo:
Leer (numero)
numero > 0 Falsa
Numero > 0
Verdadera
V
Escribir (numero mayor que cero)
Algoritmo mayor_que_cero var entero: numero inicio leer(numero) si (numero >0) entonces escribir( nmero mayor que cero) fin_si fin_algoritmo
Fin_algoritmo
fin
Diagrama de flujo:
Diagrama N-S:
Pseudocdigo:
Verdadera
Condicin
Falsa
Condicin
v
InstruccionesA InstruccionesB InstruccionesA
F
InstruccionesB
Diagrama N-S:
Pseudocdigo:
Algoritmo par_impar Leer (n) Algoritmo par_impar var entero: n inicio leer (n) si (n mod 2 =0) entonces escribir(PAR) si_no escribir(IMPAR) fin_si fin_algoritmo
Verdadera
N mod 2 = 0
Falsa
N mod 2 = 0 V F
Escribir (numero IMPAR)
Escribir PAR
Escribir IMPAR
Escribir (numero PAR)
fin
Fin_algoritmo
10
Diagrama de flujo:
Expresin
1 Instruccin1
2 Instruccin 2
n Instruccin n
en_otro_caso Instruccin x
11
Diagrama NS:
Expresin 1 2 3 n Otro_caso
Ins1
Ins 2
Ins 3 .
Ins n
Ins x
12
Pseudocdigo:
segun_sea (expresin) hacer 1: instruccin/es 1 2: instruccin/es 2 3: instruccin/es 3 .. n: instruccin/es n en_otro_caso: instruccin/es x fin_segun
13
dia
1
Escribir LUNES
2
Escribir MARTES
3
Escribir MIERCOLES
4
Escribir JUEVES Escribir VIERNES
5
Escribir SABADO
7
Escribir DOMINGO Escribir ERROR
en_otro_caso
fin
14
da 1 2 3 4 5 6 7 Otro_caso
Escribir (lunes)
Escribir (martes)
Escribir (mircoles)
15
3.4.-Estructuras Repetitivas
Permiten repetir una o varias instrucciones varias veces en funcin de la evaluacin de una determinada condicin. A estas estructuras se les denomina bucles, y se llama iteracin a cada repeticin de la ejecucin de la secuencia de instrucciones que forman el llamado cuerpo del bucle.
Tipos:
17
18
Diagrama N-S:
Algoritmo producto_sumas
Pseudocdigo:
Algoritmo producto _sumas var entero : a,b, cont, prod inicio leer(a, b) cont 0 prod 0 mientras (cont < B) hacer prod prod + A cont cont + 1 fin_mientras escribir (prod) fin_algoritmo
19
repetir Instrucciones
Instrucciones
Condicin
20
Diagrama N-S:
Algoritmo factorial
Pseudocdigo:
Algoritmo factorial var entero: cont, num real: fact inicio leer (num) fact 1 cont 1 repetir fact fact * cont cont cont + 1 hasta_que (cont > num) escribir (factorial, fact) fin_algoritmo
Leer num
leer num
fact 1 cont 1 fact fact * cont cont cont + 1 Falsa cont > num Verdadera Escribir fact fin
fact 1 cont 1
Repetir fact fact*cont cont cont + 1 Hasta_que (cont>num)
21
22
Diagrama de flujo:
inicio
suma 0
fin
23
24
Algoritmo suma_cien var entero: suma, i inicio suma 0 desde i 1 hasta 100 hacer suma suma + i fin_desde fin_algoritmo
25
3.4.-Estructuras Repetitivas
Sustitucin de unas estructuras por otras:
Podemos sustituir siempre una estructura desde por una estructura repetir o por una estructura mientras.
Una estructura repetir o mientras, sin embargo, se puede sustituir por una estructura desde slo cundo se conoce de antemano el nmero de veces que van a ejecutarse las acciones del bucle.
Una estructura mientras puede sustituirse por una estructura repetir cuando no altere el resultado el hecho de que las acciones del bucle se ejecuten al menos una vez. Una estructura repetir siempre puede sustituirse por una estructura mientras. En el peor de los casos, tambin habra que escribir el conjunto de instrucciones del bucle antes del mismo, para que se ejecuten siempre al menos una vez.
Estas afirmaciones pueden variar en funcin de cmo estn definidas las diferentes estructuras en cada lenguaje de programacin.
26
3.5.-Estructuras Anidadas
Tanto las estructuras selectivas como las estructuras repetitivas se pueden anidar, es decir, estar contenidas unas dentro de otras. a) CORRECTO b) CORRECTO c) INCORRECTO
27
3.5.-Estructuras Anidadas
Ejemplo: escribe todos los nmeros primos entre 2 y 1000.
Algoritmo primos var lgico: encontrado entero : i, divisor inicio desde i 2 hasta i 100 hacer encontrado falso divisor 2 mientras (divisor sqrt(i) and encontrado = falso) hacer si (i mod divisor = 0) entonces encontrado verdadero fin_si divisor divisor + 1 fin_mientras si (encontrado = falso) entonces escribir (i) fin_desde fin_algoritmo 28