Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Terminos de C++ claramente establecidos con consentimiento xd, Apuntes de Lógica

la verdadera info esta en tu mente

Tipo: Apuntes

2020/2021

Subido el 16/06/2022

flast-1
flast-1 🇦🇷

2 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
APÉNDICE H
GLOSARIO
abstract base class (clase base abstracta). Una clase que contiene una o
más funciones virtuales puras, de las que otras clases se derivan
mediante herencia.
abstract class (clase abstracta). Una clase abstracta actúa como una plan-
tilla de otras clases. Normalmente se utiliza como la raíz de una jerar-
quía de clases.
abstract type (tipo abstracto). Un tipo específico de tipo base diseñado
para ser utilizado estrictamente como base de otros tipos. No tiene ins-
tancias y, por consiguiente, sólo se puede utilizar para derivar nuevos
tipos.
abstraction (abstracción). Característica esencial de un objeto que lo dife-
rencia de otros objetos.
access specifer (especificador de acceso). Palabra reservada que controla el
acceso a miembros dato y métodos dentro de tipos definidos por el
usuario.
Actor (actor). Un lenguaje orientado a objetos.
address (dirección). Un valor que especifica la posición de una variable en
la memoria.
aggregation relationship (relación de agregación). La relación tiene-un
(has-a), todo-parte, entre clases.
algorithm (algoritmo). Una especificación o método no ambiguo, ejecuta-
ble y con terminación que sirve para resolver un problema paso a paso.
anonymous union (unión anónima). Una unión enumerada en C++. Todos
los miembros de la unión comparten el mismo almacenamiento y los
miembros se utilizan tal como variables ordinarias.
ANSI (American National Standars Institute: Instituto Nacional America-
no de Normalización). Comité que aprueba estándares de informática.
Un comité ANSI se dedica a la estandarización de C++.
ANSI/ISO C++ Standar. El estándar del lenguaje C++ que ha sido desa-
rrollado por ANSI (American National Standars Institute) e ISO (Inter-
national Standars Organization).
argument (argumento). Un valor de un parámetro en una llamada a una
función, o uno de los valores combinados por un operador.
array (array, matriz). Colección de valores del mismo tipo, a cada una de
las cuales se accede por un índice entero. Grupo de tipos de datos o ele-
mentos idénticos.
arrow operator (operador de flecha). El operador <>.p<>mes igual que
(*p).m.
ASCII code (código ASCII). Código americano estándar para intercambio
de información (American Standard Code for Information Interchange),
que asocia valores de código entre 0 y 127 a letras, dígitos, signos de
puntuación y caracteres de control.
assertion (aserto oaserción). Una afirmación o declaración que una cierta
condición contiene en una posición específica del programa; se com-
prueba, normalmente, con la macro assert.
assignement (asignación). Posicionar, asignar o almacenar un nuevo valor
en una variable.
automatic variable (variable automática). Variable local que pierde su
valor cuando termina el bloque en que está definida.
balanced tree (árbol equilibrado). Un árbol en el que cada uno de los
subárboles tiene la propiedad de que el número de descendientes a la
izquierda es aproximadamente el mismo que el número de descendien-
tes a la derecha.
base class (clase base) (C++). Una clase a partir de la cual se deriva otra.
Sinónimo de ancestor type ysuperclas.
behavior (comportamiento, conducta). Sinónimo de un método declarado
dentro de un tipo.
big-Oh notation (notación O grande). La notación g(n) = O(f(n)) repre-
senta que la función gcrece a la misma velocidad con respecto a nque
la función f. Por ejemplo, 10n2+ 100n – 1000 = O(n2).
binary file (archivo binario). Un archivo cuyos valores se almacenan en su
representación binaria y no se puede leer como texto.
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Terminos de C++ claramente establecidos con consentimiento xd y más Apuntes en PDF de Lógica solo en Docsity!

A P É N D I C E H

G L O S A R I O

abstract base class ( clase base abstracta ). Una clase que contiene una o más funciones virtuales puras, de las que otras clases se derivan mediante herencia.

abstract class ( clase abstracta ). Una clase abstracta actúa como una plan- tilla de otras clases. Normalmente se utiliza como la raíz de una jerar- quía de clases.

abstract type ( tipo abstracto ). Un tipo específico de tipo base diseñado para ser utilizado estrictamente como base de otros tipos. No tiene ins- tancias y, por consiguiente, sólo se puede utilizar para derivar nuevos tipos.

abstraction ( abstracción ). Característica esencial de un objeto que lo dife- rencia de otros objetos.

access specifer ( especificador de acceso ). Palabra reservada que controla el acceso a miembros dato y métodos dentro de tipos definidos por el usuario.

Actor ( actor ). Un lenguaje orientado a objetos.

address ( dirección ). Un valor que especifica la posición de una variable en la memoria.

