You are on page 1of 12

APÉNDICE H

GLOSARIO

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

binary operator (operador binario). Un operador que acepta dos argu- mienta utilizada para examinar las clases ya definidas como parte de la
mentos; por ejemplo, + (x+y). jerarquía de clases, es decir, inspeccionar jerarquías de clases.
binary search (búsqueda binaria). Un algoritmo rápido y eficiente para buffered input (entrada por búfer). Entrada que se reúne en lotes (batches),
encontrar un valor en un array ordenado. Reduce la búsqueda a la mitad por ejemplo, una línea cada vez.
del tamaño de cada array en cada etapa del algoritmo.
built in type (tipo integrado). Un tipo (tal como double o char) incluido
binary search tree (árbol binario de búsqueda). Un árbol binario en el que en un lenguaje. El compilador conoce cómo manejarlo y no tiene que
cada subárbol tiene la propiedad de que todos sus descendientes son aprender en cada momento si se encuentra una instancia.
más pequeños que el valor almacenado en el raíz y todos los descen-
byte (byte, octeto). Un número entre 0 y 255 (ocho bits). Normalmente
dientes derechos son mayores.
todas las computadoras que se fabrican en la actualidad utilizan un byte
binary tree (árbol binario). Un árbol en el que cada nodo tiene como máxi- como la unidad más pequeña de almacenamiento en memoria.
mo dos nodos hijos.
C++. Un lenguaje popular de OO; una instancia del lenguaje C.
binding (ligadura). Proceso por el cual un nombre o una expresión se aso-
call by reference (llamada por referencia). Un mecanismo de llamada a una
cia con un atributo, tal como una variable y el tipo de valor que la varia-
función que pasa argumentos a una función mediante el paso de la
ble puede contener.
dirección de cada argumento en lugar de su valor.
binding time (tiempo de ligadura). Momento o tiempo en el que tiene lugar
call by value (llamada por valor). Un mecanismo de llamada a una función
una ligadura. Ligadura temprana o estática (early binding) generalmen-
que pasa argumentos a una función mediante el paso de una copia de
te se refiere a la ligadura realizada en tiempo de compilación, mientras
cada valor del argumento.
que la ligadura dinámica o tardía (late o dynamic binding) se refiere a
la ligadura realizada en tiempo de ejecución. call stack (pila de llamadas). Conjunto de funciones que se han llamado
realmente pero que no se han terminado comenzando con la función
bit (bit). Dígito binario; la unidad más pequeña de información, que tiene actual y terminando con main.
dos valores posibles, 0 y 1. Un elemento dato que consta de n bits tiene
2n valores posibles. care-sentitive (sensible a mayúsculas). Diferencia o distingue entre letras
mayúsculas y minúsculas. Este concepto es importante para los editores
black box testing (prueba de la caja negra). Prueba de funciones sin cono- y compiladores de lenguaje que permite diferenciar en identificadores
cimiento de su implementación. tales como Palabra, palabra, PALABRA.
block. Un grupo de sentencias encerradas entre llaves {}. cast (conversión de tipos, moldear). Conversión de un valor de un tipo a un
boolean operator. Véase logical operator. 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.
boolean type. Un tipo de dato que sólo tiene dos valores, true (verdadero)
cfront. Traductor de AT&T C++.
y false (falso).
character (carácter). Elemento básico utilizado por una computadora tal
bounds error (error de límites). Intento de acceder a un elemento de un como *, /, ¿, A, B, C, a, b, c, ...
array que está fuera del rango o intervalo legal (válido).
child class (clase hija). Una clase que se define como una extensión de otra
break statement (sentencia break). Una sentencia que termina inmediata- clase que se denomina clase padre. Sinónimo de subclase (subclass) y
mente un bucle o una sentencia switch. clase derivada (derived class).
breakpoint (punto de ruptura). Un punto o posición de un programa, espe- class (clase). Tipo definido por el usuario en C++. Grupo de objetos que
cificado en un depurador, en el que se detiene la ejecución del progra- comparten las mismas propiedades y relaciones. En C++, una clase se
ma y permite al usuario inspeccionar el estado del programa. puede utilizar para definir un nuevo tipo de dato.
browser (hojeador, navegador). Una herramienta de software que simplifi- class container (contenedor/recipiente de una clase). Una clase que alma-
ca el examen de código asociado con un sistema software. Es una herra- cena una colección de otros objetos y proporciona un medio para iterar
sobre la colección.
GLOSARIO 681

