Objetivo y filosofia






descargar 137.08 Kb.
títuloObjetivo y filosofia
página4/4
fecha de publicación05.06.2016
tamaño137.08 Kb.
tipoDocumentos
l.exam-10.com > Derecho > Documentos
1   2   3   4

DISEÑO DETALLADO
ESTRUCTURAS I/O
Características de los lenguajes de programación
Los lenguajes de programación constituyen la instrumentación de las reglas cualitativas de un paradigma, estos están sujetos a una serie de características generales que pueden clasificarse como sigue:


  • Tipos de Datos

  • Estructuras de Control

  • Manejo del I/O

  • Operaciones, Operadores y Operandos

  • Sintaxis

  • Esquema de Traducción y Ejecución



Tipos de datos
En todo lenguaje existen tres tipos niveles de tipos de datos: Máquina, Lenguaje, Usuario (definidas por el mismo). Entre mayor nivel tenga el tipo del dato, más fácil es su uso. Por otro lado, entre más elemental sea el tipo del dato resulta más eficiente en términos de memoria y tiempo de ejecución.

Nivel Máquina
APUNTADOR = Representa una dirección (o zona) en memoria

REGISTRO = Representa un registro o acumulador en el CPU

ENTERO = Número Entero en 2 B ( 2**15 ) ó 4 B (2**32).

REAL = Número Exponecial en 4, 8 ó 16 Bytes.

ASCII = Caracter alfanumérico 1B ( 256 elementos )

BOOLEANO = Caracter booleano (t,f) en 1bit ó 1Byte

NBCD = Caracter decimal en 4 bits (nibble)

Nivel Lenguaje
Varia considerablemente para cada lenguaje, algunos de ellos son:
CADENA (n) = Cadena de caracteres ASCII de tamaño n, puede ser dinámica o estáticamente asignada

ARREGLO (n,...,m) = Manejo de vectores y matrices de otros tipos

TABLA (n) = Tabla de acceso Hash de n elementos

ENUMERABLES = Asignación de mnemónicos en una secuencia enumerable ( 256 elementos ).

SUBRANGO = Selección de un rango de números enteros

SET = Similar al enumerable pero para uso lógico

RECORD = Estructura formada por varios tipos diversos con un solo nombre ( una dirección base en memoria).

FILE = Similar a CADENA asociado con un manejo de I/O
Relacionado con el tipo de datos, se asocian los conceptos de Coercion :
Los datos son convertidos obligatoriamente al tipo requerido por la operación
Overloading : Cuando un tipo de dato, operador o función puede tener distintos significados de acuerdo al contexto en que se encuentre
Polimorfismo : Cuando una estructura de datos básica puede tener formas distintas en su definición final ( un ejemplo elemental es el Case en un Record, sin embargo puede ser muy complejo ). Otros tipos de datos más específicos son:
LISTAS = Secuencia de Apuntadores en forma ligada

PATRONES = Similar a CADENA solo que su usa para comparar valores y contenidos en cada CADENA

FUNCIONES = Asocian un relación o función lógica

CLASES = Similares a RECORD, solo que incluyen en su definición datos, rutinas y comunicación ( DB/DP/DC ), asociados a una dirección de memoria ( normalmente residen en el HEAP )

Nivel Usuario
Adicionalmente el usuario puede definir sus propias estructuras de datos, combinando para esto los diversos tipos de datos anteriormente mencionados. ¿Qué tal un : Apuntador de un Arreglo de Record de un Subrango de enteros con subindices Enumerables?

Estructuras de Control
Un aspecto importante en un lenguaje de programación es su estructura de control, esto es la forma como organiza la ejecución de las instrucciones del usuario. Esta organización es independiente de la forma y las operaciones que forman en si las instrucciones del lenguaje. En realidad es la forma de la estructura de control que identifica al paradigma de programación en cuestión. Así por ejemplo la estructura procedural define al paradigma; en general podemos decir que toman las siguientes formas:

Secuencial ===> BEGIN / END

Condicional ===> IF THEN, IF THEN ELSE

Incondicional ==> GO TO

Predicados ==> AND,OR,CUT,NEGATION,BACKTRACKING

Cíclica ===> WHILE, REPEAT UNTIL, FOR

Modular ===> FUNCTION, PROCEDURE

Interrupciones => ON CONDITION, EXCEPTION HANDLING

No Secuencial => CASE OF, RECURSIVE, LISTS

Por Eventos ===> MESSAGES, INTERLEAVED

Concurrencia ==> PAR/END, PAR/ALT/END