aggregation relationship ( relación de agregación ). La relación tiene-un ( has-a ), todo-parte , entre clases.

algorithm ( algoritmo ). Una especificación o método no ambiguo, ejecuta- ble y con terminación que sirve para resolver un problema paso a paso.

anonymous union ( unión anónima ). Una unión enumerada en C++. Todos los miembros de la unión comparten el mismo almacenamiento y los miembros se utilizan tal como variables ordinarias.

ANSI ( American National Standars Institute: Instituto Nacional America- no de Normalización ). Comité que aprueba estándares de informática. Un comité ANSI se dedica a la estandarización de C++.

ANSI/ISO C++ Standar. El estándar del lenguaje C++ que ha sido desa- rrollado por ANSI (American National Standars Institute) e ISO (Inter- national Standars Organization).

argument ( argumento ). Un valor de un parámetro en una llamada a una función, o uno de los valores combinados por un operador. array ( array, matriz ). Colección de valores del mismo tipo, a cada una de las cuales se accede por un índice entero. Grupo de tipos de datos o ele- mentos idénticos. arrow operator ( operador de flecha ). El operador <>. p <> m es igual que (p).m. ASCII code* ( código ASCII ). Código americano estándar para intercambio de información ( American Standard Code for Information Interchange), que asocia valores de código entre 0 y 127 a letras, dígitos, signos de puntuación y caracteres de control. assertion ( aserto o aserción ). Una afirmación o declaración que una cierta condición contiene en una posición específica del programa; se com- prueba, normalmente, con la macro assert. assignement ( asignación ). Posicionar, asignar o almacenar un nuevo valor en una variable. automatic variable ( variable automática ). Variable local que pierde su valor cuando termina el bloque en que está definida. balanced tree ( árbol equilibrado ). Un árbol en el que cada uno de los subárboles tiene la propiedad de que el número de descendientes a la izquierda es aproximadamente el mismo que el número de descendien- tes a la derecha. base class ( clase base ) (C++). Una clase a partir de la cual se deriva otra. Sinónimo de ancestor type y superclas. behavior ( comportamiento, conducta ). Sinónimo de un método declarado dentro de un tipo. big-Oh notation ( notación O grande ). La notación g(n) = O(f(n)) repre- senta que la función g crece a la misma velocidad con respecto a n que la función f. Por ejemplo, 10n^2 + 100n – 1000 = O(n^2 ). binary file ( archivo binario ). Un archivo cuyos valores se almacenan en su representación binaria y no se puede leer como texto.

binary operator ( operador binario ). Un operador que acepta dos argu- mentos; por ejemplo, + (x+y). binary search ( búsqueda binaria ). Un algoritmo rápido y eficiente para encontrar un valor en un array ordenado. Reduce la búsqueda a la mitad del tamaño de cada array en cada etapa del algoritmo. binary search tree ( árbol binario de búsqueda ). Un árbol binario en el que cada subárbol tiene la propiedad de que todos sus descendientes son más pequeños que el valor almacenado en el raíz y todos los descen- dientes derechos son mayores. binary tree ( árbol binario ). Un árbol en el que cada nodo tiene como máxi- mo dos nodos hijos. binding ( ligadura ). Proceso por el cual un nombre o una expresión se aso- cia con un atributo, tal como una variable y el tipo de valor que la varia- ble puede contener. binding time ( tiempo de ligadura ). Momento o tiempo en el que tiene lugar una ligadura. Ligadura temprana o estática ( early binding ) generalmen- te se refiere a la ligadura realizada en tiempo de compilación, mientras que la ligadura dinámica o tardía ( late o dynamic binding ) se refiere a la ligadura realizada en tiempo de ejecución. bit ( bit ). Dígito binario; la unidad más pequeña de información, que tiene dos valores posibles, 0 y 1. Un elemento dato que consta de n bits tiene 2 n^ valores posibles.

black box testing ( prueba de la caja negra ). Prueba de funciones sin cono- cimiento de su implementación. block. Un grupo de sentencias encerradas entre llaves {}. boolean operator. Véase logical operator. boolean type. Un tipo de dato que sólo tiene dos valores, true ( verdadero ) y false ( falso ). bounds error ( error de límites ). Intento de acceder a un elemento de un array que está fuera del rango o intervalo legal (válido). break statement ( sentencia break). Una sentencia que termina inmediata- mente un bucle o una sentencia switch. breakpoint ( punto de ruptura ). Un punto o posición de un programa, espe- cificado en un depurador, en el que se detiene la ejecución del progra- ma y permite al usuario inspeccionar el estado del programa. browser ( hojeador, navegador ). Una herramienta de software que simplifi- ca el examen de código asociado con un sistema software. Es una herra-

