Ir al contenido principal

Entrada, Salida,Variables, Tipos y Objetos de Memoria en C++

 

Entrada, Salida,Variables, Tipos y Objetos de Memoria en C++

En esta parte, vamos a explorar algunos de los conceptos más fundamentales de la programación: entrada, salida y variables. Entender estos conceptos te permitirá comunicarte con la computadora de manera efectiva y controlar cómo interactúa con los datos.
 

¿Qué es la entrada y la salida?

Cuando pensamos en entrada y salida en un programa, básicamente estamos hablando de cómo los datos fluyen hacia y desde nuestra computadora. Si lo analizamos más de cerca, todo lo que entra o sale no es más que datos. Por ejemplo, cuando escribes algo en el teclado, eso es un tipo de entrada. Cuando el programa te muestra algo en la pantalla, eso es un tipo de salida.

Pero ¿cómo puede un programa leer lo que escribimos en el teclado y luego mostrarlo en pantalla? Para hacer esto, necesitamos un medio para capturar esos datos. En C++, esto se hace a través de comandos específicos. Para la entrada, usamos cin (abreviatura de "character input" o entrada de caracteres), y para la salida, usamos cout (abreviatura de "character output" o salida de caracteres). Estas herramientas nos permiten interactuar con el teclado y la pantalla respectivamente.

¿Cómo maneja la computadora los datos?

Cuando ingresas datos, no basta con simplemente leerlos. Necesitamos un lugar donde almacenarlos temporalmente para poder usarlos más adelante en nuestro programa. Ese lugar es la memoria de la computadora. Imagina la memoria como una enorme estantería llena de pequeños compartimentos donde podemos guardar cosas.

Dentro de la memoria, podemos seleccionar un pequeño espacio para almacenar los datos que hemos ingresado. A este espacio lo llamamos objeto, y cuando le asignamos un nombre que podemos usar en nuestro programa, lo llamamos variable.
 

¿Qué es una variable?

Una variable es simplemente un nombre que asignamos a un espacio en la memoria donde guardamos un dato. Imagina que tienes una caja donde guardas algo importante, y a esa caja le pones una etiqueta para recordar qué hay dentro. Esa etiqueta es el nombre de la variable, y el contenido de la caja es el valor que almacena la variable.
 

Tipos de datos: ¿qué estamos guardando?

Para la computadora, toda la memoria es simplemente una serie de números binarios (unos y ceros). Sin embargo, en C++ es importante definir qué tipo de datos estamos tratando, para que la computadora sepa cómo interpretarlos. Esto es lo que llamamos tipos de datos.
 

  • Por ejemplo, si estás trabajando con un nombre de una persona, estarás usando una cadena de texto (en C++ se representa como string).
  • Si estás trabajando con la edad de una persona, estarás usando un número entero (en C++ se representa como int).

En C++, siempre debemos declarar el tipo de dato que estamos usando, ya que eso le indica al programa cuánta memoria debe reservar y cómo debe tratar ese dato. Imagina al objeto como una caja en la que puedes poner un valor del tipo del objeto:

Objeto string en C++
 
Objeto int en C++

El primer objeto representaría un objeto de tipo string llamado nombre que contiene el valor "Daniel" y el segundo representa un objeto de tipo int llamado edad que contiene el valor de 52.

Mi primer programa con entrada en C++

El programa "¡Hola Mundo!" solo mostraba un mensaje en pantalla, sin recibir ni procesar información del usuario. Sin embargo, en los programas reales, los datos de entrada son fundamentales para generar resultados personalizados. Ahora mejoraremos "¡Hola Mundo!" para que solicite el nombre del usuario y muestre un mensaje personalizado. Usando una variable tipo cadena de texto (string) podemos leer un nombre y escribirlo de nuevo de esta manera:

Mi primer programa con entrada en C++

