Herramientas Personales

Programa

Acciones de Documento
  • Enviar esto
  • Imprimir esto
  • Content View
  • Bookmarks

Curso 2009-2010
Página Web: http://www.ctr.unican.es/asignaturas/prog_ada/


Profesores

  • José Javier Gutiérrez García (gutierjj@unican.es)
  • Michael González Harbour (mgh@unican.es) 

Objetivos de Programación en Lenguaje Ada

  • Saber diseñar e implementar programas complejos utilizando conceptos avanzados del lenguaje de programación Ada
  • Comprender y saber usar las estructuras de datos básicas que se utilizan para almacenar la información de un programa y los algoritmos que las manipulan

¿Por qué Ada?

El lenguaje Ada se caracteriza por hacer énfasis en la fiabilidad

  • Es el lenguaje mayoritario en sistemas de seguridad crítica, por ejemplo: aviones, trenes, vehículos espaciales

Es uno de los pocos lenguajes que tiene soporte directo para programar sistemas de tiempo real

  • en los sistemas de tiempo real el software debe responder a tiempo a sucesos que ocurren en el mundo real
  • muchos sistemas basados en computador son sistemas de tiempo real - vehículos, robots, televisión y vídeo, telecomunicaciones, ...

Es un lenguaje moderno que soporta la programación orientada a objetos, la programación concurrente, ...


Programa

PARTE I: Elementos del lenguaje Ada

 

Tema 1. Introducción a los computadores y su programación.

  • Arquitectura básica de un computador.El software del sistema. Lenguajes de alto nivel. El proceso de compilación.

Tema 2. Elementos básicos del lenguaje.

  • Introducción. Estructura de un programa. Variables, constantes y tipos simples. Expresiones. Instrucciones de control. Tipos de datos.Subprogramas y paso de parámetros. Reglas de visibilidad. Entrada/salida simple.

Tema 3. Modularidad y programación orientada a objetos.

  • Diseño modular y orientado a objetos. Concepto de clase y objeto. Paquetes. Compilación separada. Reglas de visibilidad. Tipos de paquetes.

Tema 4. Estructuras de datos dinámicas.

  • Relaciones entre datos. Punteros. Estructuras de datos dinámicas. Punteros a objetos estáticos.

Tema 5. Tratamiento de errores.

  • Excepciones. Excepciones predefinidas. Declaración de excepciones propias. Elevar y tratar excepciones. Manejadores. Funcionamiento de las excepciones. Formas más habituales de tratar excepciones. El paquete Ada.Exceptions.

Tema 6. Abstracción de tipos mediante unidades genéricas.

  • Abstracción de tipos. Paquetes genéricos. Subprogramas genéricos. Tipos como parámetros genéricos. Subprogramas como parámetros genéricos. Punteros a subprogramas

Tema 7. Entrada/salida con ficheros.

  • Introducción. Ficheros. Entrada/salida de texto. Entrada/salida secuencial. Entrada/salida directa. Entrada/salida de streams.

Tema 8. Herencia y polimorfismo.

  • Programación orientada a objetos. Tipos etiquetados. Herencia. Tipos abstractos y privados. Polimorfismo. Programación incremental.

Tema 9. Programación concurrente y de tiempo real.

  • Concurrencia. Sincronización de espera. Sincronización de datos. Programación de tiempo real. Representación del hardware. Interrupciones. Gestión del tiempo. Prioridades.

 

Parte II. Estructuras de datos y algoritmos

 

Tema 10. Introducción al análisis y diseño de algoritmos.

  • Introducción. Diseño de un programa. Concepto de algoritmo. Descripción de algoritmos: el pseudolenguaje y diagramas de flujo. Tiempo de ejecución. La notación O(n). Ejemplos de análisis.

Tema 11. Tipos abstractos de datos.

  • Conceptos básicos. Conjuntos. Listas. Stacks. Colas. Mapeados. Árboles. Árboles binarios.

Tema 12. Métodos de ordenación.

  • El modelo de ordenación interna. Esquemas simples de ordenación. Ordenación rápida. Ordenación por cajas. Ordenación por base.


Actividades

Lectura del material del curso

  • Apoyado por el material de la bibliografía

Cuestionarios

  • Preguntas para comprobar que se ha leído el material

Ejercicios

  • Problemas prácticos breves
  • habitualmente varios por tema

Prácticas

  • una por cada tema (excepto los temas 1, 2, 10, 12)
  • se pedirá el código y un breve informe con los resultados

 

 

Copyright 2014, por los autores de los cursos. Cite/attribute Resource. García, J. J. G., Harbour, M. G. (2010, June 01). Programa. Retrieved July 24, 2017, from OCW Universidad de Cantabria Web site: http://ocw.unican.es/ensenanzas-tecnicas/programacion-en-lenguaje-ada/programa. Esta obra se publica bajo una licencia Creative Commons 4.0. Creative Commons 4.0