mienta utilizada para examinar las clases ya definidas como parte de la jerarquía de clases, es decir, inspeccionar jerarquías de clases. buffered input ( entrada por búfer ). Entrada que se reúne en lotes ( batches ), por ejemplo, una línea cada vez. built in type ( tipo integrado ). Un tipo (tal como double o char) incluido en un lenguaje. El compilador conoce cómo manejarlo y no tiene que aprender en cada momento si se encuentra una instancia.

byte ( byte, octeto ). Un número entre 0 y 255 (ocho bits). Normalmente todas las computadoras que se fabrican en la actualidad utilizan un byte como la unidad más pequeña de almacenamiento en memoria. C++. Un lenguaje popular de OO; una instancia del lenguaje C. call by reference ( llamada por referencia ). Un mecanismo de llamada a una función que pasa argumentos a una función mediante el paso de la dirección de cada argumento en lugar de su valor. call by value ( llamada por valor ). Un mecanismo de llamada a una función que pasa argumentos a una función mediante el paso de una copia de cada valor del argumento. call stack ( pila de llamadas ). Conjunto de funciones que se han llamado realmente pero que no se han terminado comenzando con la función actual y terminando con main. care-sentitive ( sensible a mayúsculas ). Diferencia o distingue entre letras mayúsculas y minúsculas. Este concepto es importante para los editores y compiladores de lenguaje que permite diferenciar en identificadores tales como Palabra, palabra, PALABRA. cast ( conversión de tipos, moldear ). Conversión de un valor de un tipo a un tipo diferente. Por ejemplo, la conversión de un número de coma flotan- te x a un entero se expresa en C++ por la notación de moldeado, (int)x. cfront. Traductor de AT&T C++. character ( carácter ). Elemento básico utilizado por una computadora tal como *, /, ¿, A, B, C, a, b, c, ... child class ( clase hija ). Una clase que se define como una extensión de otra clase que se denomina clase padre. Sinónimo de subclase ( subclass ) y clase derivada ( derived class ). class ( clase ). Tipo definido por el usuario en C++. Grupo de objetos que comparten las mismas propiedades y relaciones. En C++, una clase se puede utilizar para definir un nuevo tipo de dato. class container ( contenedor/recipiente de una clase ). Una clase que alma- cena una colección de otros objetos y proporciona un medio para iterar sobre la colección.

680 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

declaration ( declaración ). Una sentencia que anuncia la existencia de una variable, función o clase pero no la define. Especifica un nombre y tipo de identificador.

default constructor ( constructor por defecto ). Un constructor que se puede invocar sin parámetros.

#define directive ( directiva #define). Una directiva que define valores constantes y macros para el preprocesador. Los valores pueden ser con- sultados durante la fase de preprocesado con las directivas #if e #ifdef. Las macros se reemplazan por el preprocesador cuando se encuentran en el archivo del programa.

definition ( definición ). Una sentencia o serie de sentencias que describen totalmente una variable; una función y su implementación; un tipo; o una clase y sus propiedades. Es una declaración que asigna memoria.

delete operator ( operador delete). Es el operador que recicla la memo- ria en el montículo ( heap ).

dereferencing ( indirección ). Localización de un objeto si se proporciona un puntero al objeto.

derived class ( clase derivada ). Una clase que se define como una extensión o una subclase de otra clase, denominada clase base. Sinónimo de des- cendant type ( tipo descendiente ), subclases ( subclase ) y child class ( clase hija ). Una clase que modifica una clase base añadiendo campos dato o funciones miembro o redefiniendo funciones miembro. Es una clase que hereda de una o más clases alternativas. Se conoce también como subclase. descendant type ( tipo descendiente ). Véase derived class ( clase derivada ). Sinónimo de subclass y child class.

