Pratt significa Pratt, Terrence W.: Programming Languages Design and Implementation (2nd edition); Prentice Hall [M4] significa Mdulo 4. Contiene artculo sobre TAD.
ABSTRACCIN Proceso por el cual se separan los detalles de los elementos relevantes en el contexto del anlisis de una situacin. Pratt: Una parte sustancial de la tarea de un programador consiste en disear las abstracciones apropiadas para la resolucin de un problema, y luego implementar esas abstracciones usando las construcciones, ms primitivas, que brinda un lenguaje de programacin. Ejercicio 1: abstraccin procedural. Implemente en ANSI C una herramienta que reciba 3 nmeros enteros cualesquiera y determine si estn ordenados de menor a mayor o no.
CONSTANTE (como objeto) Objeto que reside en memoria principal durante la ejecucin de un programa (proceso) y que no puede ser modificado. Este objeto tiene un nombre (identificador) en el programa. Ejemplo en ANSI C: const double pi = 3.1416; LITERAL (como token) Elemento sintctico (token) que representa un valor determinado de un tipo de dato. A veces tambin conocido como constante, lo cual puede llevar a confusin. Ejemplos: 124 'A' "hola" 124.0 Ejercicio 2: escriba tres constantes enteras en ANSI C, una en base 10, otra octal y otra hexadecimal. Ejercicio 3: escriba dos constantes reales, una en punto fijo y otra en punto flotante. Ejercicio 4: escriba una constante carcter y una constante cadena, tanto en Pascal como en C. Ejercicio 5: cmo se implementa una cadena en Pascal y cmo en C? Virtudes y defectos de cada una.
VARIABLE Pratt: es un objeto de dato con un nombre, definido explcitamente por el programador en un programa.
TIPO DE DATO Pratt: es una clase de objetos de dato junto a un conjunto de operaciones para crearlos y manipularlos. Sintetizando: {valores} y {operaciones que se aplican a esos valores}
TIPO DE DATO PRIMITIVO Es un tipo de dato perteneciente a un determinado lenguaje de programacin; que est incorporado en l. No se puede modificar su especificacin ni su implementacin. Ver [M4] Ejemplo: integer en Pascal, int en C. Ejercicio 6: cules son los valores del tipo de dato int en C?; cules son las operaciones primitivas que se pueden aplicar a esos valores?
TIPO DE DATO ABSTRACTO (TAD) Es un tipo de dato definido por el/la programador/a; se debe se construir porque no existe como tipo de dato primitivo. Tiene dos partes: especificacin e implementacin. Ver [M4]. Ejemplo: nmero complejo. Ejercicio 7: Especifique el TAD Calendario Acadmico. 2 Glosario con Ejercicios
ESTRUCTURA DE DATOS Pratt: es un objeto de dato que contiene otros objetos de dato como sus componentes. Ejercicio 8: describa, con sus palabras, las diferencias sintcticas que hay en las declaraciones de un vector en Pascal y en C. Ejercicio 9: describa, con sus palabras, las diferencias sintcticas que hay en las declaraciones de una matriz en Pascal y en C.
[agrego] OPERACIN Pratt: una operacin en un lenguaje de programacin es una funcin matemtica: dado uno (o ms operandos) produce un resultado nico y bien determinado. Aclaracin sobre la definicin de Pratt. En esa definicin Pratt se refiere al valor que retorna una funcin (return). Pero una funcin tambin puede devolver resultados a travs de sus parmetros. Ejemplos: +: entero x entero -> entero.
OPERADOR Es un smbolo, constituido por uno o ms caracteres, que representa a una determinada operacin.
PRECEDENCIA o PRIORIDAD Ejercicio 10: Considere solo los operadores aritmticos, de relacin y booleanos, de los lenguajes Pascal y C. Compare la precedencia de esos operadores entre estos dos lenguajes. Escriba un informe. Si existe diferencia, en qu influye?
SENTENCIA Ejercicio 11: Qu es el punto y coma para una sentencia en Pascal y para una sentencia en C? Ejercicio 12: Es 2+4; una sentencia correcta en Pascal? Por qu? Ejercicio 13: Es 2+4; una sentencia correcta en C? Por qu?
ASIGNACIN Ejercicio 14: Compare la asignacin en Pascal y en C. Escriba sus diferencias.
CONDICIN Ejercicio 15: Compare la condicin en Pascal y en C. Escriba sus diferencias. Ejemplifique beneficios y peligros.
SENTENCIA SELECTIVA Ejercicio 16: Compare la sintaxis de la sentencia if en Pascal con la de C. Escriba su reflexin.
SENTENCIA ITERATIVA o REPETITIVA Ejercicio 17: Compare la sintaxis de la sentencia repeat-until en Pascal con la de do-while en C. Escriba su reflexin. Ejercicio 18: Compare la semntica de la sentencia repeat-until en Pascal con la de do-while en C. Escriba su reflexin.
FUNCIN Ejercicio 19: Compare la sintaxis de la construccin de una funcin en Pascal con la de C. Escriba su reflexin. Escriba un ejemplo de una funcin con idnticas caractersticas, implementada en ambos lenguajes.
3 Glosario con Ejercicios ARGUMENTO Ejercicio 20: Por qu una variable puede ser un argumento?
PARMETROS Parmetros del tipo in (entrada), out (salida) e inout (entrada-salida). BUSCAR INFORMACIN. Parmetros transmitidos por valor y parmetros transmitidos por referencia. BUSCAR INFORMACIN. Ejercicio 21: Por qu una expresin no puede ser un parmetro?
VECTOR Ejercicio 22: Compare las declaraciones de vectores en Pascal y en C. Escriba: similitudes, diferencias, beneficios, perjuicios.
LENGUAJE DE PROGRAMACIN Pratt: Notacin para la descripcin de algoritmos y estructuras de datos; habitualmente se requiere que est implementado en una computadora.
SINTAXIS Pratt: La sintaxis de un lenguaje de programacin es la forma en que los programas son escritos. Las reglas sintcticas nos dicen cmo se escriben las sentencias, las declaraciones y otras construcciones del lenguaje.
SEMNTICA Pratt: La semntica de un lenguaje de programacin es el significado dado a las diferentes construc- ciones sintcticas.
COMPILADOR Pratt: Es un traductor cuyo lenguaje fuente es un lenguaje de alto nivel y cuyo lenguaje objeto est ms prximo al lenguaje de mquina de una computadora. (Un traductor es un procesador de lenguajes que acepta programas en algn lenguaje fuente de alto o bajo nivel- y que produce un programa funcionalmente equivalente en otro lenguaje objeto de alto o bajo nivel.) Ejercicio 23: Escriba, con justificacin, si un compilador C acepta, como sintcticamente vlidas, a las siguientes sentencias: a) while (1) a; b) 2+3; c) a = b = c = d; d) if (a = b) ; e) 123456789000001222165439876999954345656; f) if (2 > 3) then printf(Hola);