El documento habla sobre los algoritmos y sus componentes básicos. Define un algoritmo como una lista de instrucciones para resolver un problema, y describe los pasos para construir un algoritmo, incluyendo definir el problema, las entradas, salidas, y los pasos secuenciales para transformar las entradas en la salida. También explica conceptos como variables, constantes, operadores, y estructuras de control como la selectiva.
2. ALGORITMOS
• ¿Que es un algoritmo?
• “Una lista de instrucciones donde se especifica una
sucesión de operaciones necesarias para resolver
cualquier problema de un tipo dado”.
• Ejemplo sumar dos números
IWI-131 - Tema 1 Algoritmos
7. ALGORITMOS
• Entrada
• ¿Qué se necesita para realizar los pasos?
• Salida
• ¿Que se obtiene al final del algoritmo?
• Tipos de datos
• Números: enteros, reales, complejos
• Texto: letras, palabras, frases
• Otros
IWI-131 - Tema 1 Algoritmos
8. ALGORITMOS
• Sirven para resolver un tipo de problema
especifico.
• Son secuencias de pasos concretos.
• Requiere la definición de la entrada y la salida.
• Adecuados para ser ejecutados por un
computador
IWI-131 - Tema 1 Algoritmos
9. ALGORITMOS
• ¿Qué tiene que ver con la programación?
• La programación consiste en crear programas de
computador que resuelvan problemas específicos.
• Un programa de computador es la implementación de un
algoritmo.
IWI-131 - Tema 1 Algoritmos
10. ALGORITMOS
• ¿Qué es un programa de computador?
• Es una secuencia de pasos a ejecutar
• Los pasos están descritos en un lenguaje especial.
• Este lenguaje se puede traducir al lenguaje del
computador.
• Por lo general es un archivo de texto.
• El texto escrito en dicho lenguaje se denomina el código
del programa.
IWI-131 - Tema 1 Algoritmos
11. DESCRIPCIÓN DE UN ALGORITMO
• Es necesario contar con formas de expresar
algoritmos
• Diseño del algoritmo antes de codificar
• Diseño del algoritmo de manera independiente
del lenguaje de programación
• Diferentes alternativas
• Pseudo - código
• Diagramas de flujo
• Diagramas de Nassi-Schneidermann
IWI-131 - Tema 1 Algoritmos
12. DESCRIPCIÓN DE UN ALGORITMO
• Pseudo – código
• El algoritmo se expresa en lenguaje natural
• Expresa de manera genérica los pasos del algoritmo
• No provee detalles de la implementación particular del
código final
IWI-131 - Tema 1 Algoritmos
13. DESCRIPCIÓN DE UN ALGORITMO
• Diagramas de flujo
• Presentan el algoritmo de manera gráfica.
• De gran utilidad para seguir la “ruta” de un algoritmo.
• Aplicables a muchas otras disciplinas.
IWI-131 - Tema 1 Algoritmos
14. DESCRIPCIÓN DE UN ALGORITMO
• Diagrama de Nassi-Schneidermann
• También se denominan diagramas de caja.
• Menos usado que el diagrama de flujo
• Mas ordenado
• Ocupa mucho espacio para representar algoritmos
complejos.
IWI-131 - Tema 1 Algoritmos
15. CONSTRUCCIÓN DE UN ALGORITMO
1. Definir el problema a resolver
2. Identificar las entradas del algoritmo
3. Identificar la salida del algoritmo
4. Definir los pasos a seguir para convertir las
entradas en la salida
5. Seguir los pasos y comprobar que el
algoritmo sea correcto analizando la
salida.
6. Revisar los pasos y hacer las correcciones.
7. Resolver el problema.
IWI-131 - Tema 1 Algoritmos
16. CONSTRUCCIÓN DE UN ALGORITMO
• Construcción de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
• Escribir cada uno de los pasos del algoritmo en el
lenguaje de programación
1. Ejecutar el programa en el computador
2. Verificar que las salidas sean correctas
3. Hacer correcciones al programa
4. Resolver el problema
IWI-131 - Tema 1 Algoritmos
17. CONSTRUCCIÓN DE UN ALGORITMO
• Ejemplo:
• Objetivo: Calcular el precio de una manzana
• Entradas
• Precio (en pesos) del kilo de manzanas [K]
• Peso (en gramos) promedio de una manzana[P]
• Salida
• Precio (en pesos) de una manzana [M]
IWI-131 - Tema 1 Algoritmos
18. CONSTRUCCIÓN DE UN ALGORITMO
IWI-131 - Tema 1 Algoritmos
Inicio
Ingresar valor de K y P
Calcular G = K/100
Calcular M = G x P
Devolver el valor de M
Fin.
19. CONSTRUCCIÓN DE UN ALGORITMO
IWI-131 - Tema 1 Algoritmos
G=K/1000
M=G x P
Ingresar K y P
Devolver M
20. CONSTRUCCIÓN DE UN ALGORITMO
IWI-131 - Tema 1 Algoritmos
G=K/1000
M=G x P
Ingresar K y P
Devolver M
21. CONSTRUCCIÓN DE UN ALGORITMO
• Operaciones básicas
• Entrada de datos
• Salida de datos
• Utilización de variables
• Utilización de constantes
• Aplicación de operadores
• Asignación de valores
• Combinación de operaciones básicas
• Secuencial
• Selectiva
• Repetitiva
IWI-131 - Tema 1 Algoritmos
22. ENTRADA DE DATOS
• Los algoritmos son para solucionar tipos de
problemas
• Es imprescindible poder entregar entradas distintas
en cada ejecución
• La entrada de datos se realiza mediante algún
dispositivo
IWI-131 - Tema 1 Algoritmos
23. ENTRADA DE DATOS
• Dispositivos de entrada
• Teclado
• Mouse
• Botones
• Censores de tacto
• Cámaras digitales
• Scanners
• Archivos
IWI-131 - Tema 1 Algoritmos
25. ENTRADA DE DATOS
• Cada dispositivo tiene distintas características.
• Por lo general, sirven para cosas distintas
• Los sistemas definen un dispositivo de entrada por
defecto
• Este dispositivo se denomina la entrada estándar.
• En un computador suele ser el teclado.
IWI-131 - Tema 1 Algoritmos
26. SALIDA DE DATOS
• De nada sirve implementar un algoritmo si no
podemos saber su resultado.
• Al finalizar el algoritmo (o durante), es
imprescindible obtener la información resultante de
su ejecución.
• La salida de datos se realiza mediante dispositivos.
IWI-131 - Tema 1 Algoritmos
27. SALIDA DE DATOS
• Dispositivos de salida
• Pantalla
• Impresora
• Parlantes
• Tableros luminosos
• Motores
• Tarjeta de red
• Archivos
IWI-131 - Tema 1 Algoritmos
29. SALIDA DE DATOS
• Al igual que con la entrada, cada dispositivo tiene
finalidades distintas.
• Los sistemas definen un dispositivo de salida por
defecto
• Este dispositivo se denomina la salida estándar.
• En un computador suele ser la pantalla.
IWI-131 - Tema 1 Algoritmos
30. UTILIZACIÓN DE VARIABLES
• Durante la ejecución del algoritmo, es importante
recordar los resultados parciales de cada paso.
• Estos resultados se etiquetan con un nombre.
• Al invocar con posterioridad ese nombre,
recuperamos el resultados parcial.
IWI-131 - Tema 1 Algoritmos
31. UTILIZACIÓN DE VARIABLES
IWI-131 - Tema 1 Algoritmos
G=K/1000
Esta variable se denomina G y
se utiliza para recordar el
valor de un gramo de
manzana.
K es un dato de entrada, y también
Se considera una variable
32. UTILIZACIÓN DE VARIABLES
• La principal característica de una variable es que
su valor puede cambiar en el tiempo.
• Usualmente se compara con una caja donde se
puede almacenar una sola “cosa”.
• Por lo general, las variables se definen con un tipo
de dato.
• El tipo de dato restringe que tipo de “cosas” se
pueden guardar en las “cajas”.
IWI-131 - Tema 1 Algoritmos
33. UTILIZACIÓN DE CONSTANTES
• Además de las variables, un algoritmo requiere de
constantes.
• A diferencia de las variables, su valor no puede
cambiar en el tiempo.
• Las constantes también pueden recibir nombres
para mayor claridad.
• Ej.: PI = 3.1415
IWI-131 - Tema 1 Algoritmos
34. UTILIZACIÓN DE CONSTANTES
IWI-131 - Tema 1 Algoritmos
G=K/1000
La constante “1000” sirva para
transformar el valor Por kilo a un
valor por gramo
35. APLICACIÓN DE OPERADORES
• Para obtener resultados, generalmente es
necesario “transformar” las entradas en la
salida.
• Para esto se aplican operadores de distinta
índole
• Aritméticos ( + , - , * , / )
• Lógicos (igual que, mayor que, menor que, y, o,
no)
• Etc.
• Los operadores requieren de operandos y
entregan un resultado.
• Por lo general, los operadores son unarios o
binarios.
IWI-131 - Tema 1 Algoritmos
37. ASIGNACIÓN DE VALORES
• El resultado de un operador se puede almacenar
en una variable.
• Para esto se utiliza un tipo especial de operador.
• Este es el operador de asignación.
• Solo se pueden asignar valores a variables, no a
constantes
IWI-131 - Tema 1 Algoritmos
38. ASIGNACIÓN DE VALORES
IWI-131 - Tema 1 Algoritmos
M=G * P
Operador de asignación
El resultado de GxP se asigna a la variable M
39. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Secuencial
• Un conjunto de operaciones básicas pueden ser
ejecutadas en forma secuencial.
• Una operación no inicia hasta que la anterior termina
IWI-131 - Tema 1 Algoritmos
40. COMBINACIÓN DE OPERACIONES
BÁSICAS
IWI-131 - Tema 1 Algoritmos
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Ingresar K=200 y P=250
G tiene el valor 0,2
M tiene el valor 50
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Diagrama de flujo
Diagrama de Nassi-Schneidermann
41. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Selectiva
• Un algoritmo puede optar por ejecutar o no una operación
(SI –ENTONCES).
• Un algoritmo puede optar por ejecutar una u otra
operación (SI-ENTONCES-SINO).
• Esta decisión se basa en un condición.
• Esta decisión controla el flujo del algoritmo.
• Por esto, se denomina una estructura de control.
IWI-131 - Tema 1 Algoritmos
45. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
tomar el paraguas
fin si
tomar la mochila
tomar la micro
fin
49. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no
llevar la chaqueta
fin si
tomar la mochila
tomar la micro
fin
50. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Estructura de control selectiva
• Una condición es cualquier proposición lógica que tenga
un valor verdadero o falso definido.
• Este esquema selectivo se denomina “decision binaria”.
• ¿Y si hay más de dos opciones?
IWI-131 - Tema 1 Algoritmos
51. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Estructura de control selectiva
• Toda decisión se puede llevar a un esquema de decisión
binaria.
• Basta con decidir entre una alternativa y todo el resto
• Si se elige “el resto”, se decide entre una alternativa y el
resto del resto.
• Etc…
IWI-131 - Tema 1 Algoritmos
55. COMBINACIÓN DE OPERACIONES
BÁSICAS
Inicio
Ejecutar 1
Si x es mayor que cero entonces
Ejecutar 2a
Si no
Si x es menor que cero entonces
Ejecutar 2c
Si no
Ejecutar 2b
fin si
fin si
Ejecutar 3
fin
IWI-131 - Tema 1 Algoritmos
56. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Ejemplo: levantarse en la mañana
IWI-131 - Tema 1 Algoritmos
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar la parca
si no esta lloviendo pero hace frío
llevar la chaqueta
si no
llevar un chaleco
fin si
tomar la mochila
tomar la micro
fin
57. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Estructura de selección múltiple
• Para algunos casos se puede utilizar un esquema
selectivo no binario (EN EL CASO DE)
• Ejemplo: ingreso de opción de menú de un
cajero automático
• Si el usuario presionó el botón 1, hacer un giro
• Si el usuario presionó el botón 2, entregar saldo
• Si el usuario presionó el botón 3, cambiar la clave
• Etc.
IWI-131 - Tema 1 Algoritmos
60. COMBINACIÓN DE OPERACIONES
BÁSICAS
Inicio
en el caso que el botón presionado
sea el 1
hacer giro
sea el 2
entregar saldo
sea el 3
cambiar clave
…
En cualquier otro caso
Error
fin caso
fin
IWI-131 - Tema 1 Algoritmos
61. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Repetitiva
• Además de combinar operaciones en forma secuencial y
selectiva, se puede repetir la ejecución de una operación
cuantas veces se desee.
• Existen varios esquemas
• Repetir MIENTRAS se cumpla una condición.
• Repetir HASTA QUE se cumpla una condición.
• Repetir un número de veces.
IWI-131 - Tema 1 Algoritmos
62. COMBINACIÓN DE OPERACIONES
BÁSICAS
• MIENTRAS
• Se repite una operación mientras una condición sea
verdadera.
• Al dejar de serlo, se rompe el ciclo
• Si la condición nunca es falsa, se tiene un ciclo infinito.
IWI-131 - Tema 1 Algoritmos
66. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Ejemplo validar ingreso de valor positivo
IWI-131 - Tema 1 Algoritmos
Inicio
definir variable x
asignar el valor -1 a x
mientras x sea menor que cero
ingresar x por teclado
fin mientras
mostrar valor de x
fin
67. COMBINACIÓN DE OPERACIONES
BÁSICAS
• HASTA QUE
• Se repite la ejecución de una operación hasta que se
cumpla una condición.
• La principal diferencia con MIENTRAS es que la operación
se ejecuta al menos una vez.
IWI-131 - Tema 1 Algoritmos
71. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Ejemplo
• Mismo ejemplo anterior
IWI-131 - Tema 1 Algoritmos
Inicio
definir variable x
repetir
ingresar x por teclado
Hasta que x sea mayor que cero
mostrar valor de x
fin
72. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Repetir un número fijo de veces
• Muy útil cuando se sabe el numero de repeticiones a
ejecutar.
• Por lo general se define una variable que sirve de contador
• El contador mantiene el número de cada iteración.
• También se puede definir el incremento del contador en
cada iteración.
IWI-131 - Tema 1 Algoritmos
76. COMBINACIÓN DE
OPERACIONES BÁSICAS
• Ejemplo
∑=
5
0i
i
IWI-131 - Tema 1 Algoritmos
Inicio
definir variable “sumatoria”
asignar el valor 0 a “sumatoria”
desde i igual a 0 hasta i igual a 5
sumatoria = sumatoria + i
fin desde
mostrar valor de “sumatoria”
fin
77. COMBINACIÓN DE OPERACIONES
BÁSICAS
• Combinación de estructuras de control seriales,
selectivas y repetitivas
• Cualquier combinación es posible
• Pueden existir estructuras anidadas
• Es importante definir el comienzo y el termino de cada
estructura
IWI-131 - Tema 1 Algoritmos