Manejo del I/O
Otro elemento de los lenguajes de programación es el manejo del Input/Output, el cual se clasifica de acuerdo al medio usado:
Entrada de texto : Stream Oriented, EOF, EOL

Impresión : DISPLAY, TYPE

Manejo del Disco : Virtual Memory, Overlays

Manejo de Archivos : SEQ, RANDOM, INDEX, HASH

Manejo de Multimedios : Mouse, VCR, etc.
Es importante en la medida en que pueda la información se almacene y recupere en una forma compatible con el esquema de operación del lenguaje. Así por ejemplo, para una lengua matemática es importante tener un manejo transparente de matrices en disco y para un manejo de objetos, sería conveniente tener un manejo sencillo de persistencia de los objetos en disco.
Operaciones, Operadores y Operandos
Se mencionan a continuación las operaciones y su ejecución en lenguajes artificiales (estas pueden requerir de cero, uno, dos ó múltiples operandos):
1) Tipo de Máquina Triples de Máquina ( Load Reg3,Alfa)

2) Tipo Aritmético - (unario), -,+,*,/,**, INC, DEC

3) Tipo Comparación >,<, >=, =<

4) Tipo lógico AND, OR, NOT

5) Tipo Utileria Asignación (=,:=, <-)

6) Tipo I/O Open, Close, Get,Put, Read, Write, Seek, Find

7) Tipo Texto Concatena ( ||, b, +) , Decatena, SUBSTR, Alterna( | )

8) Tipo Misceláneo New,Dispose, Cons,Append, CAR,CDR,CUT,etc.

Sintaxis
Tal vez el componente más característico de un lenguaje de programación es su sintaxis, esta invita al uso del paradigma de una manera natural. Así por ejemplo PASCAL, usa una sintaxis estructurada, mientras que LISP tiene una sintaxis mas libre pero de tipo funcional. PROLOG por su parte tiene una notación formal que invita a la abstracción y al cálculo de predicados. Finalmente los lenguaje orientados a objetos ( como Smalltalk ) combinan una sintaxis en texto con un manejo de iconos que representan en croquis ( e inclusive, imágenes completas ) los objetos en cuestión, junto con esto, el uso de multimedio para el pasaje de mensajes de I/O invita el pensamiento en términos del paradigma en forma sencilla ( Hypercard ). Una vez más es importante recordar que la sintaxis del lenguaje aunque necesaria, no define al paradigma, éste está identificado por los postulados correspondientes. Adicionalmente, se puede argumentar que la programción en términos gramaticales representa un paradigma adicional de programación.
Esquema de Traducción y Ejecución
Existen un gran número de esquemas para las labores de tradución, ligado, cargado y ejecución de un programa, existen diversos esquemas de Interpretación, Compilación y Residencia en Ejecución

Bibliografía:
Llaccua y Vasquez, Programando con Objetos en Borland Pascal. Ed. San Marcos
Schildt , Turbo C/C++, manual de referencia. , Osborne/McGraw-Hill.
Watt , David A. Programming Languaje Concepts and Paradigms. University of Glasgow, Uk. Prentice Hall.



1   2   3   4

similar:

Objetivo y filosofia iconEn colaboración con el Departamento de Filosofía y con el objetivo...

Objetivo y filosofia iconObjetivo: Escribir un poema original dedicado a tu comida favorita,...

Objetivo y filosofia iconEl lugar de la filosofía en la educación. El papel de la filosofía...
«filosofía» y «educación» toma el enunciado titular: «El lugar de la filosofía en la educación»

Objetivo y filosofia iconIteso – Departamento de Filosofía y Humanidades. Licenciatura en Filosofía y Ciencias Sociales

Objetivo y filosofia iconIteso – Departamento de Filosofía y Humanidades. Licenciatura en Filosofía y Ciencias Sociales

Objetivo y filosofia iconFilósofo griego, nacido en Atenas, considerado el fundador de la...

Objetivo y filosofia iconCulminación filosofía siglo XIX. Establece un sistema general de...

Objetivo y filosofia iconResumen El acento del trabajo está en el cruce de la filosofía, la...

Objetivo y filosofia iconDirección de la colección: Virgilio Ortega
«desilusión decisiva y universal», donde comienza su filosofía. Mejor aún, de él parte la exigencia feuerbachiana de una «filosofía...

Objetivo y filosofia icon• Estudió Letras y Filosofía en la Facultad de Filosofía y Letras...






© 2015
contactos
l.exam-10.com