El programa anterior tiene algunos elementos nuevos que no estaban en el programa "¡Hola Mundo!":

  • using namespace std; evita que tener que escribir std:: antes de cin y cout
  • \n es un carácter especial que inserta un salto de línea, moviendo el texto a la siguiente línea en la consola.Tiene en mismo efecto que std::endl.
  • // En C++, todo lo que se escribe después del símbolo // (el carácter / llamado slash, dos veces) es un comentario. Los comentarios son ignorados por el compilador, por lo que no afectan la ejecución del programa. Su propósito es agregar información útil para los programadores, ya sea para explicar partes del código o dejar notas para quienes deban mantener o mejorar el programa en el futuro.

 La primera línea dentro de main: cout << "Escriba su nombre (seguido de enter)\n"; muestra un mensaje que solicita al usuario que ingrese su nombre desde el teclado. Este tipo de mensaje se llama prompt y espera que el usuario realice una acción, en este caso, escribir su nombre.

A continuación, se define una variable de tipo string llamada nombre,con la siguiente sentencia: string nombre; la cual reserva un espacio en la memoria para almacenar una cadena de caracteres (esto se ilustra en la figura).

Objeto string vacio en C++

La computadora recoge los caracteres que el usuario escribe hasta que se pulsa la tecla Enter, lo que permite corregir la entrada antes de confirmarla.

Después, la siguiente línea usa cin junto con el operador >> para colocar los caracteres ingresados en la variable nombre, cin >> nombre.

Por ejemplo, si escribimos "Valentina" y presionamos Enter, la cadena "Valentina" se convierte en el valor almacenado en nombre.

Objeto string lleno en C++

 Variables, Tipos y Objetos

Una variable es un nombre que se asocia con un objeto en la memoria de la computadora, es decir, con un "contenedor" donde se almacena un valor. Las variables nos permiten acceder a estos objetos y trabajar con ellos. Para comprender su importancia, pensemos en cómo los humanos interactuamos con el mundo.

Usamos símbolos para representar cosas: palabras para nombrar objetos, números para contar, y decisiones basadas en respuestas de "sí" o "no". Esto nos permite comunicar, contar, comparar y tomar decisiones. Las computadoras funcionan de manera similar, pero en lugar de palabras o gestos, usan variables para manejar y procesar información.

Cada variable tiene un tipo de dato que define qué tipo de valor puede almacenar, como números, caracteres, palabras o estados lógicos como true o false. Los tipos de datos ayudan a que la computadora maneje la información de manera ordenada, sin mezclar "peras con manzanas", y permite realizar operaciones coherentes y predecibles.

Los tipos Básicos de Objetos


Existen varios tipos básicos al la hora de programar, cada uno especializado en almacenar un tipo de información, por ejemplo:
 

  • -Enteros (int): Para almacenar números enteros, como el puntaje o la cantidad de vidas en un juego.
  • -Flotantes (float): Para manejar números con decimales, útiles para coordenadas o velocidad.
  • - Booleanos (bool): Para representar decisiones simples de "sí" o "no" (verdadero o falso).
  • - Cadenas (string): Para almacenar texto, como el nombre del jugador o mensajes en pantalla.
  • - Caracteres (char): Para representar un solo carácter, útil en controles simples o teclas.

Cada uno de estos tipos tiene un propósito específico y ayuda a que el programa funcione correctamente, evitando confusiones o errores.

La raíz de los tipos de datos

Los tipos de datos que usamos hoy en programación tienen su origen en las necesidades matemáticas y lógicas del ser humano. Los números enteros (int) se crearon para manejar las cuentas y los cálculos sencillos. Los números flotantes (float) nacieron de la necesidad de representar valores más precisos, como coordenadas o mediciones que no siempre son enteras.

Por otro lado, el tipo booleano (bool) surgió de la lógica binaria: la capacidad de representar decisiones simples como "verdadero" o "falso", esenciales para la toma de decisiones en cualquier programa. Cada tipo de dato tiene su propósito en la programación, ayudando a manejar y organizar la información de forma lógica y eficiente.

Así, las variables y sus tipos nos permiten construir programas que interactúan de manera confiable y ordenada con la información.

La Operación de Entrada es Sensible al Tipo de Dato.

 La entrada con el operador >> se lee de acuerdo al tipo de dato de la variable que lee. Por ejemplo:


//Un Programa que lee Nombre y Edad

#include 

using namespace std;

int main()
{
cout << "Escriba su Nombre y su Edad \n";
    string nombre; // variable tipo cadena de texto
    int edad;      // variable tipo numero entero
    cin >> nombre; // Lee una cadena
    cin >> edad;   // Lee un numero entero
    cout << "Hola, "<< nombre << "( edad " << edad << " )\n"; 

return 0;
}

 Si escribimos Dennis 28, el operador >> colocara a Dennis en nombre, el numero 28 en edad y escribe en la salida lo siguiente:

Hola, Dennis (edad 28 )

¿Por que no pone (todo) tanto a Dennis y el 28 en la variable nombre. Por convención, la lectura de cadena se termina al encontrar un espacio en blanco, una nueva linea o un carácter de tabulación. Los espacios en blanco también son ignorados por >>. 


 Resumen:
En esta sección, has aprendido que:

  • - La entrada es la información que la computadora recibe, usualmente a través de un teclado, y la salida es la información que la computadora envía, como lo que se muestra en la pantalla.
  • - Los datos que ingresamos o mostramos necesitan un lugar donde almacenarse, ese lugar es la memoria.
  • - Un objeto es una porción de memoria que usamos para guardar datos, y una variable es el nombre que le damos a esa porción.
  • - Es fundamental definir el tipo de dato que vamos a usar en C++, para que la computadora pueda interpretarlo correctamente.

Código Fuente del Primer Programa con Entrada en C++ :


#include 

using namespace std;

int main(){

cout << "Escriba su nombre (seguido de enter)\n";
string  nombre;  // nombre es una variable de tipo string
cin  >> nombre;  // guarda los caracteres en nombre
cout << "¡Hola, " << nombre << "!\n";

}

Comentarios

Entradas más populares de este blog

Instalar SFML en Windows e Integrar con Visual Studio

 Instalar SFML en Windows e integrar con Visual Studio Community     Paso 1 Ver la Versión de Visual Studio Instalada Abrimos Visual Studio y hacemos click Ayuda en las opciones del menú superior. > Ayuda  > Sobre Microsoft Visual Studio Dentro de "Sobre Microsoft Visual Studio veremos la siguiente ventana: Anotamos la versión de Visual Studio y el año. En este caso tenemos la versión 17.11.5 y el año 2022 . Observamos también que la arquitectura del procesador es de 64 Bits .  Toda esta información determina la versión de SFML que necesitamos descargar. Paso 2 Descargar la Librería SFML Abrimos el navegador y entramos en la sección de descargas de la pagina oficial de SFML : https://www.sfml-dev.org/download/sfml/2.6.2/   En el momento de preparar esta entrada la ultima versión era la 2.6.2 : También puedes revisar la documentación del sitio oficial de SFML . Paso 3 Descomprimir los Archivos de SFML Hacemos click derecho sobre el archivo des...

Crear Una Ventana openGL con SFML - Ejemplo y Explicación Detallada

  Introducción a la Pantalla: El Lienzo de la Magia Cuando pensamos en el desarrollo de aplicaciones gráficas o videojuegos, el punto de partida es la pantalla: un lienzo rectangular donde cobra vida todo lo que visualizamos. Este espacio está compuesto por miles o incluso millones de pequeños puntos llamados pixeles . Cada píxel es el bloque básico de cualquier imagen digital y puede tener su propio color. ¿Cómo se organizan los píxeles? Para ubicar un píxel en la pantalla, utilizamos un sistema de coordenadas cartesianas bidimensional. Las posiciones de los píxeles se determinan mediante dos valores: Coordenada X: Indica la posición horizontal del píxel. El valor 0 se encuentra en el extremo izquierdo de la pantalla y aumenta a medida que nos desplazamos hacia la derecha. Coordenada Y: Representa la posición vertical del píxel. A diferencia del sistema de coordenadas matemáticas tradicional, en las aplicaciones gráficas como las de SFML, el origen (0, 0) se encuentra en l...