class method (método de una clase) (C++). Un método que pertenece a la constructor (constructor) (C++). Una función miembro (método) con el
clase. mismo nombre de una clase en la que está definida. Un constructor se
invoca para inicializar nuevas instancias de la clase.
class variable (variable de una clase). Una instancia de una clase.
En C++ un constructor tiene el mismo nombre que su clase.
client (cliente). Un objeto o clase que utiliza los servicios de otro objeto o class Text {
clase. El objeto (clase) que proporciona el servicio es el servidor (ser- public:
ver). Text(); // constructor
code (código). Conjunto de instrucciones escritas en un lenguaje de progra- };
mación. Véase source code (código fuente). En C++ el compilador llama a un constructor por defecto siempre que
cohesion (cohesión). Grado en el que los componentes de un sistema soft- se define una instancia de una clase. Un tipo definido por el usuario
ware, tal como los miembros de una clase simple, se conectan juntos. (clase) puede tener más de un constructor, pero ninguno puede ser
Contrasta con acoplamiento (coupling). visual.
collection classes. Véase container classes (recipientes o contenedores de constructor function (función constructor). La función miembro ejecutada
clases). cuando el programa declara una instancia de una clase.
command line (línea de órdenes). La línea que se escribe cuando se inicia container class (clase recipiente o contenedora). Clases utilizadas como
un programa en una ventana de órdenes en Windows o Unix. Consta del estructuras de datos que pueden contener un número de elementos.
nombre del programa y los argumentos de la línea de órdenes. copy constructor (constructor de copia). Una función que inicializa un
comment (comentario). Una explicación para que el lector de un programa objeto como una copia de otro objeto.
entienda un segmento o una línea de código de un programa fuente. No
coupling (acoplamiento). Grado en el que los componentes independientes
tiene influencia en la compilación del programa.
de un software se conectan. Contrasta con cohesión (cohesion).
compile (compilar). Convertir un archivo en código fuente (programa) en
un archivo objeto que contiene instrucciones en lenguaje máquina. CPU (Central Processing Unit). La parte de una computadora que ejecuta
las instrucciones de máquina.
compiler (compilador). Un programa que traduce código en un lenguaje de
alto nivel como C++ a instrucciones en códigos máquina. data field (campo de datos). Una variable que está presente en cada objeto
de una clase.
compile-time error. Véase Syntax error.
data hiding (ocultación de datos). Ocultación de datos a los usuarios de una
composition (composición). Inclusión de tipos objetos definidos por el clase. Los miembros private de una clase (class) o una estructura
usuario como partes de otros tipos de objetos, en un sentido opuesto a (struct), constituyen la parte oculta de una clase y su acceso está limi-
la derivación (herencia). tado a las funciones de la clase.
compound statement (sentencia compuesta). Una sentencia tal como if o data member (miembro dato) (C++.) Véase instance variable (variable de
for que está constituida por varias sentencias simples o varias partes, instancia). Características de un tipo. Un componente dato de una clase
tales como condición, cuerpo, etc. También es una sentencia compues- o una estructura.
ta, el conjunto de sentencias encerradas entre llaves ({...}).
dangling pointer (puntero descolgado). Un puntero que no apunta a una
concatenation (concatenación). Situar una cadena detrás de otra. posición válida.
concurrency (concurrencia). Acción de objetos diferentes que actúan debugger (depurador). Un programa que permite a un usuario ejecutar otro
simultáneamente. programa paso a paso, detener su ejecución e inspeccionar las variables
con el objetivo de analizarle para detectar y corregir errores.
constant (constante). Un valor que no puede ser cambiado por el programa.
debugging (depuración). Proceso de localizar un error (bug) en un progra-
construction (construcción). Asignar a un objeto nuevo un valor inicial. ma y su eliminación posterior.
682 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

