Algoritmos
Algoritmos
Conceptos básicos.
Programación:
1. Establecer una secuencia de acciones que:
• puedan ser ejecutadas por el procesador
• realicen una determinada tarea
2. Fases:
• Resolución del problema propuesto => determinación de
un algoritmo.
• Adaptación del algoritmo al computador => codificar el
algoritmo en un lenguaje que el computador pueda
comprender.
Conceptos básicos.
1.Acción: Etapa en la realización de un trabajo
2. Acción primitiva: Acción que el procesador puede ejecutar
sin necesidad de información adicional.
3. Algoritmo: Secuencia ordenada de acciones primitivas que
realizan un trabajo. Ejemplos:
Ir al trabajo
1.Levantarse
2.Darse una ducha
3.Vestirse
4.Desayunar
5.Tomar locomoción
Cálculo de la media aritmética de
dos números con una calculadora1.Pulsar la tecla AC
2.Teclear el primer número
3.Pulsar la tecla +
4.Teclear el segundo número
5.Pulsar la tecla +
6.Pulsar la tecla /
7.Teclear el número 2
8.Pulsar la tecla =
Confección de un pájaro a partir de un papel cuadrado
Confección de un pájaro a partir de un papel cuadrado
Primitivas Origami
Primitivas Origami
Conceptos básicos.
Aspectos que se deben considerar a la hora deescribir un algoritmo:
•
•
•
•
•
•
Determinación de las primitivas de las que partimos
Lenguaje simbólico a utilizar para desarrollar el algoritmo
Representación de los datos
Establecer datos de entrada
Establecer datos de salida
Establecer las relaciones entre los datos de entrada y los de salida
Condiciones que debe cumplir un algoritmo:
•
•
Ser finito: El algoritmo debe acabar tras unnúmero finito de pasos
Estar bien definido: Todas las ejecuciones del algoritmo con los mismos datos de
entrada deben devolver los mismos datos de salida.
Diferencias entre un algoritmo y un programa:
•
Los algoritmos no son directamente interpretables por el computador => deben ser
traducidos a un lenguaje de programación concreto.
Definition de algoritmo
Es un procedimiento computacional biendefinido que
toma un conjunto de valores como entrada y produce
otro conjunto de valores como salida.
Representación de algoritmos
• Métodos para representar un algoritmo:
– Pseudolenguaje
– Diagramas de flujo
• Pseudolenguaje
– Es un lenguaje específico de descripción de algoritmos
– La traducción de un algoritmo escrito en pseudolenguaje a un programa en un
lenguaje de programacióndeterminado es relativamente simple
• Herramientas de un pseudolenguaje para representar un algoritmo
– Conjunto de palabras clave que proporcionan:
• las estructuras de control
• declaraciones de variables
• características de modularidad
– Sintaxis libre de un lenguaje natural que describe las características del proceso
– Elementos para la definición y llamada a subprogramas
Metodología de diseñoUn problema => muchos algoritmos para resolverlo
¿Cómo elegir el más adecuado? Basándonos en las siguientes
características:
– Legibilidad
– Eficiencia
– Portabilidad
– Modularidad
– Modificabilidad
– Estructuración
Metodología de diseño
Programación estructurada
– Conjunto de técnicas que aumentan la productividad de un programa,
reduciendo el tiempo para:
• Escribir • Depurar
• Verificar •Mantener
– Utiliza un número limitado de estructuras de control que minimizan la
complejidad de los problemas
– Teorema de BOHM-JACOPINI: cualquier programa, por complejo
que sea, puede escribirse utilizando sólo tres estructuras de control:
– Secuencial
– Selectiva
– Repetitiva
Secuencial
Actividad 1
Actividad 2
Actividad n
Selección
Simple:
Doble:
sí
Condición
sí
actividad
nocondición
Actividad 1
no
Actividad 2
Múltiple:
Condición
sí
Actividad 1
sino
Condición
sí
Actividad 2
Condición
sino
sí
Actividad n-1 Avtividad n
Repetición
Test
condition
true
activity
false
Estratégia: Dividir para conquistar
Dividir el problema en subproblemas
En la resolución de un problema complejo, se divide en
varios sub problemas y seguidamente se vuelven a ...
Regístrate para leer el documento completo.