destructor ( destructor ). Un método (función miembro) que se invoca inme- diatamente antes de que se libere la memoria de un objeto. El destruc- tor anula los efectos del constructor y limpia la memoria utilizada por un objeto, se llama inmediatamente antes de que se destruya una ins- tancia de una clase. El nombre del destructor se forma precediendo el nombre de la clase con un carácter tilde (˜). class Animal { public: Animal(); // constructor ˜Animal(); // destructor };

En C++ todos los destructores de una jerarquía de herencia se llaman, no se heredan. También se define como una función que se ejecuta siempre que un objeto sale fuera de ámbito (ya no se necesita).

directory ( directorio ). Una estructura en un disco que puede contener archivos u otros directorios; también se denomina carpeta.

dot notation ( notación punto ). La notación objeto.función (parámetros) se utiliza para invocar una función miembro en un objeto.

doubly linked list ( lista doblemente enlazada ). Una lista enlazada en la que cada lista tiene un puntero a los dos enlaces anterior y posterior.

dynamic binding ( ligadura dinámica ). Sinónimo de late binding ( ligadu- ra tardía ). Selección de una función específica en función de su llama- da, dependiendo del tipo exacto del objeto que se invoca en la función cuando se ejecuta el programa.

dynamic memory allocation ( asignación dinámica de memoria ). Proceso de asignar memoria del área de memoria disponible durante la ejecu- ción. Asignación de memoria durante la ejecución de un programa a medida que se necesita.

early binding ( ligadura temprana ). Véase binding time ( tiempo de liga- dura ). Resolución de llamadas a funciones en tiempo de compilación.

ejecutable file ( archivo ejecutable ). El archivo que contiene las instruccio- nes de máquina del programa.

encapsulation ( encapsulamiento, encapsulación ). Proceso de combinar datos ( características ) y los métodos ( comportamientos ) que manejan esos datos en un único objeto. El encapsulamiento se realiza en C++ uti- lizando la clase ( class ) junto con el control de acceso ofrecido por las palabras reservadas public, protected y private. Encapsulamiento es sinónimo de ocultación de la información.

end of file ( final de archivo ). Condición que es verdadera cuando se han leído todos los caracteres de un archivo. Obsérvese que no hay ningún carácter especial de final de archivo. Cuando se compone un archivo del teclado se puede necesitar escribir un carácter especial para indicar al sistema operativo el final del archivo, pero el carácter no es parte del archivo.

enum. Tipo de dato enumeración que proporciona identificadores nemotéc- nicos a un conjunto de constantes enteros.

enumerated type ( tipo enumerado ). Un tipo con un número finito de valo- res, cada uno de los cuales tiene su propio nombre simbólico. escape character ( carácter escape ). Un carácter de texto que no se toma literalmente pero tiene un significado especial cuando se combina el carácter o caracteres que lo consigue. El carácter \ es un carácter de escape en cadenas C++.

682 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

exception ( excepción ). Situación en la que un programa encuentra una situación anormal para la que no fue diseñada. En C++ se puede trans- ferir el control (throw) a otra parte de un programa que está diseñada para tratar explícitamente con excepciones.

execution ( ejecución ). Proceso de ejecución de un programa.

explicit parameter ( parámetro explícito ). Un parámetro de una función miembro distinto del objeto que invoca a la función.

expression ( expresión ). Una construcción sintáctica que consta de constan- tes, variables, llamadas a funciones y operadores que los combinan.

extension ( extensión ). La última parte de un nombre de archivo, que espe- cifica el tipo de archivo. Por ejemplo, la extensión .cpp representa un archivo C++.

extraction operator ( operador de la extracción ). Operador >> que lee entrada de flujos.

Fibonacci numbers ( números de Fibonacci ). Secuencia de números 1, 1, 2, 3, 5, 8, 13, ... en la que cada término es la suma de sus dos predecesores.

file ( archivo ). Secuencia de bytes almacenados en un disco.

file pointer ( puntero de archivo ). Posición dentro de un archivo del siguien- te byte que se lee o escribe. Se puede mover de modo que se puede acceder a cualquier byte del archivo.

floating-point number ( número de coma/punto flotante ). Un número con una parte decimal.

folder. Carpeta. Véase Directory.

friend ( amiga ). En C++ se dice de las funciones amigas. Clase o función que tiene acceso a las secciones privadas de otra clase.

friend function ( función amiga ) (C++). Una función que permite acceder a los miembros privados o protegidos de una clase. Una amiga puede ser una función o una clase.

function ( función ). Secuencia de sentencias que se pueden invocar múlti- ples veces, con diferentes valores de sus parámetros. Es un módulo independiente que puede tener entrada, salida o ambas.

function member ( miembro función o función miembro ). Véase method.

garbage collection ( recolección de basura ). Componente de un sistema para realizar administración automática de almacenamiento, que está relacionada específicamente con la detección y recuperación de áreas de almacenamiento de memoria que no son accesibles, y por consiguiente, sin candidatos para colección y reutilización.

generic class ( clase genérica ). Sinónimo de tipo parametrizado o plantilla de clase ( parametrized type ).

genericity ( genericidad ). Técnica para definir componentes software que tienen más de una interpretación, dependiendo de los parámetros que representan tipos diferentes. global variable ( variable global ). Variable cuyo ámbito de actuación no se restringe a una sola función.

goto statement ( sentencia goto). Sentencia que transfiere el control a una sentencia distinta que está etiquetada con una etiqueta. No se reco- mienda su uso, excepto en casos excepcionales. header file ( archivo de cabecera ). Archivo que contiene prototipos de fun- ciones incorporadas de C++. Archivo que informa al compilador de las características que están disponibles en otro módulo o biblioteca.

heap ( montículo ). Espacio de memoria que se reserva para asignarse poste- riormente cuando se ejecuta el programa. hierarchy ( jerarquía ). Conjunto de clases derivadas de clases base que se pueden disponer en estructuras tipo árbol con la clase base raíz (super- clase) en la parte superior del árbol.

identifier ( identificador ). Nombre que se da a un objeto variable o cons- tante.

#if directive ( directiva #if). Una directiva o instrucción al compilador que incluya el código contenido entre la directiva #if y su correspondiente #endif, siempre que una determinada condición sea verdadera.

implicit parameter ( parámetro implícito ). Objeto que llama a una función miembro. Por ejemplo, en la llamada x.f(y), el objeto x es el pará- metro implícito de f.

#include directive ( directiva #include). Instrucción al preprocesador que le indica ha de incluir un archivo de cabecera.

information hiding ( ocultación de la información ). Véase encapsulation. Principio por el que los usuarios de un componente software (tal como una clase) necesitan conocer sólo los detalles esenciales de cómo ini- cializar y acceder al componente, y no necesita conocer los detalles de la implementación. inheritance ( herencia ). Mecanismo mediante el cual nuevas clases se defi- nen a partir de otras clases existentes. Las subclases (clases derivadas) de una clase heredan todas las operaciones (función miembro) de su clase ascendiente (padre). En C++, una clase derivada hereda de una o más clases base. Relación «es-un» (generalización/especialización)

GLOSARIO 683

manipulator ( manipulador ). Un valor utilizado por un programa para infor- mar al flujo que modifique uno de sus modos.

member ( miembro ). Una parte de una variable estructura o clase que con- tiene un tipo específico de datos o una función que actúe sobre esos datos.

member function ( función miembro ). Una función definida dentro de una clase o estructura. Se utilizan para implementar diferentes operaciones sobre el objeto. En C++ es sinónimo de método. Función que está defi- nida en una clase y opera sobre objetos de esa clase. Se denominan métodos u operaciones en otros lenguajes de programación.

merge sort ( ordenación por fusión ). Algoritmo de ordenación que prime- ro ordena dos mitades del array (o lista) y a continuación mezcla o fusiona juntos los dos subarrays ordenados.

message ( mensaje ). Proceso de invocar una operación sobre un objeto. En respuesta a un mensaje, el método correspondiente se ejecuta en el obje- to. Un mensaje es el nombre de un método pasado a una instancia de un tipo objeto. Cuando se envía un mensaje a una instancia de un objeto se llama a uno de sus métodos. Para enviar un mensaje a una instancia de un objeto se especifica el objeto y el método que se debe invocar. Por ejemplo, si UnTipo es una instancia de un objeto e Iniciar es un méto- do, la sentencia siguiente envía un mensaje Iniciar al objeto. En C++: UnTipo.Iniciar;

method ( método ). En Smalltalk, una operación sobre un objeto. Es similar a una función miembro en C++. Los métodos son implementaciones de las operaciones relevantes a una clase de objetos. Los métodos se invo- can en respuesta a mensajes.

module ( módulo ). En C++, un archivo fuente que representa una unidad de programa. También en resto entero de una división. Una unidad de pro- grama que contiene clases y funciones relacionadas. C++ no tiene soporte explícito de módulos. Por convenio, cada módulo se almacena en un archivo fuente independiente

multiple inheritance ( herencia múltiple ). Mecanismo de herencia que per- mite a una clase heredar de más de una clase. Derivación de clases con más de una clase base o padre. En C++, la herencia múltiple permite que una clase se derive de un número variable (una o más) de clases base.

mutator function ( función mutante ). Función miembro que cambia es esta- do de un objeto.

nested block ( bloque anidado ). Un bloque (sentencia, bucle, función...) que está contenido dentro de otro bloque.

new. Un operador para asignación de espacio a un tipo en el montículo ( heap ) e inicialización del objeto en una operación. En C++, new se invoca con una llamada a un constructor: Circulo *UnCirculo = new Circulo (50, 50, 50); newline ( línea nueva ). Carácter ´\n´ que representa el final de una línea y el salto de escritura a la siguiente línea. new operator ( operador new). Operador que asigna memoria nueva del montículo ( heap ).

null pointer ( puntero nulo ). Valor que indica que un puntero no apunta a ningún objeto.

null string ( cadena nula ). Cadena vacía con un carácter inicial de cero nulo y con una longitud de cero. null zero ( cero nulo ). Carácter de terminación de la cadena. Todas las cons- tantes de cadena C++ y cadenas almacenadas en arrays de caracteres terminan en cero nulo. El valor ASCII del cero nulo es 0. object ( objeto ). Combinación de datos y colección de operaciones que actúan sobre los datos. En C++, una instancia de una clase (un tipo objeto). Valor de un tipo definido por el usuario. Se caracteriza por un estado (atributos) y un comportamiento (operaciones o funciones) object file ( archivo objeto ). Archivo que contiene instrucciones máquina de un módulo. Los archivos objeto deben combinarse con archivos de biblioteca mediante el enlazador para convertirse en archivos ejecuta- bles.

Object-oriented design ( diseño orientado a objetos ). Diseño de un progra- ma mediante la identificación de objetos, sus propiedades y sus relacio- nes. Se diferencia del diseño estructurado en que todos los elementos fundamentales son objetos.

Object-oriented programming ( programación orientada a objetos ). Un método o estilo de programación que utiliza objetos, especialmente con un lenguaje orientado a objetos, tales como C++.

Objective-C. Lenguaje orientado a objetos que combina C y Smalltalk. octal ( octal ). Sistema de numeración con ocho elementos base. Sus dígitos son: 0, 1, 2, 3, 4, 5, 6 y 7.

opening a file ( apertura de un archivo ). Preparación de un archivo para lec- tura o escritura.

operating system ( sistema operativo ). Software que permite ejecutar pro- gramas de aplicación y del sistema, y proporciona servicios (tales como sistemas de archivos) para esos programas.

GLOSARIO 685

operator ( operador ). Actúa sobre datos y realiza cálculos matemáticos o cambia datos a otros tipos de datos. Ejemplos de operadores son: +, -, *, sizeof(),and, or, etc. Símbolo que representa una operación lógica o matemática. operator associativity ( asociatividad de operadores ). Regla que gobierna o controla el orden en el que se ejecutan los operadores de la misma prioridad. Por ejemplo, el operador de C++ es asociativo por la izquier- da, lo que significa que a-b-c equivale a (a-b)-c, y el operador = es asociativo por la derecha, lo que significa que a=b=c equivale a a=(b=c).

operator precedence ( precedencia o prioridad de operadores ). Regla que gobierna o controla cuál es el operador que se evalúa en primer lugar. Por ejemplo, en C++, el operador and tiene una precedencia ( prioridad ) más alta que el operador or. Por consiguiente, a or b and c equivale a a or (b and c).

order of operators ( orden de operadores). Denominada jerarquía de ope- radores o precedencia de operadores , determina exactamente cómo cal- cula C++ fórmulas.

overloading ( sobrecarga ). Proceso de escribir más de una función u opera- dor con el mismo nombre. Las funciones deben diferir en su lista de argumentos de modo que C++ pueda identificarlas con una llamada. Propiedad que permite dar más de un significado o tarea a un operador o a un nombre de función.

override ( anular, ignorar, redefinir ). Reimplantar, redefinir. Se utiliza para describir la reimplementación de los métodos en tipos objeto.

parameter ( parámetro ). Lista de variables encerradas entre paréntesis que siguen al nombre de una función o un procedimiento. Los parámetros indican el número y el tipo de argumentos que se envían a la función o procedimiento. Argumentos de una función que se declaran en la cabe- cera de la función y cuyos valores se establecen cuando se llama a la función. Por ejemplo, en la función float demo(int n, float x), n y x son parámetros.

parameter passing ( paso de parámetros ). Uso de expresiones para inicia- lizar las variables parámetro de una función cuando ésta se invoca. parameter value ( valor del parámetro ). Expresión que se proporciona a un parámetro cuando se llama a una función.

parametrized type ( tipo parametrizado ). Una definición de una clase que depende de uno o más parámetros. Con tipos parametrizado se puede definir una nueva clase estableciendo los parámetros en una única defi- nición parametrizada. Las nuevas versiones de C++ incorporan la pala-

bra reservada template, que soporta tipos de datos parametrizados. El término es sinónimo de clase genérica y plantilla. parent class ( clase padre ). En una jerarquía de clases con herencia, una clase padre es cualquier clase a partir de la cual se deriva otra clase. passing by address ( paso por dirección ). Un argumento (variable local) se pasa por dirección cuando la dirección de la variable en memoria se envía y se asigna a la lista de parámetros de la función receptora. Si se hace un cambio en un parámetro de la función, también se cambia el valor de la variable del argumento. passing by copy ( paso por copia ). Sinónimo de passing by value. passing by reference ( paso por referencia ). Mecanismo de llamada a una función que pasa argumentos a una función, pasando una copia de cada valor del argumento. (En C++ significa igual que paso por dirección.) passing by value ( paso por valor ). Mecanismo de llamada a una función que pasa argumentos a una función, pasando una copia de cada valor del argumento. Por defecto, todas las variables argumento se pasan por valor. Sinónimo de passing by copy.

path ( camino, ruta de acceso ). Ruta que se recorre desde el directorio raíz a un subdirectorio específico cuando se trata de localizar un archivo.

persistence ( persistencia ). Propiedad de un objeto que le permite «sobre- vivir» (perdurar) en la ejecución de un programa; en esencia, los datos permanecen durante la ejecución del programa y salen entre ejecuciones de un programa. Todas las bases de datos soportan per- sistencia.

pointer ( puntero, apuntador ). Variable que contiene la dirección de otra variable. Valor que representa la dirección o posición de memoria de un objeto.

polymorphism ( polimorfismo ). En griego significa «múltiples formas». Propiedad por la cual la misma operación puede tener efectos diferen- tes sobre clases diferentes. El polimorfismo se refiere, generalmente, al proceso por el cual C++ decide cuál es la función que ha de llamar durante la ejecución. En C++ el polimorfismo se soporta a través de funciones virtuales y ligadura dinámica. Propiedad que permite selec- cionar una función entre varias funciones con el mismo nombre, mediante la comparación de los tipos de parámetros reales.

postfix operator ( operador postfijo ). Operador unitario que se escribe detrás de su argumento. precondition ( precondición ). Condición que debe ser verdadera ( cierta ) cuando se llama una función.

686 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

reusability ( reusabilidad, reutilizabilidad ). Capacidad de utilizar módulos de software bien diseñados que han sido comprobados en diferentes lugares, en diferentes aplicaciones, de modo que minimizan el desarro- llo del nuevo código. Los lenguajes orientados a objetos utilizan heren- cia como mecanismos de reusabilidad.

roundoft error ( error de redondeo ). Error introducido por el hecho de que la computadora puede almacenar sólo un número finito de dígitos de un número de coma flotante.

run-time error ( error en tiempo de ejecución ). Véase logic error.

run-time stack ( pila de tiempo de ejecución ). Estructura de datos que alma- cena las variables locales y devuelve direcciones de las funciones cuan- do se ejecuta un programa

scientific notation ( notación científica ). Método de representación de números muy grandes o muy pequeños.

scope ( ámbito, alcance ). Duración y accesibilidad de una variable. Define las partes de un programa que pueden acceder a variables específicas. En C++, una sección del código fuente en que se puede utilizar un iden- tificador. En C++ los nombres pueden tener ámbito local, ámbito de archivo o ámbito de clase. Por ejemplo, una variable declarada dentro de una función es local por defecto y sólo se puede acceder por el códi- go interior a la función. Parte de un programa en la que se define un programa. Visibilidad, disponibilidad y vida de un objeto dentro de un programa. Existen seis tipos diferentes de ámbitos: global, local, class, función, namespace y archivo.

selection sort ( ordenación por selección ). Algoritmo de ordenación en el que el elemento más pequeño se encuentra repetidamente y se elimina hasta que no queda ningún elemento.

sentinel ( centinela ). Valor de entrada de datos que no se utiliza como valor de entrada real pero que, sin embargo, señala el final de la entrada.

separate compilation ( compilación separada ). Compilación independien- te de cada archivo fuente y combinación posterior de los archivos obje- tos en un archivo ejecutable.

sequential access ( acceso secuencial ). Acceso a valores de modo secuen- cial (uno a continuación de otro sin saltarse ninguno).

sequential file ( archivo secuencial ). Archivo al que se accede registro a registro.

server ( servidor ). Un objeto que proporciona servicios que se utilizan por otros objetos. Los objetos que utilizan los servicios son clientes.

Shell ( Shell, caparazón ). Parte de un sistema operativo en el que el usua- rio teclea (escribe) órdenes para ejecutar programas y manipular archivos. side effect ( efecto lateral ). Efecto de una función distinto al típico de devo- lución de un valor. simple statement ( sentencia simple ). Sentencia que consta sólo de una expresión (una única sentencia).

single inheritance ( herencia simple ). Tipo de herencia en el que una clase sólo se puede heredar de otra clase, es decir, las clases sólo tienen una clase base. Smalltalk Lenguaje orientado a objetos. Contiene un entorno integrado de desarrollo de software que incluye la posibilidad de visualizar múltiples ventanas y ojear (navegar) a través de las clases. source code ( código fuente ). Instrucciones de un programa escritas en un lenguaje de programación, tal como C++. source file ( archivo fuente ). Archivo que contiene instrucciones en un len- guaje de programación, tal como C, C++ o Java. stack ( pila ). Estructura de datos en la que los elementos de la misma sólo se pueden añadir y eliminar por una determinada posición, denominada cima de la pila.

state ( estado ). Valores de los atributos internos de un objeto. statement ( sentencia ). Unidad sintáctica de un programa. En C++, una sen- tencia puede ser: una sentencia simple o una sentencia compuesta. static binding ( ligadura estática ). Tipo de ligadura que asocia, en tiempo de compilación, un nombre a una función con el código que se ejecuta cuando se llama a esa función. Contrasta con ligadura dinámica , en la que dicha asociación se produce durante la ejecución de un programa. Selección de la función específica que se llama y que depende del tipo de objeto que invoca a la función y que se conoce cuando se compila el programa. Es el tipo de ligadura clásica de Pascal, C, FORTRAN, etc. C++ posee también ligadura dinámica (enlace en tiempo de ejecución). static data member ( miembro dato estático ). Un miembro que existe sólo una vez, con independencia de cuántas variables de clase se definan. static keyword ( palabra clave static). Palabra clave de C++ que tiene varios significados no relacionados: representa variables locales que no se asignan en la pila; variables globales o funciones que son priva- das a un módulo; variables de clase que se comparten entre todos los objetos de una clase o funciones miembro que no tienen un parámetro implícito.

688 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

static member function ( función miembro estática ). Función que tiene acceso sólo a miembros dato estáticos de una clase.

static method ( método estático ). Método resuelto por el compilador en tiempo de compilación. Véase early binding.

static variable ( variable estática ). Variable que no pierde su valor cuando se termina el bloque en el que está definida.

stepwise refinement ( refinamiento paso a paso ). Resolución de un proble- ma mediante la ruptura o división sucesiva en problemas más pequeños y resolución posterior de los mismos.

storage class ( clase de almacenamiento ). En C++, propiedad de un obje- to que determina cuánto tiempo permanece disponible en el programa el almacenamiento de un objeto. Las palabras reservadas auto, register, static y extern especifican la clase de almacenamiento de un objeto.

stream ( flujo ). Literalmente, flujo de caracteres (uno a continuación de otro) fluyendo entre dispositivos de una computadora. Abstracción de una secuencia de bytes a partir de los cuales se pueden leer los datos o en los cuales se pueden escribir los datos.

string ( cadena ). Uno o más caracteres terminados con un carácter nulo. Secuencia de caracteres.

string constant ( constante cadena ). Uno o más grupos de caracteres que terminan en un cero nulo.

string literal ( literal de cadena ). Otro nombre de constante de cadena.

structure ( estructura ). Unidad o entidad de información relacionada que contiene uno o más miembros, tales como número de carnet de identi- dad, nombre de un estudiante, precio de la matrícula, etc. Declaración definida por el usuario que encapsula miembros dato y funciones miem- bro u operaciones.

structured programming ( programación estructurada ). Metodología de desarrollo de software que utiliza descomposición funcional y un enfo- que de diseño descendente para desarrollar software tradicional; técni- cas de programación tradicional de rotura de una tarea en subtareas modulares.

subclass ( subclase ). Clase que sirve como clase base para otra clase. Una superclase proporciona el comportamiento y atributos de clases deriva- das de ella por el mecanismo de la herencia. Sinónimo de clase base o tipo ascendente.

syntax ( sintaxis ). Reglas que definen cómo se forman las instrucciones de un lenguaje de programación específico.

syntax error ( error de sintaxis ). Un error que se produce cuando una ins- trucción (sentencia) no sigue las reglas del lenguaje de programación y es rechazada por el compilador. tab character ( carácter tabulación ). Carácter ´\t´ que avanza al siguiente carácter de la línea de una serie de posiciones fijas y predefinidas cono- cidas como posiciones de tabulación. template ( plantilla, patrón ). Modelos de clase a partir de las cuales se pue- den generar otras clases. ternary operator ( operador ternario ). Un operador con tres argumentos. C++ tiene un operador ternario a? b : c. text file ( archivo de texto ). Archivo en el que los valores se almacenan en su representación de texto. this. En C++, un puntero al objeto actual. Se puede utilizar en funciones miembro para referirse a la instancia real de la clase. type extensibility ( extensibilidad de tipo ). Derivar nuevos tipos (a través de la herencia) y añadir o modificar comportamientos y características para adecuar sus necesidades. typecast ( conversión, moldes de tipos ). Conversión temporal de un objeto a otro tipo de dato. unary operator ( operador unitario ). Operador de suma o resta utilizado antes de una variable o constante. Operador con un único argumento. uninitialized variable ( variable no inicializada ). Variable que no se ha fija- do a un valor específico. union ( unión ). Tipo de dato similar a estructura, con la restricción de que una unión puede contener sólo uno de sus miembros en cualquier ins- tante dado. user-defined type ( tipo definido por el usuario ). Estructura que contiene las características y comportamiento del tipo. En C++, un tipo definido por un usuario es una clase. El compilador lo trata como un tipo integrado. value parameter ( parámetro valor ). Un parámetro de una función cuyo valor se copia en una variable parámetro de una función. Si una varia- ble se pasa como parámetro valor, los cambios que se hacen al paráme- tro dentro de la función no afectan a la variable original fuera del pro- grama. variable. Posición de almacenamiento que puede contener diferentes valo- res. variable scope ( ámbito o alcance de una variable ). Zona en la que «exis- te» una variable en su programa.

GLOSARIO 689