declaration (declaración). Una sentencia que anuncia la existencia de una directory (directorio). Una estructura en un disco que puede contener
variable, función o clase pero no la define. Especifica un nombre y tipo archivos u otros directorios; también se denomina carpeta.
de identificador.
dot notation (notación punto). La notación objeto.función (parámetros) se
default constructor (constructor por defecto). Un constructor que se puede utiliza para invocar una función miembro en un objeto.
invocar sin parámetros.
doubly linked list (lista doblemente enlazada). Una lista enlazada en la que
#define directive (directiva #define). Una directiva que define valores cada lista tiene un puntero a los dos enlaces anterior y posterior.
constantes y macros para el preprocesador. Los valores pueden ser con-
sultados durante la fase de preprocesado con las directivas #if e dynamic binding (ligadura dinámica). Sinónimo de late binding (ligadu-
#ifdef. Las macros se reemplazan por el preprocesador cuando se ra tardía). Selección de una función específica en función de su llama-
encuentran en el archivo del programa. da, dependiendo del tipo exacto del objeto que se invoca en la función
cuando se ejecuta el 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 dynamic memory allocation (asignación dinámica de memoria). Proceso
una clase y sus propiedades. Es una declaración que asigna memoria. 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
delete operator (operador delete). Es el operador que recicla la memo- medida que se necesita.
ria en el montículo (heap).
early binding (ligadura temprana). Véase binding time (tiempo de liga-
dereferencing (indirección). Localización de un objeto si se proporciona un dura). Resolución de llamadas a funciones en tiempo de compilación.
puntero al objeto.
derived class (clase derivada). Una clase que se define como una extensión ejecutable file (archivo ejecutable). El archivo que contiene las instruccio-
o una subclase de otra clase, denominada clase base. Sinónimo de des- nes de máquina del programa.
cendant type (tipo descendiente), subclases (subclase) y child class encapsulation (encapsulamiento, encapsulación). Proceso de combinar
(clase hija). Una clase que modifica una clase base añadiendo campos datos (características) y los métodos (comportamientos) que manejan
dato o funciones miembro o redefiniendo funciones miembro. Es una esos datos en un único objeto. El encapsulamiento se realiza en C++ uti-
clase que hereda de una o más clases alternativas. Se conoce también lizando la clase (class) junto con el control de acceso ofrecido por las
como subclase. palabras reservadas public, protected y private. Encapsulamiento
descendant type (tipo descendiente). Véase derived class (clase derivada). es sinónimo de ocultación de la información.
Sinónimo de subclass y child class. end of file (final de archivo). Condición que es verdadera cuando se han
destructor (destructor). Un método (función miembro) que se invoca inme- leído todos los caracteres de un archivo. Obsérvese que no hay ningún
diatamente antes de que se libere la memoria de un objeto. El destruc- carácter especial de final de archivo. Cuando se compone un archivo del
tor anula los efectos del constructor y limpia la memoria utilizada por teclado se puede necesitar escribir un carácter especial para indicar al
un objeto, se llama inmediatamente antes de que se destruya una ins- sistema operativo el final del archivo, pero el carácter no es parte del
tancia de una clase. El nombre del destructor se forma precediendo el archivo.
nombre de la clase con un carácter tilde (˜). enum. Tipo de dato enumeración que proporciona identificadores nemotéc-
class Animal { nicos a un conjunto de constantes enteros.
public:
Animal(); // constructor enumerated type (tipo enumerado). Un tipo con un número finito de valo-
˜Animal(); // destructor 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
En C++ todos los destructores de una jerarquía de herencia se llaman, literalmente pero tiene un significado especial cuando se combina el
no se heredan. También se define como una función que se ejecuta carácter o caracteres que lo consigue. El carácter \ es un carácter de
siempre que un objeto sale fuera de ámbito (ya no se necesita). escape en cadenas C++.
GLOSARIO 683

exception (excepción). Situación en la que un programa encuentra una generic class (clase genérica). Sinónimo de tipo parametrizado o plantilla
situación anormal para la que no fue diseñada. En C++ se puede trans- de clase (parametrized type).
ferir el control (throw) a otra parte de un programa que está diseñada
para tratar explícitamente con excepciones. genericity (genericidad). Técnica para definir componentes software
que tienen más de una interpretación, dependiendo de los parámetros que
execution (ejecución). Proceso de ejecución de un programa. representan tipos diferentes.
explicit parameter (parámetro explícito). Un parámetro de una función global variable (variable global). Variable cuyo ámbito de actuación no se
miembro distinto del objeto que invoca a la función. restringe a una sola función.
expression (expresión). Una construcción sintáctica que consta de constan- goto statement (sentencia goto). Sentencia que transfiere el control a una
tes, variables, llamadas a funciones y operadores que los combinan. sentencia distinta que está etiquetada con una etiqueta. No se reco-
extension (extensión). La última parte de un nombre de archivo, que espe- mienda su uso, excepto en casos excepcionales.
cifica el tipo de archivo. Por ejemplo, la extensión .cpp representa un header file (archivo de cabecera). Archivo que contiene prototipos de fun-
archivo C++. ciones incorporadas de C++. Archivo que informa al compilador de las
extraction operator (operador de la extracción). Operador >> que lee características que están disponibles en otro módulo o biblioteca.
entrada de flujos. heap (montículo). Espacio de memoria que se reserva para asignarse poste-
Fibonacci numbers (números de Fibonacci). Secuencia de números 1, 1, 2, 3, riormente cuando se ejecuta el programa.
5, 8, 13, ... en la que cada término es la suma de sus dos predecesores.
hierarchy (jerarquía). Conjunto de clases derivadas de clases base que se
file (archivo). Secuencia de bytes almacenados en un disco. pueden disponer en estructuras tipo árbol con la clase base raíz (super-
clase) en la parte superior del árbol.
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 identifier (identificador). Nombre que se da a un objeto variable o cons-
acceder a cualquier byte del archivo. tante.
floating-point number (número de coma/punto flotante). Un número con #if directive (directiva #if). Una directiva o instrucción al compilador que
una parte decimal. incluya el código contenido entre la directiva #if y su correspondiente
#endif, siempre que una determinada condición sea verdadera.
folder. Carpeta. Véase Directory.
implicit parameter (parámetro implícito). Objeto que llama a una función
friend (amiga). En C++ se dice de las funciones amigas. Clase o función
miembro. Por ejemplo, en la llamada x.f(y), el objeto x es el pará-
que tiene acceso a las secciones privadas de otra clase.
metro implícito de f.
friend function (función amiga) (C++). Una función que permite acceder a
#include directive (directiva #include). Instrucción al preprocesador que
los miembros privados o protegidos de una clase. Una amiga puede ser
le indica ha de incluir un archivo de cabecera.
una función o una clase.
information hiding (ocultación de la información). Véase encapsulation.
function (función). Secuencia de sentencias que se pueden invocar múlti-
Principio por el que los usuarios de un componente software (tal como
ples veces, con diferentes valores de sus parámetros. Es un módulo
una clase) necesitan conocer sólo los detalles esenciales de cómo ini-
independiente que puede tener entrada, salida o ambas.
cializar y acceder al componente, y no necesita conocer los detalles de
function member (miembro función o función miembro). Véase method. la implementación.
garbage collection (recolección de basura). Componente de un sistema inheritance (herencia). Mecanismo mediante el cual nuevas clases se defi-
para realizar administración automática de almacenamiento, que está nen a partir de otras clases existentes. Las subclases (clases derivadas)
relacionada específicamente con la detección y recuperación de áreas de de una clase heredan todas las operaciones (función miembro) de su
almacenamiento de memoria que no son accesibles, y por consiguiente, clase ascendiente (padre). En C++, una clase derivada hereda de una o
sin candidatos para colección y reutilización. más clases base. Relación «es-un» (generalización/especialización)
684 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

entre una clase base general y una clase derivada especializada. Jerar- linear search (búsqueda lineal). Búsqueda de un elemento en un contene-
quía entre clases. dor (tal como un array, lista o vector) en la que se busca cada elemento
en un orden secuencial.
initialization (inicialización). Asignar un valor específico a una variable o
instancia de un tipo. Establecer una variable a un valor bien definido en link (enlazar). Enlace es el proceso de cambiar archivos objetos en un único
el momento de su creación. archivo ejecutable.
initialization list (lista de inicialización). Lista de inicialización de miem- linked list (lista enlazada). Estructura de datos que puede contener un
bros dato, separados por comas, que preceden al cuerpo de la función número arbitrario de objetos, cada uno de los cuales se almacena en
constructor. un objeto de enlace, que contiene un puntero al siguiente enlace.
inline function (función inline en línea). Una función que se compila como linker (enlazador). Programa que combina archivos de biblioteca y objetos
código de línea (inline) cada vez que se llama a la función. en un archivo ejecutable.
instance (instancia, ejemplar). Un objeto definido por una clase. Es un obje- local variable (variable local). Variable cuyo ámbito es un bloque único.
to con valores definidos. Se suele conocer como sinónimo de objeto. logic error (error lógico). Error en un programa sintácticamente correcto
instance variables (variables de instancia). Variables que representan el que origina actúe de forma diferente de su especificación.
estado interno de un objeto. logical operator (operador lógico). Operador que se puede aplicar a valo-
instantiation (instanciación). Proceso de creación de un objeto a partir de res boolean. C++ tiene tres operadores lógicos: and, or y not.
una definición de una clase. Cuando se define una variable de clase, se loop (bucle). Secuencia de sentencias o instrucciones que se ejecutan repe-
instancia la variable (se crea una instancia de la clase). tidamente (varias veces).
integer (entero). Un número sin parte decimal. loop invariant (invariante del bucle). Sentencia relativa al estado del pro-
integer division (división entera). Operación de dividir dos enteros despre- grama que se preserva cuando se ejecutan una vez las sentencias del
ciando el resto. En C++, el símbolo / representa la división entera entre bucle.
dos argumentos enteros. Por ejemplo, 14/5 es 2 y no 2.8. machine code (código máquina). Instrucciones que pueden ser ejecutadas
interface (interfaz). En C++, la declaración de clases. Describe lo que hace directamente por la CPU.
un tipo, mientras que la implementación describe cómo funciona el tipo. macro (macro). Mecanismo que sirve para reemplazar una orden con una
Conjunto de funciones que se pueden aplicar a objetos de un tipo dado. secuencia predefinida de otras órdenes.
iostream (iostream). En C++, una biblioteca de clases orientada a objetos magic number (número mágico). Número que aparece en un programa sin
para E/S. Disponible a partir de la versión AT&T C++ 2.0. explicación.
iterator (iterador) Un objeto que puede inspeccionar todos los elementos main function (función main). Función que se llama en primer lugar cuan-
de un contenedor tal como una lista enlazada. do se ejecuta un programa C++.
keyword (palabra clave). Palabra reservada tal como int, double o new. maintainability (mantenibilidad, facilidad de mantenimiento). Capacidad
Es una palabra cuya definición ya tiene el compilador. Una palabra de cambiar y actualizar programas escritos en un estilo normal.
clave (palabra reservada) no se puede utilizar como nombre del objeto
dato. Las palabras reservadas en C++ se escriben en minúsculas. La make (construir). Proceso combinado de compilación y enlace para gene-
lista de palabras reservadas en C++ se cita en el Apéndice A. rar un programa ejecutable.

late binding (ligadura tardía). Véase dynamic binding. Resolución de fun- make file (archivo make). Archivo que contiene directivas de cómo cons-
ciones en tiempo de ejecución. truir un programa mediante la compilación y ejecución de los archivos
que lo constituyen. Cuando se ejecuta el programa make, sólo son
library (biblioteca). Conjunto de funciones precompiladas que se pueden reconstruidos aquellos archivos fuente que son más recientes que sus
incluir en programas. correspondientes archivos objeto.
GLOSARIO 685

manipulator (manipulador). Un valor utilizado por un programa para infor- new. Un operador para asignación de espacio a un tipo en el montículo
mar al flujo que modifique uno de sus modos. (heap) e inicialización del objeto en una operación. En C++, new se
invoca con una llamada a un constructor: Circulo *UnCirculo =
member (miembro). Una parte de una variable estructura o clase que con-
new Circulo (50, 50, 50);
tiene un tipo específico de datos o una función que actúe sobre esos
datos. 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.
member function (función miembro). Una función definida dentro de una
clase o estructura. Se utilizan para implementar diferentes operaciones new operator (operador new). Operador que asigna memoria nueva del
sobre el objeto. En C++ es sinónimo de método. Función que está defi- montículo (heap).
nida en una clase y opera sobre objetos de esa clase. Se denominan
null pointer (puntero nulo). Valor que indica que un puntero no apunta a
métodos u operaciones en otros lenguajes de programación.
ningún objeto.
merge sort (ordenación por fusión). Algoritmo de ordenación que prime-
null string (cadena nula). Cadena vacía con un carácter inicial de cero nulo
ro ordena dos mitades del array (o lista) y a continuación mezcla o
y con una longitud de cero.
fusiona juntos los dos subarrays ordenados.
null zero (cero nulo). Carácter de terminación de la cadena. Todas las cons-
message (mensaje). Proceso de invocar una operación sobre un objeto. En tantes de cadena C++ y cadenas almacenadas en arrays de caracteres
respuesta a un mensaje, el método correspondiente se ejecuta en el obje- terminan en cero nulo. El valor ASCII del cero nulo es 0.
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 object (objeto). Combinación de datos y colección de operaciones que
llama a uno de sus métodos. Para enviar un mensaje a una instancia de actúan sobre los datos. En C++, una instancia de una clase (un tipo
un objeto se especifica el objeto y el método que se debe invocar. Por objeto). Valor de un tipo definido por el usuario. Se caracteriza por un
ejemplo, si UnTipo es una instancia de un objeto e Iniciar es un méto- estado (atributos) y un comportamiento (operaciones o funciones)
do, la sentencia siguiente envía un mensaje Iniciar al objeto. En C++:
UnTipo.Iniciar;
object file (archivo objeto). Archivo que contiene instrucciones máquina
de un módulo. Los archivos objeto deben combinarse con archivos de
method (método). En Smalltalk, una operación sobre un objeto. Es similar biblioteca mediante el enlazador para convertirse en archivos ejecuta-
a una función miembro en C++. Los métodos son implementaciones de bles.
las operaciones relevantes a una clase de objetos. Los métodos se invo-
Object-oriented design (diseño orientado a objetos). Diseño de un progra-
can en respuesta a mensajes.
ma mediante la identificación de objetos, sus propiedades y sus relacio-
module (módulo). En C++, un archivo fuente que representa una unidad de nes. Se diferencia del diseño estructurado en que todos los elementos
programa. También en resto entero de una división. Una unidad de pro- fundamentales son objetos.
grama que contiene clases y funciones relacionadas. C++ no tiene
Object-oriented programming (programación orientada a objetos). Un
soporte explícito de módulos. Por convenio, cada módulo se almacena
método o estilo de programación que utiliza objetos, especialmente con
en un archivo fuente independiente
un lenguaje orientado a objetos, tales como C++.
multiple inheritance (herencia múltiple). Mecanismo de herencia que per-
Objective-C. Lenguaje orientado a objetos que combina C y Smalltalk.
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 octal (octal) . Sistema de numeración con ocho elementos base. Sus dígitos
que una clase se derive de un número variable (una o más) de clases son: 0, 1, 2, 3, 4, 5, 6 y 7.
base.
opening a file (apertura de un archivo). Preparación de un archivo para lec-
mutator function (función mutante). Función miembro que cambia es esta- tura o escritura.
do de un objeto.
operating system (sistema operativo). Software que permite ejecutar pro-
nested block (bloque anidado). Un bloque (sentencia, bucle, función...) que gramas de aplicación y del sistema, y proporciona servicios (tales como
está contenido dentro de otro bloque. sistemas de archivos) para esos programas.
686 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

operator (operador). Actúa sobre datos y realiza cálculos matemáticos o bra reservada template, que soporta tipos de datos parametrizados. El
cambia datos a otros tipos de datos. Ejemplos de operadores son: +, -, término es sinónimo de clase genérica y plantilla.
*, sizeof(),and, or, etc. Símbolo que representa una operación
parent class (clase padre). En una jerarquía de clases con herencia, una
lógica o matemática.
clase padre es cualquier clase a partir de la cual se deriva otra clase.
operator associativity (asociatividad de operadores). Regla que gobierna passing by address (paso por dirección). Un argumento (variable local) se
o controla el orden en el que se ejecutan los operadores de la misma pasa por dirección cuando la dirección de la variable en memoria
prioridad. Por ejemplo, el operador de C++ es asociativo por la izquier- se envía y se asigna a la lista de parámetros de la función receptora. Si
da, lo que significa que a-b-c equivale a (a-b)-c, y el operador = es se hace un cambio en un parámetro de la función, también se cambia el
asociativo por la derecha, lo que significa que a=b=c equivale a valor de la variable del argumento.
a=(b=c).
passing by copy (paso por copia). Sinónimo de passing by value.
operator precedence (precedencia o prioridad de operadores). Regla que
gobierna o controla cuál es el operador que se evalúa en primer lugar. passing by reference (paso por referencia). Mecanismo de llamada a una
Por ejemplo, en C++, el operador and tiene una precedencia (prioridad) función que pasa argumentos a una función, pasando una copia de cada
más alta que el operador or. Por consiguiente, a or b and c equivale valor del argumento. (En C++ significa igual que paso por dirección.)
a a or (b and c). passing by value (paso por valor). Mecanismo de llamada a una función
order of operators (orden de operadores). Denominada jerarquía de ope- que pasa argumentos a una función, pasando una copia de cada valor del
radores o precedencia de operadores, determina exactamente cómo cal- argumento. Por defecto, todas las variables argumento se pasan por
cula C++ fórmulas. valor. Sinónimo de passing by copy.
overloading (sobrecarga). Proceso de escribir más de una función u opera- path (camino, ruta de acceso). Ruta que se recorre desde el directorio raíz
dor con el mismo nombre. Las funciones deben diferir en su lista de a un subdirectorio específico cuando se trata de localizar un archivo.
argumentos de modo que C++ pueda identificarlas con una llamada.
persistence (persistencia). Propiedad de un objeto que le permite «sobre-
Propiedad que permite dar más de un significado o tarea a un operador
vivir» (perdurar) en la ejecución de un programa; en esencia, los
o a un nombre de función.
datos permanecen durante la ejecución del programa y salen entre
override (anular, ignorar, redefinir). Reimplantar, redefinir. Se utiliza para ejecuciones de un programa. Todas las bases de datos soportan per-
describir la reimplementación de los métodos en tipos objeto. sistencia.
parameter (parámetro). Lista de variables encerradas entre paréntesis que pointer (puntero, apuntador). Variable que contiene la dirección de otra
siguen al nombre de una función o un procedimiento. Los parámetros variable. Valor que representa la dirección o posición de memoria de un
indican el número y el tipo de argumentos que se envían a la función o objeto.
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 polymorphism (polimorfismo). En griego significa «múltiples formas».
función. Por ejemplo, en la función float demo(int n, float x), Propiedad por la cual la misma operación puede tener efectos diferen-
n y x son parámetros.
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
parameter passing (paso de parámetros). Uso de expresiones para inicia- durante la ejecución. En C++ el polimorfismo se soporta a través de
lizar las variables parámetro de una función cuando ésta se invoca. funciones virtuales y ligadura dinámica. Propiedad que permite selec-
cionar una función entre varias funciones con el mismo nombre,
parameter value (valor del parámetro). Expresión que se proporciona a un mediante la comparación de los tipos de parámetros reales.
parámetro cuando se llama a una función.
postfix operator (operador postfijo). Operador unitario que se escribe
parametrized type (tipo parametrizado). Una definición de una clase que detrás de su argumento.
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- precondition (precondición). Condición que debe ser verdadera (cierta)
nición parametrizada. Las nuevas versiones de C++ incorporan la pala- cuando se llama una función.
GLOSARIO 687

predicate function (función predicado). Función que devuelve un valor prototype (prototipo). Definición de una función que incluye su nombre,
lógico (boolean). tipo de retorno y lista de parámetros. Véase declaración.
prefix operator (operador prefijo). Operador unitario que se escribe antes pseudocode (pseudocódigo). Mezcla de español (o inglés) y C++ que se uti-
de su argumento. liza para construir algoritmos y/o programas cuando se desarrolla el
preprocessor (preprocesador). Programa que procesa un archivo fuente código de un programa.
antes del compilador. El preprocesador C++ incluye archivos, condi- public (pública). Especificador de acceso que señala la sección pública de
cionalmente incluye secciones de código y ejecuta sustituciones de una clase. Cualquier función del programa puede acceder a las variables
macros. Las directivas del preprocesador tienen siempre el prefijo #. y funciones de esa sección. Si un miembro de una clase es público
preprocessor directive (directiva del procesador). Una orden precedida (public) puede accederse al mismo por cualquier función miembro o no.
por un carácter # que se sitúa en su código fuente y que instruye al com- pure virtual function (función virtual pura). Una función virtual que no
pilador a modificar el código fuente de alguna forma. Las directivas contiene ningún código, pero se utiliza para actuar como guía de otras
más usuales son #define e #include. funciones derivadas a través de herencia.
private (privada). En C++, un especificador de acceso que señala una sec- RAM (Random Access Memory) (Memoria de acceso aleatorio). Memo-
ción de una clase, a cuyas variables y funciones sólo se puede acceder ria de la computadora que almacena el código y los datos de los pro-
mediante funciones miembro de esa clase. gramas en ejecución.
private inheritance (herencia privada). Tipo de herencia en la que sólo las random-access (acceso aleatorio). Tipo de acceso que permite acceder a un
funciones miembro pueden utilizar las funciones de la clase base. Se valor de un archivo directamente (o estructura similar) sin tener que leer
definen con la palabra reservada private. los valores o datos que le preceden.
procedence of operators (precedencia de operadores). Jerarquía o priori- random-access file (archivo de acceso aleatorio). Archivo a cuyos regis-
dad de operadores. tros se puede acceder en cualquier orden.
procedure (procedimiento). Función que no devuelve un valor. recursive function (función recursiva). Una función que puede llamarse a
program (programa). Conjunto de instrucciones que indican a la computa- sí misma. Debe obligatoriamente incluir en su definición una condición
dora las tareas a realizar. de terminación.
programming language (lenguaje de programación). Conjunto de reglas redirection (redirección). Enlazar la entrada o salida de un programa a un
que sirven para escribir instrucciones de la computadora. Lenguajes de archivo en lugar de al teclado o al monitor/pantalla.
programación orientados a objetos con C++, Smalltalk, Eiffel, Visual
reference parameter (parámetro referencia). Parámetro que se «enlaza» a
Basic, etc.
una variable que se proporciona en la llamada. Los cambios realizados
project (proyecto). Colección de archivos fuente y sus dependencias al parámetro en el interior de la función afectan a las variables externas
a la función.
prompt (petición). Una cadena de caracteres que solicita al usuario del pro-
grama que le proporcione una entrada. relational operator (operador relacional). Operador que compara datos.
Indica las operaciones que se pueden realizar con variables o constan-
protected (protegido). Especificador de acceso a una clase C++, que seña- tes (=, <, >, <>, etc.).
la una sección protegida, a cuyas variables y funciones sólo se puede
acceder con funciones miembro de la clase y de sus clases derivadas. Si reserved word (palabra reservada). Palabra que tiene un significado espe-
un miembro de una clase es protegido (protected) sólo se puede acce- cial en un lenguaje de programador y, en consecuencia, no se puede uti-
der al mismo mediante funciones miembro y amigas (friend) de la lizar como nombre (identificador) por el programador. Ej., while,
clase en que está declarada o una clase que se deriva de otra clase. for, and, or...

protocol (protocolo). Especificación de los modos en que se pueden reali- return value (valor de retorno). Valor devuelto por una función a través de
zar operaciones sobre un objeto. una sentencia return.
688 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

reusability (reusabilidad, reutilizabilidad). Capacidad de utilizar módulos Shell (Shell, caparazón). Parte de un sistema operativo en el que el usua-
de software bien diseñados que han sido comprobados en diferentes rio teclea (escribe) órdenes para ejecutar programas y manipular
lugares, en diferentes aplicaciones, de modo que minimizan el desarro- archivos.
llo del nuevo código. Los lenguajes orientados a objetos utilizan heren-
side effect (efecto lateral). Efecto de una función distinto al típico de devo-
cia como mecanismos de reusabilidad.
lución de un valor.
roundoft error (error de redondeo). Error introducido por el hecho de que simple statement (sentencia simple). Sentencia que consta sólo de una
la computadora puede almacenar sólo un número finito de dígitos de un expresión (una única sentencia).
número de coma flotante.
single inheritance (herencia simple). Tipo de herencia en el que una clase
run-time error (error en tiempo de ejecución). Véase logic error. sólo se puede heredar de otra clase, es decir, las clases sólo tienen una
run-time stack (pila de tiempo de ejecución). Estructura de datos que alma- clase base.
cena las variables locales y devuelve direcciones de las funciones cuan- Smalltalk Lenguaje orientado a objetos. Contiene un entorno integrado de
do se ejecuta un programa desarrollo de software que incluye la posibilidad de visualizar múltiples
ventanas y ojear (navegar) a través de las clases.
scientific notation (notación científica). Método de representación de
números muy grandes o muy pequeños. source code (código fuente). Instrucciones de un programa escritas en un
lenguaje de programación, tal como C++.
scope (ámbito, alcance). Duración y accesibilidad de una variable. Define
las partes de un programa que pueden acceder a variables específicas. source file (archivo fuente). Archivo que contiene instrucciones en un len-
En C++, una sección del código fuente en que se puede utilizar un iden- guaje de programación, tal como C, C++ o Java.
tificador. En C++ los nombres pueden tener ámbito local, ámbito de stack (pila). Estructura de datos en la que los elementos de la misma sólo se
archivo o ámbito de clase. Por ejemplo, una variable declarada dentro pueden añadir y eliminar por una determinada posición, denominada
de una función es local por defecto y sólo se puede acceder por el códi- cima de la pila.
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 state (estado). Valores de los atributos internos de un objeto.
un programa. Existen seis tipos diferentes de ámbitos: global, local, statement (sentencia). Unidad sintáctica de un programa. En C++, una sen-
class, función, namespace y archivo. tencia puede ser: una sentencia simple o una sentencia compuesta.
selection sort (ordenación por selección). Algoritmo de ordenación en el static binding (ligadura estática). Tipo de ligadura que asocia, en tiempo
que el elemento más pequeño se encuentra repetidamente y se elimina de compilación, un nombre a una función con el código que se ejecuta
hasta que no queda ningún elemento. cuando se llama a esa función. Contrasta con ligadura dinámica, en la
sentinel (centinela). Valor de entrada de datos que no se utiliza como valor que dicha asociación se produce durante la ejecución de un programa.
de entrada real pero que, sin embargo, señala el final de la entrada. 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
separate compilation (compilación separada). Compilación independien- programa. Es el tipo de ligadura clásica de Pascal, C, FORTRAN, etc.
te de cada archivo fuente y combinación posterior de los archivos obje- C++ posee también ligadura dinámica (enlace en tiempo de ejecución).
tos en un archivo ejecutable.
static data member (miembro dato estático). Un miembro que existe sólo
sequential access (acceso secuencial). Acceso a valores de modo secuen- una vez, con independencia de cuántas variables de clase se definan.
cial (uno a continuación de otro sin saltarse ninguno). static keyword (palabra clave static). Palabra clave de C++ que tiene
sequential file (archivo secuencial). Archivo al que se accede registro a varios significados no relacionados: representa variables locales que
registro. 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
server (servidor). Un objeto que proporciona servicios que se utilizan por objetos de una clase o funciones miembro que no tienen un parámetro
otros objetos. Los objetos que utilizan los servicios son clientes. implícito.
GLOSARIO 689

static member function (función miembro estática). Función que tiene syntax error (error de sintaxis). Un error que se produce cuando una ins-
acceso sólo a miembros dato estáticos de una clase. trucción (sentencia) no sigue las reglas del lenguaje de programación y
es rechazada por el compilador.
static method (método estático). Método resuelto por el compilador en
tiempo de compilación. Véase early binding. 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-
static variable (variable estática). Variable que no pierde su valor cuando
cidas como posiciones de tabulación.
se termina el bloque en el que está definida.
template (plantilla, patrón). Modelos de clase a partir de las cuales se pue-
stepwise refinement (refinamiento paso a paso). Resolución de un proble-
den generar otras clases.
ma mediante la ruptura o división sucesiva en problemas más pequeños
y resolución posterior de los mismos. ternary operator (operador ternario). Un operador con tres argumentos.
C++ tiene un operador ternario a ? b : c.
storage class (clase de almacenamiento). En C++, propiedad de un obje-
to que determina cuánto tiempo permanece disponible en el programa text file (archivo de texto). Archivo en el que los valores se almacenan en
el almacenamiento de un objeto. Las palabras reservadas auto , su representación de texto.
register, static y extern especifican la clase de almacenamiento
this. En C++, un puntero al objeto actual. Se puede utilizar en funciones
de un objeto.
miembro para referirse a la instancia real de la clase.
stream (flujo). Literalmente, flujo de caracteres (uno a continuación de
type extensibility (extensibilidad de tipo). Derivar nuevos tipos (a través de
otro) fluyendo entre dispositivos de una computadora. Abstracción
la herencia) y añadir o modificar comportamientos y características para
de una secuencia de bytes a partir de los cuales se pueden leer los datos
adecuar sus necesidades.
o en los cuales se pueden escribir los datos.
typecast (conversión, moldes de tipos). Conversión temporal de un objeto
string (cadena). Uno o más caracteres terminados con un carácter nulo.
a otro tipo de dato.
Secuencia de caracteres.
unary operator (operador unitario). Operador de suma o resta utilizado
string constant (constante cadena). Uno o más grupos de caracteres que
antes de una variable o constante. Operador con un único argumento.
terminan en un cero nulo.
uninitialized variable (variable no inicializada). Variable que no se ha fija-
string literal (literal de cadena). Otro nombre de constante de cadena.
do a un valor específico.
structure (estructura). Unidad o entidad de información relacionada que
union (unión). Tipo de dato similar a estructura, con la restricción de que
contiene uno o más miembros, tales como número de carnet de identi-
una unión puede contener sólo uno de sus miembros en cualquier ins-
dad, nombre de un estudiante, precio de la matrícula, etc. Declaración
tante dado.
definida por el usuario que encapsula miembros dato y funciones miem-
bro u operaciones. user-defined type (tipo definido por el usuario). Estructura que contiene las
características y comportamiento del tipo. En C++, un tipo definido por
structured programming (programación estructurada). Metodología de
un usuario es una clase. El compilador lo trata como un tipo integrado.
desarrollo de software que utiliza descomposición funcional y un enfo-
que de diseño descendente para desarrollar software tradicional; técni- value parameter (parámetro valor). Un parámetro de una función cuyo
cas de programación tradicional de rotura de una tarea en subtareas valor se copia en una variable parámetro de una función. Si una varia-
modulares. 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-
subclass (subclase). Clase que sirve como clase base para otra clase. Una
grama.
superclase proporciona el comportamiento y atributos de clases deriva-
das de ella por el mecanismo de la herencia. Sinónimo de clase base o variable. Posición de almacenamiento que puede contener diferentes valo-
tipo ascendente. res.
syntax (sintaxis). Reglas que definen cómo se forman las instrucciones de variable scope (ámbito o alcance de una variable). Zona en la que «exis-
un lenguaje de programación específico. te» una variable en su programa.
690 PROGRAMACIÓN EN C++. ALGORITMOS, ESTRUCTURAS Y OBJETOS

virtual base class (clase base virtual). Clase base que se comparte por cla- void (C++). Un nombre de un tipo utilizado para indicar que una función no
ses derivadas por herencia múltiple. devuelve ningún valor, esto es, un procedimiento.
virtual function (función virtual). En C++, una función virtual está califica- void keyword (palabra reservada void). Palabra reservada que indica tipo
da por la palabra reservada virtual. En la práctica, las funciones virtua- desconocido o ningún tipo. Un procedimiento es una función que
les se invocan normalmente a través de un puntero a la clase base. Las devuelve void.
funciones virtuales soportan polimorfismo (ligadura dinámica). Función
que puede ser redefinida en una clase derivada. La función real llamada white space (espacio en blanco). Secuencia de caracteres espacio, tabula-
dependerá del tipo de objeto que se invoca en tiempo de ejecución. ción o nueva línea.

You might also like