2. 10/02/2021 2
•Técnica para desarrollar
algoritmos
•Fáciles de escribir
•Verificar
•Leer
•Modificar
Programación Estructurada
3. 10/02/2021 3
Algoritmo estructurado
• Tiene un solo punto de E/S
• Toda acción del algoritmo es accesible
• No posee lazos infinitos
Puede ser escrito usando únicamente las
estructuras secuencial, selectiva y
repetitiva.
4. 10/02/2021 4
Representación de algoritmos
• Descripción narrada: Relato en lenguaje
natural.
• Diagrama de flujo(D.F.): Representación
gráfica.
• Pseudocodigo: Lenguaje que usa
palabras reservadas e identación.
5. 10/02/2021 5
•Representación gráfica de un algoritmo
•Usa símbolos gráficos
•Forma sencilla y clara para el orden
lógico de las acciones de un
algoritmo.
•Símbolos normalizados por el
Instituto Norteamericano de Normas
(ANSI)
Diagramas de Flujo(DF)
6. 10/02/2021 6
1 Todo DF debe tener un inicio y un fin.
2 Las líneas utilizadas para indicar la dirección del
flujo del diagrama deben ser rectas, verticales y
horizontales
3 Todas las líneas utilizadas para indicar la dirección
del flujo del diagrama deben estar conectadas a
alguno de los símbolos mostrados en la tabla.
4 El DF debe ser construido de arriba hacia abajo y
de izquierda a derecha.
5 Si el DF requiriera más de una hoja para su
construcción, debemos utilizar los conectores.
Reglas
7. 10/02/2021 7
•Herramienta para escribir algoritmos
•Las instrucciones se escriben en
palabras similares al inglés o español
•Facilitan tanto la escritura como la
lectura de programas.
•Lenguaje de especificación de
algoritmos
Pseudocódigo
9. 10/02/2021 9
•Mantiene una identación o sangría adecuada para
facilitar la identificación de los elementos que lo
componen.
•Permite la declaración de los datos (constantes y/o
variables) manipulados por el algoritmo.
•Dispone de un conjunto pequeño de palabras
reservadas (normalmente escritas con letra negrita).
•Supera las dos principales desventajas del diagrama
de flujo: lento de crear y difícil de modificar.
•Permite el seguimiento de la lógica de un algoritmo
Características
10. 10/02/2021 10
Secuencial
• Una acción después de la otra
• El flujo coincide con el orden físico en
que se colocan las instrucciones.
• Es una secuencia lineal.
12. 10/02/2021 12
• Compuestas: Se forman relacionando
expresiones lógicas simples con
operadores lógicos.
Ejemplos
(A <> C) y (K < L)
Compuestas
13. 10/02/2021 13
Selectivas
• Permiten controlar la ejecución de
acciones que requieran ciertas
condiciones para su realización.
• Aplicacan a:
– Opciones excluyentes
– Para elegir de entre varias
– Verificación de datos
14. 10/02/2021 14
Simples
• Si la condición es verdadera se ejecuta
una acción (es). En caso contrario seguir
con el flujo.
15. 10/02/2021 15
Ejercicio 1
• Hacer el D.F. y Pseudocódigo para que
dada una calificación si ésta es
aprobatoria(mayor a 7) escribir
’FELICIDADES’.
• Considerar que pueden ser iguales
16. 10/02/2021 16
Dobles
• Si la condición es verdadera se ejecuta
una acción (es). Si es falsa se ejecuta
otra acción(es).
18. 10/02/2021 18
Ejercicio 1
• Hacer el D.F. y Pseudocódigo para que
dada una calificación si ésta es
aprobatoria(mayor a 7) escribir
’FELICIDADES’ si no lo es, entonces
escribir ‘ESTUDIA MAS’.
• Considerar que pueden ser iguales
19. 10/02/2021 19
Múltiples
• Se evalúa una expresión para ejecutar
una acción de mas de dos opciones.
• Cada acción (es) está ligado a una
constante.
• Si el valor obtenido no está presente
entonces se ejecuta la acción (es) en la
cláusula sino.
24. 10/02/2021 24
Estructuras de repetición
• Repetir:
• Ejecutar una instrucción o conjunto de
instrucciones y luego regresar y
ejecutarla (s) una y otra vez hasta
terminar la tarea.
26. 10/02/2021 26
Aplicaciones
• La búsqueda de un dato en una gran
colección.
• Fórmulas científicas que sólo se pueden
calcular por aproximaciones sucesivas.
27. 10/02/2021 27
Mecanismos de iteración
1. Para todos los valores de la progresión.
2. Mientras se valida una condición.
3. Repetir- hasta que se satisfaga una
condición.
28. 10/02/2021 28
PARA
• Es usado cuando se conoce de
antemano, el número de veces que debe
repetirse una instrucción o conjunto de
ellas.
29. 10/02/2021 29
PARA
• Los valores de la progresión deben ser
asignados a una variable, la cual se
denomina variable de control.
30. 10/02/2021 30
Variables contadoras
• Se usan para contar, por lo tanto deben
ser de tipo entero.
• Ejemplo: Variable de control en un Ciclo
Para.
31. 10/02/2021 31
Variables acumuladoras
• La función de una variable acumuladora
es almacenar valores numéricos que
generalmente se Suman (o multiplican)
en cada iteración.
• La variable debe ser de tipo entero o
real.
32. 10/02/2021 32
Variables bandera
• Utilizada dentro de la condición de un
ciclo, para determinar cuándo un Ciclo
se sigue iterando o cuando no.
• Debe ser de tipo booleano o entero.
36. 10/02/2021 36
Pseudo código
• Nombre del algoritmo: Numeros_del_1_al_10
Variables: contador Tipo entero
Inicio
Para contador ← 1 hasta 10 incremento 1 Hacer
escribir( contador )
Fin_para
Fin
37. 10/02/2021 37
Traza (Prueba de escritorio)
Secuencia: Acción (instrucción):
Valor de:
contador
1 contador ← 1 1
2
(Comprobar si contador es menor o igual
que 10 )
1
contador sí es menor o igual que 10.
Inicio de la iteración 1.
3 escribir( contador ) 1
Fin de la iteración 1.
4 (Sumar a contador el valor 1 ) 2
5
(Comprobar si contador es menor o igual
que 10 )
2
contador sí es menor o igual que 10.
Inicio de la iteración 2.
6 escribir( contador ) 2
Fin de la iteración 2.
...
n-3
(Comprobar si contador es menor o igual
que 10 )
10
contador sí es menor o igual que 10.
Inicio de la iteración 10.
n-2 escribir( contador ) 10
Fin de la iteración 10.
n-1 (Sumar a contador el valor 1 ) 11
n
(Comprobar si contador es menor o igual
que 10 )
11
contador no es menor o igual que 10.
El bucle finaliza después de 10
iteraciones.
38. 10/02/2021 38
Ejemplo: Suma los números pares
de 0..100
SI
NO
par =0
100
incremento 2
Inicio
Fin
suma=0
suma=suma+par
suma
39. 10/02/2021 39
Pseudo código
• Nombre del algoritmo: Numeros_del_1_al_100
Variables: suma,par Tipo entero
Inicio
suma 0
Para par ← 0 hasta 100 incremento 2 Hacer
suma ← suma + par
FIn_para
Escribir(suma)
Fin
41. 10/02/2021 41
Mientras
• Si la condición se cumple, el bloque se
ejecuta, después, la condición se vuelve
a evaluar.
• Si la condición se evalúa la primera vez
como falsa, el bloque de instrucciones
no será ejecutado.
44. 10/02/2021 44
Ejemplo: Escribe los primeros 10
números enteros
SI
Mientras
contador<=10
Inicio
contador=1
contador=contador+1
Fin
No
contador
45. 10/02/2021 45
Pseudo código
Nombre del algoritmo: Serie_del_1_al_10
Variables: contador Tipo entero
Inicio
contador 1
Mientras (contador <= 10)
escribir (contador)
contador contador + 1
Fin_mientras
fin
46. 10/02/2021 46
Traza (Prueba de escritorio)
S e c u e n c ia :
A c c ió n
( in s t r u c c ió n ) :
V a lo r d e :
c o n ta d o r
1 C o n ta d o r ? 1 1
2
( C o m p r o b a r s i
c o n ta d o r < = 1 0 )
1
L a c o n d ic ió n e s
v e r d a d e r a .
In ic io d e la ite r a c ió n
1 .
3 e s c r ib ir ( c o n t a d o r ) 1
4
c o n ta d o r ? c o n t a d o r
+ 1
2
F in d e la it e r a c ió n 1 .
5
( C o m p r o b a r s i
c o n ta d o r < = 1 0 )
2
L a c o n d ic ió n e s
v e r d a d e r a .
In ic io d e la
it e r a c ió n 2 .
6 e s c r ib ir ( c o n t a d o r ) 2
7
c o n ta d o r ? c o n t a d o r
+ 1
3
F in d e la it e r a c ió n 2 .
. . .
n - 3
( C o m p r o b a r s i
c o n ta d o r < = 1 0 )
1 0
L a c o n d ic ió n e s
v e r d a d e r a .
In ic io d e la ite r a c ió n
1 0 .
n - 2 e s c r ib ir ( c o n t a d o r ) 1 0
n - 1
c o n ta d o r ? c o n t a d o r
+ 1
1 1
F in d e la it e r a c ió n
1 0 .
n
( C o m p r o b a r s i
c o n ta d o r < = 1 0 )
1 1
L a c o n d ic ió n e s
f a ls a .
E l b u c le f in a liz a
d e s p u é s d e 1 0
it e r a c io n e s .
47. 10/02/2021 47
Ejemplo: Suma los números pares
de 0..100
SI
NO
Inicio
Fin
suma=0
par= 0
par=par+2
Mientras
par<=100
suma=suma+par
suma
48. 10/02/2021 48
Pseudo código
• Nombre del algoritmo: Numeros_del_1_al_100
Variables: suma,par Tipo entero
Inicio
par=0
suma =0
Mientras (par <=100)
suma ← suma + par
par=par+2
Fin_mientras
Escribir(suma)
Fin
49. 10/02/2021 49
Práctica
• De forma individual analiza los
siguientes algoritmos e indica que hace
cada uno.
• Debes identificar las tres partes para
cada ciclo de repetición:
– Inicio
– Actualización de la variable de control
– Fin(condicional)
50. 10/02/2021 50
Ejercicio 1: Escribe los primeros 10
enteros
Nombre del algoritmo: Ciclo?
Variables: contador Tipo entero
Inicio
contador ← 10
Mientras ( contador <= 10 )
escribir( contador )
contador ← contador - 1
Fin_mientras
Fin
51. 10/02/2021 51
Ejercicio 2: Escribe los primeros 10
enteros
Nombre del algoritmo: Imprime?
Variables: contador Tipo entero
Inicio
contador ← 1
Mientras ( contador >= 1 )
escribir( contador )
contador ← contador - 1
Fin_mientras
Fin
52. 10/02/2021 52
Ejercicio 3: Escribe los primeros 10
enteros
Nombre del algoritmo: Ciclo ?
Variables: contador Tipo entero
Inicio
contador ← 10
Mientras ( contador >= 1 )
escribir( contador )
Fin_mientras
Fin
54. 10/02/2021 54
Hacer..Mientras
• Si es verdadera, se vuelve a ejecutar
el bloque de instrucciones.
• Y así sucesivamente, hasta que, la
condición sea falsa.
57. 10/02/2021 57
Ejemplo: Escribe los primeros 10
números enteros
SI Mientras
contador<=10
Inicio
contador=1
contador=contador+1
Fin
No
contador
58. 10/02/2021 58
Pseudo código
Nombre del algoritmo: Números_del_1_al_10
Variables: contador Tipo entero
Inicio
contador ← 1 /* Inicialización del
contador */
Hacer
escribir ( contador ) /* Salida */
contador ← contador + 1 /*
Incremento */
Mientras ( contador <= 10 ) /*
Condición */
Fin
59. 10/02/2021 59
Traza (Prueba de escritorio)
Secuencia: Acción (instrucción):
Valor de:
contador
1 contador ? 1 1
Inicio de la iteración 1.
2 escribir( contador ) 1
3 contador ? contador + 1 2
Fin de la iteración 1.
4
(Comprobar si contador <=
10)
2
La condición es verdadera.
Inicio de la iteración 2.
5 escribir( contador ) 2
6 contador ? contador + 1 3
Fin de la iteración 2.
...
n-3
(Comprobar si contador <=
10)
10
La condición es verdadera.
Inicio de la iteración 10.
n-2 escribir( contador ) 10
n-1 contador ? contador + 1 11
Fin de la iteración 10.
n
(Comprobar si contador <=
10)
11
La condición es falsa.
El bucle finaliza después de
10 iteraciones.
60. 10/02/2021 60
Ejercicios
1.Obtener el máximo y el mínimo de n
números.
2.Realizar la suma de dos números con
incrementos de 1.
3.Realizar la resta de dos números con
decrementos de 1
4.Realizar la multiplicación de dos números
con sumas sucesivas.
5.Realizar la división de dos números con
restas sucesivas.
6.La sumatoria
=
n
x
x
1