Sei sulla pagina 1di 9

QUE ES CTT

C++ es un lenguaje de programación diseñado a mediados de los años 1980


por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de
programación C mecanismos que permiten la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se
sumaron a los paradigmas de programación estructurada y programación orientada
a objetos. Por esto se suele decir que el C++ es un lenguaje de programación
multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la
mayoría de los fabricantes de compiladores más modernos. Existen también
algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder
crear nuevos tipos que se comporten como tipos fundamentales.
El nombre "C++" fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje
fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado
el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y
se refiere a que C++ es una extensión de C.

QUE ES UNA VARIABLE


En programación, una variable está formada por un espacio en el sistema de almacenaje
(memoria principal de un ordenador) y un nombre simbólico (un identificador) que está
asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o
desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor
almacenado: esta separación entre nombre y contenido permite que el nombre sea usado
independientemente de la información exacta que representa. El identificador, en el código
fuente de la computadora puede estar ligado a un valor durante el tiempo de ejecución y el
valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del programa.
El concepto de variables en computación puede no corresponder directamente al concepto
de variables en matemática. El valor de una variable en computación no es necesariamente
parte de una ecuación o fórmula como en matemáticas. En computación una variable puede
ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego
utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la
misma manera.Procedimientos de este tipo son conocidos con el nombre de iteración. En
programación de computadoras, a las variables, frecuentemente se le asignan nombres largos
para hacerlos relativamente descriptivas para su uso, mientras que las variables en
matemáticas a menudo tienen nombres escuetos, formados por uno o dos caracteres para
hacer breve en su transcripción y manipulación.
El espacio en el sistema de almacenaje puede ser referido por diferentes identificadores . Esta
situación es conocida entre los angloparlantes como "aliasing" y podría traducirse como
"sobrenombramiento" para los hispanoparlantes. Asignarle un valor a una variable utilizando
uno de los identificadores cambiará el valor al que se puede acceder a través de los otros
identificadores.

TIPOS DE VARIABLES

Números enteros ( int )

Las variables de tipo entero o int son aquellas que almacenan un número
(ya sea positivo o negativo) no decimal . Debido a que cuando creamos
una variable reservamos memoria para ella, cada tipo de variable reservará
más o menos memoria para representar el dato que almacenarán. Dicho
esto, en el caso de variables de tipo int sólo podemos almacenar números
que estén dentro del rango -2^31 y 2^31 - 1 . Si intentamos almacenar un
número que esté fuera de ese rango nos dará un error de compilación o de
ejecución. Por ejemplo, no podríamos almacenar el número 10000000000
en una variable de tipo int. Un ejemplo sería:

int auxiliar = 30;

Su valor por defecto si no lo inicializamos es 0.

Números enteros grandes ( long )


Las variables de tipo entero grandes o long son aquellas que almacenan un
número (ya sea positivo o negativo) no decimal . Las variables de tipo long
almacenan números que están dentro del rango-2^63 y 2^63 - 1 . Si
intentamos almacenar un número que esté fuera de ese rango nos dará un
error de compilación o de ejecución. Para representar que un número es de
tipo long, añadimos unaL al final del número:

long numeroCuentas = 10000000000L;

Nota: No es recomendable crear una variable de tipo long para almacenar


números pequeños debido a que estamos reservando más memoria de la
que realmente necesitamos y eso a la larga puede producir que nuestro
programa sea mucho más lento de lo que es realmente. Su valor por
defecto si no lo inicializamos es 0L.

Números decimales ( double y float )

Si en lugar de números enteros queremos almacenar números decimales,


tenemos dos tipos:

 float: Las variables de tipo float o flotante son aquellos números en


precisión simple de 32 bytes en el estandar IEEE 754. Para indicar
que un número es de tipo flotante ponemos un punto para separar la
parte entera del número de la parte decimal.

 double: Las variable de tipo double o doble son aquellos números en


precisión doble de 64 bytes en el estandar IEEE 754. Para indicar que
un número es de tipo flotante ponemos un punto para separar la parte
entera del número de la parte decimal.

Si por algún motivo necesitamos especificar si un número es flotante o


doble basta con añadir una letra f o d al final del número tal y como vemos
en el siguiente código:

double x = 3.2d;

float y = 4.8f;

Añadir que en caso de querer representar números grandes es mejor usar


