2A Intro
2A Intro
Algoritmo
Secuencia ordenada de pasos que resuelve un problema concreto.
Características
- Corrección
(sin errores).
- Precisión
(ausencia de ambigüedades).
- Repetitividad
(solución genérica de un problema dado).
- Finitud
(número finito de órdenes no implica finitud).
- Eficiencia
(temporal [tiempo necesario] y espacial [memoria utilizada])
Programa
Implementación de un algoritmo en un lenguaje de programación
Lenguaje máquina
El único que entiende directamente la CPU del ordenador
û Depende del modelo de ordenador
û Repertorio de instrucciones reducido (operaciones muy elementales)
û Muy difícil programar en él (en binario, con cadenas de ceros y unos)
Lenguaje ensamblador
Equivalente al lenguaje máquina, cada línea de código se traduce en
una instrucción para la máquina.
ü Le asocia mnemónicos a las operaciones que entiende la CPU
û Repertorio de instrucciones reducido (operaciones muy elementales)
û Programas difíciles de entender
• Lenguajes imperativos:
Los programas indican al ordenador de forma inequívoca los
pasos a seguir para la resolución de un problema.
o Programación estructurada:
La estructura del texto del programa debe auxiliarnos para
entender la función que realiza: estrategia “divide y
vencerás” (la resolución de un problema se divide en tareas
y, éstas, en subtareas).
Ejemplos: C, Pascal, Fortran...
Tipos de traductores
Compiladores
Generan un programa ejecutable a partir del código fuente
Intérpretes
Van analizando, traduciendo y ejecutando las instrucciones del
programa una a una. No se traduce una instrucción hasta que la
ejecución de la anterior haya finalizado.
Herramientas de programación
Editores, depuradores, profilers...
Ä IDEs (entornos integrados de desarrollo)
ü Planificación
Delimitación del ámbito del proyecto, estudio de viabilidad, análisis de riesgos,
estimación de costos, planificación temporal y asignación de recursos.
ü Implementación:
Adquisición de componentes, creación de los módulos de la
aplicación en un lenguaje de programación e integración de los
recursos necesarios para que el sistema funcione.
ü Depuración y pruebas:
Comprobación del funcionamiento de la aplicación
Pruebas de unidad y de integración, pruebas alfa, pruebas beta, test de aceptación.
§ Verificación (si se está realizando lo que se pretendía)
§ Validación (si se realiza lo correcto).