Está en la página 1de 39

Algoritmos

Dr. Jamer M. Delgado Pérez


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
Algoritmos
Algoritmos
1. 5+1=6
2.
3.
Anotar 6
2+9=11
491
4.
5.
+ 25
Anotar 1 y guardar 1
4+0=4
6.
7.
4+1=5
Anotar 5
516
8. El resultado es 516
Algoritmos

V +

+ F V
V
V
F
V
F

F
F V F
F F F
Algoritmos

san
+ sano
sansano
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
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
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.
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.
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
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
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.
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.
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.
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
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
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]
Construcción de un algoritmo
Inicio
Ingresar valor de K y P

Calcular G = K/100

Calcular M = G x P

Devolver el valor de M

Fin.
Construcción de un algoritmo

Ingresar K y P

G=K/1000

M=G x P

Devolver M
Construcción de un algoritmo

Ingresar K y P

G=K/1000

M=G x P

Devolver M
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
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
Entrada de datos
• Dispositivos de entrada
• Teclado
• Mouse
• Botones
• Censores de tacto
• Cámaras digitales
• Scanners
• Archivos
Entrada de datos
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.
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.
Salida de datos
• Dispositivos de salida
• Pantalla
• Impresora
• Parlantes
• Tableros luminosos
• Motores
• Tarjeta de red
• Archivos
Salida de datos

C:\
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.
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.
Utilización de variables
K es un dato de entrada, y también
Se considera una variable

G=K/1000

Esta variable se denomina G y se utiliza


para recordar el valor de un gramo de
manzana.
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”.
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
Utilización de constantes

G=K/1000

La constante “1000” sirva para transformar


el valor Por kilo a un valor por gramo
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.
Aplicación de operadores
operandos

M=G * P

operador
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
Asignación de valores
Operador de asignación

M=G * P

El resultado de GxP se asigna a la variable M


Fin tema 1
• Algoritmos

También podría gustarte