double en lugar de float ya que a la hora de operar con ellos puede
producirse errores de aproximación y llevarnos a confusiones innecesarias.
Su valor por defecto si no lo inicializamos es 0.0d para double y 0.0f para
float. Existen dos tipos básicos más para representar números: short y
byte . Estos tipos sólo almacenan números de tipo entero similar a como
sucede con las variables de tipo int. No obstante, los rangos de valores que
pueden almacenar son mucho más pequeños (byte: -128, 127 short: -
32768, 32767) y sólo se suelen usar cuando la reserva de memoria tiene
que estar muy controlada para el perfecto funcionamiento de un programa.
En general basta con trabajar con variables de tipo int en lugar de estos dos
tipos.

Verdadero o Falso ( boolean )

Más adelante veremos herramientas para controlar el flujo de ejecución del


programa las cuales se basan en el uso de condiciones ante las cuales el
programa se ejecutará de una forma u de otra. Normalmente, esas
condiciones serán de la forma:

Si esVerdadero

Hacer A

Sino

Hacer B

Evaluar ese "esVerdadero" no es más que evaluar una sentencia la cual


devolverá verdadero ( true ) o falso ( false ) en función de la condición. Ese
valor true-false se corresponde con variables booleanas o boolean . Las
variables booleanas son aquellas que sólo pueden guardar dos valores: true
y false. Se declaran igual que otra variable:

boolean verdadero = true;

Su valor por defecto si no lo inicializamos es false.

Símbolos o caracteres ( char )

Ya hemos hablado de los números, pero ¿qué sucede con las letras o
símbolos? Podríamos usar variables de tipo int para almacenarlas, pero al
hacer eso en lugar de guardar el símbolo como tal, se almacenaría su
correspondiente valor en formato decimal en ASCII y tendríamos que
manualmente interpretar dicho número para pasarlo a su correspondiente
símbolo si quisieramos por ejemplo imprimirlo por consola. Para evitar esto,
tenemos las variables de tipo char :

char a = 'a';
char b = 'b';

En este caso hemos creado dos variables de tipo char; una para el símbolo
"a" y otra para el símbolo "b". Notar que para referirnos a un símbolo como
tal, tenemos que rodearlo con comillas simples '' . Su valor por defecto si no
lo inicializamos es '\u0000'.

Cadenas de texto ( String )

Hemos solucionado el problema de almacenar en memoria símbolos


individuales. Supongamos que queremos trabajar con secuencias de
símbolos o cadenas de texto . Con lo visto hasta ahora tendríamos que
crear tantas variables de tipo char como letras tenga la cadena. Un ejemplo
rápido, si quisieramos representar el Quijote con variables char tendríamos
un total aproximadamente de 2059005 letras en él contando las letras
repetidas. Resulta inviable crear tantas variables de tipo char, ¿verdad? Sin
ir tan lejos, para la palabra "perro" tendríamos que crear 5 variables. Para
solucionar esto, Java nos facilita el trabajo al definir una clase
llamada String la cual representa la secuencia o el vector de símbolos que
componen una palabra, una frase, un párrafo, etc. Siguiendo el código del
ejemplo,

String perro = "perro";

String gato = "gato";

perro y gato son variables de tipo String las cuales almacenan las cadenas
"perro" y "gato" respectivamente. El trabajar así con los símbolos facilita
mucho el manejo de cadenas. Su valor por defecto si no lo inicializamos
es null . El valor null es el usado en Java para indicar que un Objeto no está
inicializado y por tanto no se puede usar.

Constantes ( final )

Supongamos que tenemos un tipo de dato el cual nunca y por ningún


motivo cambiará su valor. Por ejemplo el número PI
(3.14159265358979323846…). Para indicar que una variable tomará
siempre el mismo valor y no se podrá modificar es decir,
es constante usamos la palabra reservadafinal escribiéndola antes del tipo
de la variable:

final double NUMERO_PI = Math.PI; // 3.14


final int CERO = 0;

Si intentamos modificar el valor de una constante nos dará error de


compilación. Nota: Por cuestiones de buena práctica, se suelen escribir las
variables en minúscula y las constantes en mayúsculas. Si el nombre de la
variable es compuesto es decir, tiene más de una palabra, la primera letra
de las siguientes palabras se escribe en mayúsculas. En el caso de las
constantes, se escribe un guión bajo (_) entre palabra y palabra. Por
ejemplo NUMERO_PI para la constante y numeroCuentas para la variable.

Arrays o Vectores

Los arrays o vectores son listas donde cada elemento es una variable de
un tipo específico con su valor correspondiente. Los arrays no pueden
almacenar tipos de variables distintos (realmente eso no es cierto, pero con
lo explicado hasta la fecha hay que asumir que sí de modo que lo correcto
sería decir "no deberían almacenar tipos de variables distintos"). Existen
tres maneras a lo sumo de definir un array:

String[] paises = {"España", "Italia", "Portugal"};

String[] animales = new String[] {"perro", "vaca", "gato", "mono"};

String[] objetos = new String[3];

En la primera estamos creando un array temporal con el nombre de tres


países y luego lo almacenamos en la variable paises sin indicar qué tipo de
dato va a almacenar; el propio Java se ocupa de reconocerlo. El segundo
caso es similar al primero con la diferencia de que especificamos el tipo de
valor que va a almacenar nuestro array. El último caso es la forma general
(y común en muchos lenguajes) de declarar el array. En él indicamos que
será un array de 3 elementos máximo de tipo String, sin inicializar los
valores de cada posición o elemento de la lista. Si queremos asignar valores
a cada posición del array tendremos que hacerlo de la siguiente forma:

objetos[0] = "pelota";

objetos[1] = "caja";

objetos[2] = "zapato";
Tal y como comenté al explicar la tercera forma de declarar un array, los
vectores tienen un tamaño máximo el cual nosotros definimos. Por tanto, no
podemos aumentar dicho tamaño; si deseamos un tamaño mayor tenemos
que crear un nuevo array y posteriormente asignarle los valores
almacenados en el anterior. Para acceder a los elementos almacenados en
el vector la sintaxis es la siguiente:

nombreVector[índice];

donde índice será un número entero que esté dentro del rango 0 y
tamañoVector - 1 . Hay que tener esto en cuenta ya que cuando queramos
acceder a un elemento n-ésimo tendremos que usar el índice (n-1)-ésimo.
Así por ejemplo:

System.out.println("El " + animales[0] + " persigue al " + animales[2]);

El mensaje que se muestra por consola es:

El perro persigue al gato

Algo más a tener en cuenta de los vectores en Java es que, a diferencia de


otros lenguajes, los vectores no son cíclicos ; si intentamos acceder al
siguiente elemento después del último se produce una excepción al usar un
índice el cual está fuera de rango. Nota: Java implementa una clase
llamada ArrayList la cual extiende los vectores para mejorar su manejo
(igual que sucedía con String y las variables de tipo char). No obstante, yo
me limitaré a los vectores ya que los ArrayLists no son un elemento de la
programación básica. Si alguien quiere usarlos y quiere preguntarme algo
de ellos no duraré en responder igualmente.

QUE ES LIBRERÍA EN C++


En C++, la biblioteca estándar es una colección de clases y funciones, escritas en
el núcleo del lenguaje. La biblioteca estándar proporciona varios contenedores
genéricos, funciones para utilizar y manipular esos contenedores, funciones objeto,
cadenas y flujos genéricos (incluyendo E/S interactiva y de archivos) y soporte para
la mayoría de las características del lenguaje. La biblioteca estándar de C++
también incorpora la biblioteca estándar de C. Las características de la biblioteca
estándar están declaradas en el espacio de nombres std.
La Standard Template Library es un subconjunto de la biblioteca estándar de C++
que contiene los contenedores, algoritmos, iteradores, funciones objeto, etc; aunque
algunas personas utilizan el término STL indistintamente con la biblioteca estándar
de C++.
Los archivos de cabecera de la biblioteca estándar de C++ no usan la extensión
«.h».

10 LIBRERÍAS MAS USADAS EN CTT CON SU CONCEPTO


A continuación pondré algunas de las librerías de uso más común de C++ y que
forman parte de las librerías estandar de este lenguaje.

o fstream:

Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el


programar, tanto leer como escribir en ellos.

o iosfwd:

Contiene declaraciones adelantadas de todas las plantillas de flujos y sus


typedefs estándar. Por ejemplo ostream.

o iostream:

Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e
importante (aunque no indispensable).

o La biblioteca list:

Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas

o math:

Contiene los prototipos de las funciones y otras definiciones para el uso y


manipulación de funciones matemáticas.

o memory:

Utilidades relativas a la gestión de memoria, incluyendo asignadores y punteros


inteligentes (auto_ptr).

"auto_ptr" es una clase que conforma la librería memory y permite un fácil manejo
de punteros y su destrucción automaticamente.

o Biblioteca new:

Manejo de memoria dinámica


o numeric:

Parte de la librería numérica de la STL relativa a operaciones numéricas.

o ostream:

Algoritmos estándar para los flujos de salida.

o queue:

Parte de la STL relativa a contenedores tipo queue (colas de objetos).

VENTANA DE DER CTT

Potrebbero piacerti anche