Este documento trata sobre los temas de programación y algoritmos. Explica que un algoritmo es un conjunto de pasos para resolver un problema, y describe las características de precisión, determinismo y finitud que debe tener un algoritmo. Además, detalla las fases para el diseño de algoritmos como el diseño descendente y el algoritmo narrado. Finalmente, presenta ejemplos de algoritmos y herramientas para representarlos como diagramas de flujo y pseudocódigo.
2. Algoritmo
12 4d de eo scetupbtireem dber e2 0d1e4 2014 IInngg.. CCss. ddee llaa ccoommppuuttaacciioónn SSeecccciióónn 110055 132
3. Un algoritmo es un conjunto de pasos,
procedimientos o acciones que nos permiten
alcanzar un resultado o resolver un problema.
Características
de un Algoritmo
Precisión
Los pasos a seguir
deben ser
precisados
claramente.
Determinismo
Dado un conjunto
de datos de
entrada, siempre
debe arrojar los
mismos resultados.
Finitud
Siempre tiene que
finalizar tras un
número finito de
acciones.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 3
4. Fases para el Diseño del Algoritmo
Diseño de un
Algoritmo
Diseño Descendente Algoritmo Narrado
Refinamiento por
pasos
Algoritmo Detallado
Herramientas de
programación
-Diagramas de Flujo
-Pseudocódigo
-Pruebas de escritorio
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 4
5. Módulos Principales
Algoritmo
Datos de
Entrada
Procesamiento
de los Datos
Impresión de
Resultados
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 5
6. Ejemplo: Algoritmo
para cambiar un
foco fundido
• INICIO
• Situar escalera bajo el foco quemado.
• Elegir un foco de reemplazo (de la misma potencia
que el anterior).
• Subir por la escalera hasta alcanzar el foco.
• Girar el foco contra las manecillas del reloj hasta que
esté suelto.
• Ubicar el foco nuevo en el mismo lugar que el
anterior.
• Enroscar en el sentido de las manecillas del reloj
hasta que quede apretado.
• Bajar de la escalera.
• FIN
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 6
7. Ejemplo: Cambiar la rueda de un automóvil teniendo
un gato mecánico, una rueda de reemplazo y una
llave inglesa.
Inicio
PASO 1. Aflojar los tornillos de la rueda ponchada con la
llave inglesa.
PASO 2. Ubicar el gato mecánico en su sitio.
PASO 3. Levantar el gato hasta que la rueda ponchada
pueda girar libremente.
PASO 4. Quitar los tornillos y la rueda ponchada.
PASO 5. Poner rueda de repuesto y los tornillos.
PASO 6. Bajar el gato hasta que se pueda liberar.
PASO 7. Sacar el gato de su sitio.
PASO 8. Apretar los tornillos con la llave inglesa.
Fin
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 7
8. Diagrama de Flujo
12 4d de eo scetupbtireem dber e2 0d1e4 2014 IInngg.. CCss. ddee llaa ccoommppuuttaacciioónn SSeecccciióónn 110055 138
9. Es la esquematización gráfica de un algoritmo que
muestra gráficamente los pasos o procesos a seguir
para alcanzar la solución de un problema.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 9
10. Símbolos de los diagramas de flujo
INICIO Y FIN
IMPRESIÓN DE
RESULTADOS
DIRECCIÓN DE
LAS FLECHAS
SI NO
LETURA DE DATOS DECISIÓN
CONECTOR DENTRO
DE PÁGINA
EXPRESIÓN DE UN
PROCESO
DECISIÓN
MÚLTIPLE
CONECTOR FUERA
DE PÁGINA
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 10
11. Etapas en la construcción de un
diagrama de Flujo
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 11
12. Reglas para la construcción de un
diagrama de flujo
Todo
diagrama
de flujo
debe
tener un
inicio y un
fin.
Las líneas
utilizadas para
indicar la
dirección del
flujo del
diagrama deben
ser rectas,
verticales y
horizontales.
Todas las líneas
utilizadas para
indicar la
dirección del flujo
del diagrama
deben estar
conectadas a
alguno de los
símbolos.
El diagrama
de flujo debe
ser
construido
de arriba
hacia abajo y
de izquierda
a derecha.
Si el diagrama
de flujo
requiriera más
de una hoja
para su
construcción,
debemos
utilizar los
conectores.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 12
13. Ejemplo: Construya un diagrama de flujo que imprima la
matrícula del alumno y el promedio de 5 calificaciones.
(Lectura de la matricula y las
Calificaciones)
(Almacena en la variable PROM
el promedio de las calificaciones)
(Escribe la matrícula y el promedio)
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 13
14. Pseudocódigo
12 4d de eo scetupbtireem dber e2 0d1e4 2014 IInngg.. CCss. ddee llaa ccoommppuuttaacciioónn SSeecccciióónn 110055 134
15. Para representar algoritmos debemos utilizar un método
independiente al lenguaje de programación elegido.
Lenguaje de especificación de algoritmos:
Pseudocódigo
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 15
16. El pseudocódigo (o falso lenguaje ) es una
herramienta de programación donde las
instrucciones se escriben en palabras similares al
ingles o español, que facilitan tanto la escritura
como la lectura de programas.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 16
17. Las palabras reservadas comúnmente
utilizadas en pseudocódigo son:
- Inicio,
- Fin,
- Leer,
- Escribir,
- Si,
- Entonces,
- Sino,
- FinSi,
- Según,
- FinSegun,
- Mientras,
- Hacer,
- FinMientras,
- Repetir,
- HastaQue,
- Para,
- FinPara,
- Desde
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 17
18. Características del
Pseudocódigo
1 de octubre de 2014 Ing. Cs d 24 de septiembre de 2014 Ing. Cs. dee llaa ccoommppuuttaacciioónn SSeecccciióónn 110055 18
19. Mantiene una sangría adecuada para facilitar la
identificación de elementos que lo componen.
Inicio
Escribir ("Introduce tus 4 calificaciones")
leer c1, c2, c3, c4
promedio<-(c1+c2+c3+c4) /4
según (promedio) hacer
caso 6: escribir ("Regular")
caso 7: escribir ("Bien")
caso 8: escribir ("Muy bien")
caso 9: escribir ("Excelente")
caso 10: escribir ("Excelente")
De otro modo
escribir ("Reprobado")
FinSegun
Fin
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 19
20. Permite la declaración de datos (constantes y/o
variables) manipulados por el algoritmo.
Inicio
Introduzca un numero entero: 7
¿Desea introducir otro numero (s/n)? s
Introduzca un numero entero: 16
¿Desea introducir otro numero (s/n)? s
Introduzca un numero entero: -3
¿Desea introducir otro numero (s/n)? n
La suma de los números ingresados es: 20
Fin
En donde (7, s, 16, -3, n, 20) son variables o constantes
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 20
21. Dispone de un conjunto pequeño de palabras
reservadas para expresar las acciones del
algoritmo.
- Inicio,
- Fin,
- Leer,
- Escribir,
- Si,
- Entonces,
- Sino,
- FinSi,
- Según,
- FinSegun,
- Mientras,
- Hacer,
- FinMientras,
- Repetir,
- HastaQue,
- Para,
- FinPara,
- Desde
Y entre muchas otras.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 21
22. Supera las 2 principales desventajas del
diagrama de flujo: Lento de crear y difícil de
modificar
INICIO
- CLAVE
- NUM
CLAVE
12
18 23
29
COS = NUM*2 COS = NUM*5 COS = NUM*6 COS = NUM*8
“Costo total de la llamada”
COST
FIN
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 22
23. Permite el seguimiento de la lógica de un algoritmo.
1.- Inicio
2.- Escribir ("Introduce tus 4 calificaciones")
3.- leer c1, c2, c3, c4
4.-
5.- promedio<-(c1+c2+c3+c4) /4
6.-
7.- según (promedio) hacer
8.- caso 6: escribir ("Regular")
9.- caso 7: escribir ("Bien")
10.- caso 8: escribir ("Muy bien")
11.- caso 9: escribir ("Excelente")
12.- caso 10: escribir ("Excelente")
13.- De otro modo
14.- escribir ("Reprobado")
15.- FinSegun
16.- Fin
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 23
24. Estructuras
Secuenciales
1 24 de de octubre septiembre de 2014 de 2014 Ing. Ing. Cs. Cs de de la la computacion computación Sección Sección 105 105 24
25. También conocidas como sentencias o
proposiciones son una unidad compleja,
ejecutable en si misma.
La ejecución se realiza de manera secuencial, es
decir, cada una a continuación de la anterior.
Inicio
Si (condición) entonces
Sentencia 1
Sentencia 2
…
Sentencia n
FinSi
Fin
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 25
26. Componentes de Estructuras
Asignación
Es el paso de resultados a una zona de la memoria que será reconocida con el
nombre de la variable que recibe el valor.
Se clasifica de la siguiente forma:
• Simples: Pasar un valor constate a una variable (a=15)
• Contador: Un verificador del número de veces que se realiza un proceso
(a=a+1)
• Acumulador: Un sumador en un proceso (a=a+b)
• De trabajo: Puede recibir el resultado de una operación matemática que
involucre muchas variables (a=c+b*2/4).
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 26
27. Componentes de Estructuras
Lectura
La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el
teclado) un valor. Esta operación se representa en un pseudocódigo
como sigue:
Leer a, b
Donde “a” y “b” son las variables que recibirán los valores
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 27
28. Componentes de Estructuras
Escritura
Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora)
un resultado o mensaje. Este proceso se representa en un pseudocódigo
como sigue:
Escribe “El resultado es:”, R
Donde “El resultado es:” es un mensaje que se desea aparezca y R es una
variable que contiene un valor.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 28
29. En pseudocódigo una estructura secuencial se
representa de la siguiente manera:
PSEUDOCODIGO Nombre
VARIABLES
Nombre: Tipo de Dato
CONSTANTES
Nombre = Valor
INICIO
acción
acción1
acción2
.
.
.
acciónN
FIN
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 29
30. Ejemplo. Escriba un algoritmo que pregunte por
dos números y muestre como resultado la suma
de estos. (Use pseudocódigo)
PSEUDOCODIGO Sumar
VARIABLES
Num1, Num2, Suma: Entero
INICIO
Escribir (“Introduzca dos números”)
Leer (Num1, Num2)
Suma=Num1 + Num2
Escribir (“La suma es:”, Suma)
FIN
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 30
31. Estructuras de
decisión simple
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 31
32. Si Simple
Estas permiten seleccionar la próxima
sentencia a ejecutarse sobre la base de una
decisión (expresión lógica o variable lógica).
Los tipos de estructuras de decisión
que podemos encontrar son:
● Simples
● Dobles
● Múltiples
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 32
33. La estructura de decisión simple es la llamada, Si_Entonces
ejecuta una determinada acción cuando se cumpla una cierta
condición y en caso contrario seguir el orden secuencial.
La selección Si_Entonces evalúa la
condición y deACUERDO a los
resultados:
• Si es verdadero, ejecuta una o varias
opciones.
• Si es falsa, entonces no hace nada y
sigue la ejecución normal del
programa.
Condición
Sentencia(s)
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 33
34. Ejemplo: Dada la calificación de un
alumno, escriba «Aprobado» en caso de
que la calificación sea mayor a 8.
Pseudocódigo
1.- Inicio
2.- Escribir «Introduce la
calificación»
3.- Leer CAL
4.- Si (CAL>8) entonces
4.1 Escribir «APROBADO»
5.- Fin Si
6.- Fin
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 34
35. Opción múltiple
Hay un Indicador que es
una variable o una
función cuyo valor es
comparado en cada caso
con los valores "Valor",
Si en algún caso
coinciden ambos valores,
entonces se ejecutarán
las Instrucciones
correspondientes.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 35
36. Ejemplo: Dada la calificación de un
alumno, escriba «Aprobado» si la
calificación es mayor a 8 si no escribir
«Reprobado».
Pseudocódigo
1.- Inicio
2.- Escribir «Introduce la
calificación»
3.- Leer CAL
4.- Si (CAL>8) entonces
4.1 Escribir «APROBADO»
4.2 Si No
4.3 Escribir «REPROBADO»
5.- Fin Si
6.- Fin
1 de octubre de 2014 Ing. Cs de la computacion Sección 105 36
37. Estructuras de
Repetición
12 4d de eo scetupbtireem dber e2 0d1e4 2014 IInngg.. CCss. ddee llaa ccoommppuuttaacciioónn SSeecccciióónn 110055 1337
38. Permiten la ejecución de una lista o secuencia de instrucciones en
variasocasiones.
El número de veces que el bloque de instrucciones se ejecutará se
puede especificar de manera explícita, o a través de una condición
lógicaqueindicacuándoseejecutadenuevoycuándono.
A cada ejecución del bloque de instrucciones se le conoce como una
“iteración”.
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 38
39. Ciclo Para
El ciclo para ejecuta un bloque de instrucciones
un número determinado de veces. Este número
de veces está determinado por una variable
contadora (de tipo entero) que toma valores
desde
un límite inferior hasta un límite superior.
PSEUDOCODIGO
Para (<variable> := <lim_inf> hasta <lim_sup>)
hacer
<bloque instrucciones>
Fin_Para
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 39
40. Ejemplo: Lectura de un número entero N y
calcula la suma de la sig. Serie
1**1+2**2+3**3….N
Pseudocódigo:
1.-Inicio
2.- Serie<-0
3.- i<-1
4.- Para i con paso 1 hasta N hacer
4.1 Serie<-Serie+ i**i
i<-i+1
5.-Fin Para
6.- Escribir «La serie es:», Serie
7.- Fin
1 de octubre de 2014 Ing. Cs de la computacion Sección 105 40
41. Ciclo Mientras
Ejecuta un bloque de instrucciones mientras una expresión lógica dada se
cumpla, es decir su evaluación dé como resultado verdadero.
Siempre se evalúa antes de ejecutar el bloque de instrucciones.
Si la condición se cumple, el bloque se ejecuta, después de lo cual la
instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar.
PSEUDOCODIGO
Mientras <condición> hacer
<bloque instrucciones>
Fin_mientras
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 41
42. Ejemplo: Dado un grupo de números naturales
positivos, calcule e imprima el cubo de estos
números.
Pseudocódigo:
1.-Inicio
2.- Leer NUM
3.- Mientras (NUM<> -1) hacer
3.1 CUB<- NUM**3
3.2 Escribir «El Cubo del número es:»,CUB
3.3 Leer NUM
4.-Fin Mientras
5.- Fin
1 de octubre de 2014 Ing. Cs de la computacion Sección 105 42
43. Ciclo Hacer-Mientras
Aquí la condición se evalúa después de ejecutar el bloque de
instrucciones, por tanto, el bloque se ejecuta por lo menos una vez.
Este bloque se ejecuta nuevamente si la condición evalúa a verdadero,
y no se ejecuta más si se evalúa como falso.
PSEUDOCODIGO
Hacer
<bloque instrucciones>
Mientras <condición>
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 43
44. Ejemplo: Obtener la suma de los gastos que
hicimos en un último viaje, pero no se saben
exactamente cuántos fueron esos gastos.
Pseudocódigo:
1.-Inicio
2.- SUMGAS<-0
3.- Leer GASTO
4.- Mientras ( GASTO<> -1) hacer
4.1SUMGAS<- SUMGAS+GASTO
4.2 LeerGASTO
5.- Fin Mientras
6.- Fin
1 de octubre de 2014 Ing. Cs de la computacion Sección 105 44
45. Bibliografía
http://informaticaingqmi.blogspot.mx/2010/11/estructuras-de-decision-simples-
y.html
http://es.slideshare.net/Picasagrupo3/estructura-de-decisin-simple
http://mrch26-programacion.blogspot.mx/2010/10/decisiones-son-estructuras-
de-control.html
http://algorinteco.blogspot.mx/2011/04/si-anudado-y-estructuras-secuenciales.
html
http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo
http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.
shtml
1 de octubre de 2014 Ing. Cs. de la computación Sección 105 45