Apuntes iniciacion programacion en ada

Solo disponible en BuenasTareas
  • Páginas : 14 (3309 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de mayo de 2011
Leer documento completo
Vista previa del texto
Curso de INTRODUCIÓN A LA PROGRAMACIÓN Resumen del lenguaje de programación Ada (secuencial)
Prof. Javier Campos Enero, 2002

Características generales (1…)
n n

Lenguaje de propósito general Profesional (complejo: no pensado para aprendices) Incorporación de puntos clave de la tecnología de programación:
Legibilidad – evitar notación demasiado concisa (es más costoso el mantenimiento quela producción de software: “un programa se lee más veces de las que se escribe”) ä Fuertemente y estáticamente tipado – gran capacidad para definir datos de tipos diferentes – cada dato puede usarse sólo en operaciones específicas de su tipo – la utilización inadecuada se detecta en tiempo de compilación
ä

n

Resumen del Lenguaje Ada (secuencial) - 2

Características generales (… y 2)Diseño a gran escala – programación modular – mecanismos de encapsulación – compilación separada ä Abstracción de datos – separación clara entre especificación y representación e implementación ä Módulos genéricos – creación de módulos con objetos genéricos (p.e., tipos como parámetros) – creación de ejemplares de los módulos genéricos para objetos concretos ä Programación concurrente – descripciónde procesos que pueden ejecutarse concurrentemente – definición de operaciones de sincronización y comunicación entre esos procesos ä Manejo de excepciones – definición de comportamientos de recuperación ante situaciones de error no previstas
ä

Resumen del Lenguaje Ada (secuencial) - 3

Bibliografía fundamental
n

Programming in ADA 95. J.P.G. Barnes.
Addison-Wesley, 1996
äDescripción global del lenguaje ä Estilo didáctico (ejemplos y ejercicios) ä El autor es uno de los miembros clave del equipo de diseño de Ada
n

Ada Reference Manual. International Organization for Standarization, ISO/IEC 8652:1995 (e). ä Definición del estándar Ada 95 ä Imprescindible en el desarrollo de programas (los errores detectados por el compilador hacen referencia concreta a párrafos dellibro, como, por ejemplo, [LRM 4.1/3])

Resumen del Lenguaje Ada (secuencial) - 4

Visión de conjunto: El 1er programa completo
-- utilización de módulos estándar de -- entrada/salida de información textual with Ada.text_io; with Ada.integer_text_io; procedure cuenta_a is -- lee una secuencia de caracteres terminada -- con un punto y escribe el nº de veces que -- ha aparecido la letra 'a‘ --para facilitar el uso de módulos use Ada.text_io; use Ada.integer_text_io; -- declaración de constante y variables final:constant character := '.'; un_caracter:character; contador:integer:=0; begin put("Introd. sec. terminada por '"); put(final); put("'"); new_line; get(un_caracter); while un_caracter/=final loop if un_caracter='a' then contador:=contador+1; end if; get(un_caracter); end loop;put("El número de a's introducidas es"); put(contador, width => 3); new_line; end cuenta_a;

Resumen del Lenguaje Ada (secuencial) - 5

Palabras reservadas y delimitadores
n

Las 69 palabras reservadas de Ada:
goto if in is out package pragma private tagged procedure task limited protected raise range record rem renames requeue return reverse then type until use when while with xor selectseparate subtype

abort declare abs delay abstract delta accept digits access do aliased all else terminate and elsif array end at entry exception begin exit body for case function constant generic

loop mod new not null of or others

n n
=> .. ** := /= >=

Delimitadores simples:
& ' ( ) * + , - . / : ; < = > |

Delimitadores compuestos:

se usa en registros, instrucciones ‘case’, etc.para rangos potenciación asignación desigualdad mayor o igual que menor o igual que paréntesis de etiquetas (para ‘gotos’) el otro paréntesis de etiquetas se usa en vectores y módulos genéricos
Resumen del Lenguaje Ada (secuencial) - 6

Tipos escalares: Generalidades
n

Declaraciones de objetos
pi:constant float:=3.1416; final:constant character:='.'; i,j,k:integer; p,q:integer:=12;...
tracking img