Olimpiada Oaxaqueña de Informática
  • Bienvenido a la Olimpiada Oaxaqueña de Informática
  • Temario
    • Introducción a la Programación
      • Definición de computadora
      • Definición de Sistema Operativo
      • Definición de lenguaje de programación
      • Definición de compilador
      • Sistema Binario y Hexadecimal
      • Operaciones AND, OR, NOT, XOR
      • Definición y ejemplo de algoritmos
      • Representación gráfica de un algoritmo
      • Qué es un pseudocódigo
        • Estructura base y Variables
        • Condicionales y ciclos
      • Configuración e instalación de compilador de C y C++
    • Lenguajes de Programación C y C++
      • Presentación de C y C++ como lenguajes de programación
      • Estructura de un programa en C++
        • Ejemplos de códigos en C++
      • Tipos de datos y variables
      • Entrada y salida de datos STDIN SDTOUT
      • Estructuras de Control y Repetición
      • Introducción a estructuras de datos: arreglos
    • Algoritmos de ordenamiento
      • Bubble Sort
    • Estructuras de datos
      • Pilas (Stack)
    • Paradigmas de Solución de Problemas
    • Gráfos
    • Matemáticas
    • Procesamiento de Cadenas
  • OOI 2019
    • Cursos online
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase recursión introductorio
  • OOI 2020
    • Instrucciones para nuevos miembros
    • Cursos introductorios
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase 14
      • Clase 15
      • Clase 16
      • Clase 17
      • Clase 18
      • Clase 19
      • Clase 20
      • Clase 21
      • Clase 22
    • Cursos avanzados
      • Temario
      • Sesión 1
      • Sesión 2
      • Sesión 3-4
      • Sesión 5
      • Sesión 6
      • Sesión 7
      • Sesión 8
      • Sesión 9-10
      • Sesión 11
      • Sesión 12
      • Sesión 13
      • Sesión 14
      • Sesión 15
      • Sesión 16
      • Sesión 17
      • Sesión 18
      • Sesión 19
      • Sesión 20
      • Sesión 21
      • Sesión 22
    • Cursos matemáticas discretas
      • Sesión 1
      • Sesión 2
  • OOI 2021
    • Fase 4. Semana 1
  • Misceláneos
    • Complejidad de un algoritmo
    • Tutorial instalación VS Code, compilador y debugger para C++
Powered by GitBook
On this page
  • Variables
  • Declaración de variables
  • Nombre de variables
  • Tipos de datos
  • Uso típico de tipos de datos más usados
  • Tipo de dato int
  • Tipo de dato double
  • Tipo de dato char
  • Tipo de dato bool
  • Referencias:
  1. Temario
  2. Lenguajes de Programación C y C++

Tipos de datos y variables

Para crear programas que realicen diferentes tipos de operaciones es necesario que este tenga la capacidad de almacenar valores, los cuales pueden modificar su valor de acuerdo a las necesidades del problema a resolver. Para esto se deben usar variables.

Variables

Una variable en C++ es una espacio de memoria de la computadora, en dónde se pueden almacenar valores, los cuales se pueden modificar de acuerdo a las necesidades del programa.

Una variable en C++ es útil para realizar instrucciones que pueden adaptarse a diferentes necesidades. Por ejemplo, súpongase que se quiere hacer un programa para sumar 3 parejas de números: (1,7), (5,6) y (10,2)

Se podría hacer algo como lo siguiente:

cout << "El resultado de la suma es: " << 1 + 7;
cout << "El resultado de la suma es: " << 5 + 6;
cout << "El resultado de la suma es: " << 10 + 2;

Pero, ¿que pasaría si se quisieran sumar 10,000 parejas de números? ¡Se escribirían 10 mil líneas de código!

La solución es utilizar variables. Y cada vez que se ejecute el código pedir los valores para las variables.

int suma;
int numero1;
int numero2;

// La instruccion cin solicita al usuario la entrada de datos
// y los almacena en la variable correspondiente
cin >> numero1;
cin >> numero2;

suma = numero1 + numero2;

cout << "El resultado de la suma es: " << suma;

En esta ocasión, el programa es genérico, lo que significa que es capaz de sumar cualesquiera 2 pares de números sin necesidad de hacer modificaciones al código.

Declaración de variables

Para poder utilizar una variable en C++ primero es necesario declararla.

La declaración de variables en C++ se realiza utilizando la siguiente sintáxis:

tipo_de_dato nombre_variable;

Dónde tipo_de_dato es el tipo de dato que podrá almacenar la variable. Más detalles en la siguiente sección. Y nombre_variable es el nombre que identificará a la variable.

// Ejemplos
int numero;
int mi_variable;
int miVariable;
char otra_variable;
double x;

Nombre de variables

El nombre de la variable puede contener una palabra con cualquier letra del alfabeto inglés, números y guiones bajos (_). Sin embargo, siempre debe iniciar con una letra. Es importante considerar que el compilador hace diferencias entre las mayúsculas y minúsculas. Por lo que la variable suma sería diferente de la variable Suma. No debe dontener espacios en blanco ni símbolos especiales.

Ejemplo de nombres válidos:

mi_variable
miVariableDos
numero
resultado1
x
y
variable

Ejemplode nombre inválidos:

mi variable
variable#2
1variable

Tipos de datos

Los tipos de datos, como su nombre lo indica, especifican el tipo de valores que se pueden almacenar en una variable.

Algunos ejemplos de tipos de datos primitivos son enteros, de punto decimal flotante (fraccionarios), caracteres y boleanos.

Cuando se hace la declaración de variables, el tipo de dato le indica al compilador de que tipo será la variable. De esta manera se reserva la cantidad de memoria necesaria.

En la siguiente tabla se muestran los tipos de datos fundamentales, así como su tamaño en bytes y rango de valores que es posible representar con ellos.

Tipo de datos

Tamaño

Rango de valores

short int

2

-32,768 hasta 32,767

unsigned short int

2

0 hasta 65,535

unsigned int

4

0 hasta 4,294,967,295

int

4

-2,147,483,648 hasta 2,147,483,647

long long int

8

-(2^63) hasta (2^63)-1

unsigned long long int

8

0 hasta 18,446,744,073,709,551,615

char

1

-128 hasta 127

unsigned char

1

0 hasta 255

float

4

1.18e-38 hasta 3.40e38 Precisión científica (7-dígitos)

double

8

2.23e-308 hasta 1.79e308 Precisión científica (15-dígitos)

long double

12

3.37e-4932 hasta 1.18e4932 Precisión científica (18-dígitos)

bool

1

true / false

Los tipos de datos int, char, double y bool son los más utilizados en programas simples.

Cuando se declaran las variables, estas pueden tambien inicializarse, lo que significa asignar un valor inicial.

Ejemplo:

// Declaracion de variables e inializacion
int numero = 5;
int mi_valor = 1278;

Buena práctica de programación: Es recomendable inicializar siempre las variables antes de utilizarlas. Ya que es común tener errores tratando de leer una variable a la que no se le ha asignado un valor previamente. No se debe asumir que el valor de una variable sin inicializar es 0, pues muchas veces no lo es.

Uso típico de tipos de datos más usados

El uso más común que se le da a los tipos de datos primitivos es el siguiente:

Tipo de dato int

Se utiliza para representar números enteros, ya sean negativos o positivos.

Ejemplo:

int numero = 5;
int numero2 = -28;

Si se trata de asignar un número fraccionario a una variable de tipo int, el valor será truncado, es decir, se perderá la parte decimal.

Ejemplo:

int numero = 7.58; //la variable numero vale 7

Tipo de dato double

Este tipo de dato se utiliza para representar números fraccionarios con precisión doble, respecto al tipo float.

Es decir, tiene mayor precisión respecto al número de posiciones decimales que puede representar sin perder exactitud.

Ejemplo:

double numero_pi = 3.14159;
double x = 78.50;

Tipo de dato char

Este tipo de dato es utilizado para representar caracteres simples, es decir todos los conjuntos de letras, numeros y símbolos del código ASCII.

El código ASCII representa todos los caracteres imprimibles a través de la computadora. Estos tienen un código numérico que los identifica, por ejemplo el símbolo @ tiene el valor 64. Mientras que la letra A tiene el valor 65.

Para asignar un valor a una variable char es necesario escribir el caracter entre comillas simples:'a', 'b', 'c','@'

Es importante mencionar que los números también se pueden representar como caracteres, sin embargo, es necesario diferenciarlos de los tipos enteros. Ejemplo:

  • Son caracteres'1','2','3'

  • Son valores numéricos: 1,2,3

Nota como el valor numérico es tal cual el número, mientras que los caracteres tienen comillas simples.

Ejemplos:

// Declaracion de variables de tipo char
char letra = 'a';
char variable = '$';
char caracter_de_numero = '9';

Mal uso de los caracteres:

// Es un error tratar de hacer operaciones algebraicas
// usando variables de tipo char representando números

char numero1 = '1';
char numero2 = '3';
char suma;

suma = numero1 + numero2;

cout << "El resultado es: " << suma;

La salida del programa sería

El resultado es d

Nota como el programa si compila y se ejecuta, sin embargo, el resultado no es el que se esperaría. Se estaría esperando un '4'. El problema es que se están sumando caracteres.

Lo que en realidad pasa al ejecutar la operación, es que se suma el valor númerico de los caracteres en el código ASCII. Como se observa en la imagen previa, el caracter '1' vale 49, mientras que el '3' vale 51. El resultado de sumarlos es 100. El caracter correspondiente al valor 100 en el código ASCII es la letra 'd'.

Tipo de dato bool

El tipo de dato bool es el más sencillo de aprender. Ya que su valor solo puede ser true o false.

Suele utilizarse para guardar el resultado de evaluar condiciones.

Ejemplo:

bool variable = false;
bool resultado = true;
bool resultado = 5 > 3;//La variable almacenara true, ya que la condicion se cumple

Referencias:

DEITEL, Harvey M y DEITEL, Paul J Cómo programar en C++. 9a ed. Pearson Educación

PreviousEjemplos de códigos en C++NextEntrada y salida de datos STDIN SDTOUT

Last updated 6 years ago

Código ASCII