Este documento describe los algoritmos, que son conjuntos de instrucciones definidas y no ambiguas para solucionar problemas. Explica los tipos de análisis de datos, diseño de algoritmos utilizando diagramas de flujo y pseudocódigo, estructuras de control como condicionales e iterativas, y algoritmos comunes como búsqueda y ordenación.
2. QUÉ ES?
Conjunto de instrucciones o reglas
definidas y no-ambiguas,
ordenadas y finitas que permite,
típicamente, solucionar un problema,
realizar un cómputo, procesar datos
y llevar a cabo otras tareas o actividades.
3. TIPOS DE ANÁLISIS DEL
DATOS PROBLEMA
INFORMÁTICOS
Es un atributo de una parte de los datos que indica al ordenador
(y/o al programador) algo sobre la clase de datos sobre los que
se va a procesar. Esto incluye imponer restricciones en los datos,
como qué valores pueden tomar y qué operaciones se pueden
realizar. Tipos de datos comunes son: enteros, números de coma
flotante (decimales), cadenas alfanuméricas, fechas, horas,
colores.
• Definición del problema
Esta fase está dada por el enunciado del problema, el cual
requiere una definición clara y precisa. Es importante que se
conozca lo que se desea que realice la computadora; mientras
esto no se conozca del todo no tiene mucho caso continuar
con la siguiente etapa.
• Análisiss del problema: Una vez que se ha comprendido lo
que se desea de la computadora, es necesario definir:
– Los datos de entrada.
– Cual es la información que se desea producir (salida)
– Los métodos y fórmulas que se necesitan para procesar
los datos.
4. DISEÑO DEL ALGORITMO
• Un algoritmo consiste en una especificación clara y concisa
de los pasos necesarios para resolver un determinado
problema, pero para poder diseñar algoritmos es necesario
disponer de una notación, que llamaremos ‘notación
algorítmica’, que permita:
• Describir las operaciones puestas en juego (acciones,
instrucciones, comandos,...)
• Describir los objetos manipulados por el algoritmo
(datos/informaciones)
• Controlar la realización de las acciones descritas, indicando
la forma en que estas se organizan en el tiempo.
Acciones elementales
• Aritmético – lógicas: Operaciones que, a partir de unos
determinados datos, realizan un cálculo aritmético (suma,
resta, multiplicación,...) o un cálculo lógico (mayor que,
menor que, igual que,...).Las primeras devuelven un valor
numérico (4, -5.67,...) y las segundas un valor lógico
(verdadero o falso).
• De entrada – salida: Acciones que permiten capturar datos
para su posterior tratamiento (las de entrada) y guardar los
resultados de dicho tratamiento (las de salida).
5. MEDIOS DE EXPRESIÓN DE UN ALGORITMO
Diagrama de flujo
Pseudocódigo
Variable
Constante
6. ESTRUCTURAS DE CONTROL
• Con las estructuras de control se puede:
• De acuerdo con una condición, ejecutar un grupo o otro de sentencias (If-Then-Else)
• De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case)
• Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-While)
• Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
• Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
7. ESTRUCTURAS SECUENCIALES
La estructura secuencial es aquella en la que una acción sigue a otra en secuencia. Las operaciones se suceden de tal modo que la salida de
una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
• La asignación se puede clasificar de la siguiente forma:
• Simples: Consiste en pasar un valor constante a una variable (a ← 15)
• Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a ← a + 1)
• Acumulador: Consiste en usarla como un sumador en un proceso (a ← a + b)
• De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a ← c + b*1/2).
8. ESTRUCTURAS SELECTIVAS
• Las estructuras selectivas o alternativas se dividen en:
• 1) La estructura selectiva simple es aquella que evalúa la condición, por verdadera ejecuta una instrucción y si es falsa no ejecuta
ninguna instrucción. En las condiciones se utiliza operadores lógicos.
• 2) Las estructuras selectiva doble ejecuta la condición, si es verdadera realiza una acción y si es falsa realiza otra acción. En las
condiciones se utiliza operadores lógicos.
• 3) Las estructuras selectiva múltiple es que realiza varias instrucciones o grupos instrucciones simple cuando evaluado las condiciones
que se presente en un programa. En las condiciones se utiliza operadores lógicos.
• 4) Las estructuras selectiva anidada es aquella que evalúa una condición si es verdadera realiza una acción o grupo de acciones y si es
falsa ejecuta las demás instrucciones. En las condiciones se utiliza operadores lógicos.
9. ESTRUCTURAS ITERACTIVAS
• Bucle for
El bucle for es una estructura de control en programación en la que se puede indicar de antemano el número mínimo de iteraciones.
• Bucle while
El bucle while o bucle mientras es un ciclo repetitivo basado en los resultados de una expresión lógica; se encuentra en la mayoría de
los lenguajes de programación estructurados.
• Bucle do while
El bucle do, bucle hacer, hacer-mientras o también llamado ciclo do-while, es una estructura de control de la mayoría de los lenguajes de
programación estructurados cuyo propósito es ejecutar un bloque de código y repetir la ejecución mientras se cumpla cierta condición
expresada en la cláusula while
10. ALGORITMO DE ALGORITMO DE
BUSQUEDA ORDENACIÓN
Un algoritmo de búsqueda es un conjunto de instrucciones que
están diseñadas para localizar un elemento con ciertas
propiedades dentro de una estructura de datos.
Un algoritmo de ordenamiento es un algoritmo que pone
elementos de una lista o un vector en una secuencia dada por
una relación de orden, es decir, el resultado de salida ha de ser
una permutación o reordenamiento de la entrada que satisfaga
la relación de orden dada. Las relaciones de orden más usadas
son el orden numérico y el orden lexicográfico.