El
Descripción del lenguaje de programación ada
Es el ultimo intento de obtener un único lenguaje para todo tipo de aplicaciones e incluye los últimos avances en técnicas de programación.
Su diseño fue encargado por el
La estandarización del lenguaje se publico en 1983 con el nombre de ADA, en honor a la primera programadora de la historia, Augusta Ada Byron.
Es un lenguaje estructurado parecido al PASCAL, destinado a controlar mecanismos en "tiempo real" (o sea una velocidad compatible con las necesidades reales), pero de gran complejidad. Admite una programación "orientada a objetos" y un sistema de alta modularidad de tipo hipertexto.
El ADA es un lenguaje grande que es relativamente difícil de compilar porque hace muchas comprobaciones en tiempo de compilación. Se ha estimado que un compilador de Ada completamente validado requiere cerca de 50 años de horas hombre para escribirlo y ponerlo a punto.
Características del Ada:
- Legibilidad: programas fáciles de leer (libertAd de formatos de escritura).
- Tipado fuerte: todo objeto tiene componentes de valor definido (es mucho mas fuerte que Pascal).
- Capaz de construir grandes programas: compilación separada de los distintos paquetes (módulos).
- programación estructurada
- programación concurrente
Manejo de excepciones: ideal para la programación en tiempo real.- Abstracción de datos.
- Unidades genéricas: que se pueden agrandar todo lo que queramos con nuevas funciones.
- Alta transportabilidad de los programas entre distintas plataformas: UNIX, OS/2, Win32.
El lenguaje ha ido evolucionando hasta que en el año 1995 surgió la revisión llamada Ada9X (o Ada95). En el Ada95 se añadieron nuevas sentencias y la programación Orientada a Objeto. (Ver Apéndice A Figura 1 Evolución de Ada 95)
Los elementos teóricos de sistemas de computación
SISTEMA: Conjunto de partes interrelacionadas para lograr un objetivo en común, llamado objeto real.
CONCEPTO DE PROGRAMA:
Un programa es un conjunto de instrucciones que al ser ejecutadas resuelven un problema.
La computadora se utiliza para procesar en forma automática y a gran
Para procesar la información está el hardware (microprocesador, RAM,...), y el software (que sirve para
Un programa tiene 3 partes:
- Entrada de datos X: Normalmente se va a ejecutar a través de instrucciones de lectura, y en lo que se le pide al usuario la información que el programa va a necesitar para ejecutarse y se hace a través de lecturas.
- Acciones de un algoritmo F(x): Parte en la que se resuelve el problema usando los datos de entrada.
- Salida Y: Mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas. Son acciones de escritura.
En la parte de las acciones a ejecutar se distinguirán dos partes:
- Declaración de variables.
- Instrucciones del programa.
ESQUEMA GENERAL (ver Apéndice figura 3)
Objeto Real: | |
Sistema:Conjunto de
| Base: Información estática de datos y archivos.
|
Medio Exterior: Sitios o condiciones con los que se relacionan y conecta el sistema. |
ALGORITMOS
¿Qué es un algoritmo?:
Es una formula para resolver un problema. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema. Existen n algoritmos, hay que coger el más efectivo.
Es una secuencia ordenada de pasos - sin ambigüedades -, repetible, que es solución de un determinado problema.
Las características fundamentales que debe cumplir todo algoritmo son:
- Debe ser preciso e indicar el orden de realización de cada paso
- Debe estar definido (si se repite n veces los pasos se debe obtener siempre el mismo resultado)
- Debe ser finito (debe tener un número finito de pasos)
- Es
independiente del lenguaje de programación que se utilice
- La definición de un algoritmo debe describir tres parte Entrada, Proceso, Salida.
- La programación es adaptar el algoritmo al
ordenador . - El algoritmo es independiente según donde lo implemente.
El algoritmo trata de resolver problemas mediante programas.
FASES:
- Análisis preliminar o evaluación del problema:
Estudiar el problema en general y ver que parte nos interesa. - Definición o análisis del problema: El objetivo de ésta fase es comprender el problema para lo cual como resultado tenemos que obtener la especificación de las
entradas y salidas del problema. Tiene que quedar claro que entra y que sale, las posibles condiciones o restricciones, ...
3. Diseño del algoritmo: Diseñar la solución. Una vez comprendido el problema se trata de determinar que pasos o acciones tenemos que realizar para resolverlo.
Como criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:
- Si el problema es bastante complicado lo mejor es dividirlo en partes más pequeñas e intentar dividirlo en partes más pequeñas e intentar resolverlas por separado. Esta metodología de "divide y vencerás" también se conoce con el nombre de diseño descendente.
- Las ventajas de aplicar esto son:
- Al dividir el problema en módulos o partes se comprende más fácilmente.
- Al hacer modificaciones es más fácil sobre un módulo en particular que en todo el algoritmo.
- En cuanto a los resultados, se probarán mucho mejor comprobando si cada módulo da el resultado correcto que si intentamos probar de un golpe todo el programa porque si se produce un error sabemos en que módulo ha sido.
Una segunda filosofía a la hora de diseñar algoritmos es el refinamiento por pasos, y es partir de una idea general e ir concretando cada vez más esa descripción hasta que tengamos algo tan concreto para resolver. Pasamos de lo más complejo a lo más simple.
La representación de los algoritmos:
Una vez que tenemos la solución hay que implementarla con alguna representación. Las representaciones más usadas son los flujogramas, los diagramas NS y el pseudocódigo.
4. Resolución en computadora: Implantación del algoritmo en un lenguajede programación.
5. Ejecución del programa, pruebas y mantenimiento: Ver si el programa hace lo que queríamos (dentro de procedimientos)
PROCEDIMIENTOS
Son los pasos que definen el empleo especifico de cada elemento del sistema o el contexto procedimental en que reside el sistema. Los sistemas basados en computadoras Intentan poner orden a un desarrollo de sistemas e intentan poner al software en su contexto por lo tanto establece enlaces que unen al software con los elementos de un sistema basado en computadoras. El papel del ingeniero de sistemas es definir los elementos de un sistema especifico basado en
En el proceso cada elemento se implementa especificando los componentes técnicos que dan funcionalidad necesaria a un elemento en el contexto software, un componente podría ser un programa de computadora, un componente de programa reutilizable, un modulo, una clase u objeto o incluso una sentencia de lenguaje de programación.
Llflf
Sintaxis y Semántica
- La sintaxis de un lenguaje define como se pueden poner juntos símbolos, palabras reservadas, e identificadores para hacer un programa válido.
- La semántica de un constructor de un lenguaje es el significado del constructor; ella define su papel en un programa.
- Un programa sintácticamente correcto no implica que sea lógicamente (semánticamente) correcto.
- Los programas son más fáciles de construir y codificar cuando están constituidos por componentes separados.
- Un componente software puede considerarse como cualquier elemento de software que transforma una entrada en una salida.
No hay comentarios:
Publicar un comentario