PROGRAMACIÓN EN C++ – CLASE 03

(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)


TIPOS DE DATOS SIMPLES

Siguiendo con los conceptos iniciales, en esta oportunidad veremos las diferencias entre textos, números y variables del tipo lógico.


En la clase anterior explicamos que las cadenas se muestran entre comillas, algo que no es necesario con los números.
Si un número está dentro de una cadena de texto (entre comillas), funcionará como texto y no como número. No olvidemos que una variable es un espacio reservado en la memoria de nuestra computadora, donde podremos almacenar un dato que puede ser un nombre, un número, etc.

En el siguiente programa se le pide al usuario que ingrese dos números que se almacenarán en dos variables: a y b. Luego se asignará un contenido directamente a una variable; en este caso se guarda la suma de a + b en c.

Otra forma de hacer lo mismo es no emplear la variable c y realizar la operación directamente cuando hacemos la escritura en pantalla.

Veamos el código:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// TIPOS DE DATOS SIMPLES.
#include <iostream>
using namespace std;
int a;
int b;
int c;
int main()
{
cout << "Ingrese un número: ";
cin >> a;
cout << "Ingrese otro número: ";
cin >> b;
c = a + b;
cout << "La suma de los números da: " << c << endl;
return 0;
}
// TIPOS DE DATOS SIMPLES. #include <iostream> using namespace std; int a; int b; int c; int main() { cout << "Ingrese un número: "; cin >> a; cout << "Ingrese otro número: "; cin >> b; c = a + b; cout << "La suma de los números da: " << c << endl; return 0; }
// TIPOS DE DATOS SIMPLES.
#include <iostream>

using namespace std;

int a;
int b;
int c;

int main()
{
    cout << "Ingrese un número: ";
    cin >> a;
    cout << "Ingrese otro número: ";    
    cin >> b;
    c = a + b;
    cout << "La suma de los números da: " << c << endl;
    return 0;
}


Analizamos el código

Vamos a analizar línea por línea este código en C++:

Línea 1: // TIPOS DE DATOS SIMPLES.

  • Este es un comentario, que es una secuencia de caracteres que no se interpreta como código. En este caso, está documentando el comienzo del programa.

Línea 2: \#include <iostream>

  • Esta es la primera directiva de preprocesador (también conocida como macro o include). La directiva #include se utiliza para incluir un archivo que contenga definiciones de funciones y variables. En este caso, estamos incluyendo el archivo <iostream> que contiene las definiciones de entrada y salida estándar.
  • El nombre del archivo (<iostream>) se encuentra entre corchetes angulares (<>).

Línea 4: using namespace std;

  • Esta directiva utiliza la palabra clave using para especificar el ámbito (o espacio de nombres) que deseamos utilizar en nuestro programa.
    En este caso, estamos utilizando el espacio de nombres std, que es el paquete estándar de C++ que contiene funciones y clases como cout y cin.
  • La palabra clave namespace indica el ámbito que deseamos utilizar.

Línea 6: int a;

  • Esta línea declara una variable entera (int) llamada a. En C++, las variables deben ser declaradas antes de ser utilizadas.

Línea 7: int b;

  • Similarmente, esta línea declara otra variable entera (int) llamada b.

Línea 8: int c;

  • Y finalmente, esta línea declara una tercera variable entera (int) llamada c.

Línea 10: int main() { ... }

  • Esta es la función principal del programa (también conocida como main). La función principal es el punto de entrada y salida para cualquier programa C++. La función debe tener un tipo de devolución (int, en este caso) que indica su tipo de resultado.
  • Las llaves {...} definen el cuerpo de la función.

Línea 12: cout << "Ingrese un número: ";

  • Esta línea utiliza el objeto cout (que se encuentra en el espacio de nombres std) para imprimir el texto "Ingrese un número: " en la salida estándar.
  • La función << es el operador de flujo que permite concatenar texto con otros objetos.

Línea 13: cin >> a;

  • Esta línea utiliza el objeto cin (también en el espacio de nombres std) para leer un valor entero desde la entrada estándar y asignarlo a la variable a.

Línea 14: cout << "Ingrese otro número: ";

  • Esta línea imprime el texto "Ingrese otro número: " para pedir al usuario que ingrese otro valor.

Línea 15: cin >> b;

  • Otra vez, este programa utiliza el objeto cin para leer un valor entero desde la entrada estándar y asignarlo a la variable b.

Línea 16: c = a + b;

  • Esta línea asigna el resultado de sumar las variables a y b a la variable c.

Línea 17: cout << "La suma de los números da: " << c << endl;

  • Esta línea imprime el texto "La suma de los números da: " seguido del valor de la variable c, y finalmente un salto de línea (endl) para separar el mensaje de la salida estándar.

Línea 18: return 0;

  • Finalmente, esta línea devuelve el valor entero 0 como resultado de la función principal. Un valor de devolución de 0 indica que el programa se ejecutó correctamente.

Vayamos un poco más a fondo…

Ahora a modo de práctica vamos a utilizar el doble de variables; la intención es no mezclarlas, porque es necesario ser prolijos y organizados. Otro punto para tener en cuenta es que no es lo mismo utilizar minúsculas que mayúsculas: una variable de nombre a es distinta de otra de nombre A.


Veamos el código:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// TIPOS DE DATOS SIMPLES. (más variables y cin.ignore)
#include <iostream>
using namespace std;
string nombre1;
int edad1;
string nombre2;
int edad2;
int main()
{
cout << "Ingresa tu nombre: ";
getline(cin, nombre1);
cout << "Ingresa tu edad: ";
cin >> edad1;
cin.ignore(); // Que ignore el salto de la línea del cin anterior.
cout << "Ingresa el nombre de un amigo: ";
getline(cin, nombre2);
cout << "Ingresa la edad de tu amigo: ";
cin >> edad2;
cout << "Tu nombre es " << nombre1 << " tu amigo se llama " << nombre2 << endl;
cout << "La suma de sus edades da: " << edad1+edad2 << endl;
return 0;
}
// TIPOS DE DATOS SIMPLES. (más variables y cin.ignore) #include <iostream> using namespace std; string nombre1; int edad1; string nombre2; int edad2; int main() { cout << "Ingresa tu nombre: "; getline(cin, nombre1); cout << "Ingresa tu edad: "; cin >> edad1; cin.ignore(); // Que ignore el salto de la línea del cin anterior. cout << "Ingresa el nombre de un amigo: "; getline(cin, nombre2); cout << "Ingresa la edad de tu amigo: "; cin >> edad2; cout << "Tu nombre es " << nombre1 << " tu amigo se llama " << nombre2 << endl; cout << "La suma de sus edades da: " << edad1+edad2 << endl; return 0; }
// TIPOS DE DATOS SIMPLES. (más variables y cin.ignore)
#include <iostream>

using namespace std;

string nombre1;
int edad1;
string nombre2;
int edad2;

int main()
{
    cout << "Ingresa tu nombre: ";
    getline(cin, nombre1);
    cout << "Ingresa tu edad: ";    
    cin >> edad1;
    cin.ignore(); // Que ignore el salto de la línea del cin anterior.
    cout << "Ingresa el nombre de un amigo: ";
    getline(cin, nombre2);
    cout << "Ingresa la edad de tu amigo: ";    
    cin >> edad2;    
    cout << "Tu nombre es " << nombre1 << " tu amigo se llama " << nombre2 << endl;
    cout << "La suma de sus edades da: " << edad1+edad2 << endl;
    return 0;
}

Analizamos el código

Vamos a analizar línea por línea este código en C++:

Línea 1: // TIPOS DE DATOS SIMPLES. (más variables y cin.ignore)

Este es un comentario que indica que se van a utilizar tipos de datos simples y también la función cin.ignore().

Línea 2: #include <iostream>

Este es un directive que incluye el archivo <iostream>, que proporciona entrada y salida estándar (por ejemplo, cout y cin).

Línea 4: using namespace std;

Este es un directive que permite utilizar las clases y funciones del espacio de nombres std sin tener que especificar la ruta completa.

Línea 6: string nombre1;
Línea 7: int edad1;
Línea 8: string nombre2;
Línea 9: int edad2;

Estas son declaraciones de variables. Dos son del tipo string (cadena) llamadas nombre1 y nombre2, y las otras dos son variables de tipo int (entero) llamadas edad1, y edad2.

Línea 11: int main()

Este es el punto de entrada del programa, que se llama main. El tipo de retorno es int, que indica que el programa devuelve un valor entero al finalizar.

Línea 13: cout << "Ingresa tu nombre: ";

Este comando imprime el texto “Ingresa tu nombre: ” en la consola.

Línea 14: getline(cin, nombre1);

Este comando utiliza la función getline() para leer una línea de entrada del usuario y almacenarla en la variable nombre1.

Línea 15: cout << "Ingresa tu edad: ";

Este comando imprime el texto “Ingresa tu edad: ” en la consola.

Línea 16: cin >> edad1;

Este comando utiliza la función cin para leer un valor entero del usuario y almacenarlo en la variable edad1.

Línea 17: cin.ignore();

Este comando utiliza la función ignore() de cin para ignorar el salto de línea que sigue al valor entero leído previamente. Esto es útil porque la función getline() ya ignora el salto de línea.

Línea 18: cout << "Ingresa el nombre de un amigo: ";

Este comando imprime el texto “Ingresa el nombre de un amigo: ” en la consola.

Línea 19: getline(cin, nombre2);

Este comando utiliza la función getline() para leer una línea de entrada del usuario y almacenarla en la variable nombre2.

Línea 20: cout << "Ingresa la edad de tu amigo: ";

Este comando imprime el texto “Ingresa la edad de tu amigo: ” en la consola.

Línea 21: cin >> edad2;

Este comando utiliza la función cin para leer un valor entero del usuario y almacenarlo en la variable edad2.

Línea 22: cout << "Tu nombre es " << nombre1 << " tu amigo se llama " << nombre2 << endl;

Este comando imprime un mensaje que incluye los valores de las variables nombre1 y nombre2. El operador << se utiliza para concatenar cadenas y imprimir el resultado.

Línea 23: cout << "La suma de sus edades da: " << edad1+edad2 << endl;

Este comando imprime un mensaje que incluye la suma de los valores de las variables edad1 y edad2. El operador << se utiliza una vez más para concatenar cadenas y imprimir el resultado.

Línea 24: return 0;

Este es el fin del programa, que devuelve un valor entero igual a cero indicando que el programa terminó con éxito.



El interprete detectará si es una cadena de texto o un número, pero los tipos deben coincidir, por ejemplo: no se puede sumar el número 5 a una cadena de caracteres.

Veamos ahora como son los tipos posibles para definir una variable en C++:

intEntero, valor entero (tamaño variable).
charCarácter, valor alfanumérico o no alfanumérico.
stringCadena de caracteres (un conjunto de carácteres secuencialmente ordenados, como “hola” o ” mundo“).
floatFlotante, número con coma flotante.
doubleDoble, número con coma doble.
boolLógico, valor booleano (verdadero o falso).
voidTipo de dato vacío, utilizado para funciones que no devuelven valores.


Operadores algebraicos en c++:

+(suma): Utilizado para sumar dos números o concatenar cadenas de
caracteres.
–(resta): Utilizado para restar uno número del otro.
*(multiplicación): Utilizado para multiplicar dos números.
/(división): Utilizado para dividir un número entre otro.
^(exponente): Utilizado para elevar un número al poder de otro.
%(módulo): Utilizado para encontrar el resto de la división entre dos números.

Para entender cómo utilizar los distintos operadores algebraicos, lo mejor es imaginar diferentes situaciones de la vida cotidiana.

Por ejemplo, unos amigos se juntan para comer pizza y quieren dividir los gastos.


Lo primero que tenemos que saber es:


¿Cuánto amigos se juntaron para comer?

¿Cuánto costó la pizza?

El programa para saber cuánto debe abonar cada uno quedaría del siguiente modo:

Aquí utilizamos por primera vez el operador algebraico (/) para hacer la división entre costo y amigos.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// PROG05 - OPERACIONES ALGEBRAICAS
#include <iostream>
using namespace std;
float amigos;
float costo;
int main()
{
cout << "¿Cuántos amigos se juntaron para comer?" << endl << endl;
cin >> amigos;
cout << "¿Cuánto costo la pizza?" << endl << endl;
cin >> costo;
cout << "Al ser " << amigos << " pagará cada uno: " << costo/amigos;
return 0;
}
// PROG05 - OPERACIONES ALGEBRAICAS #include <iostream> using namespace std; float amigos; float costo; int main() { cout << "¿Cuántos amigos se juntaron para comer?" << endl << endl; cin >> amigos; cout << "¿Cuánto costo la pizza?" << endl << endl; cin >> costo; cout << "Al ser " << amigos << " pagará cada uno: " << costo/amigos; return 0; }
// PROG05 - OPERACIONES ALGEBRAICAS
#include <iostream>

using namespace std;

float amigos;
float costo;

int main()
{
    cout << "¿Cuántos amigos se juntaron para comer?" << endl << endl;
    cin >> amigos;
    cout << "¿Cuánto costo la pizza?" << endl << endl;    
    cin >> costo;
    cout << "Al ser " << amigos << " pagará cada uno: " << costo/amigos;
    return 0;
}

Vamos a analizar línea por línea este código en C++:

Línea 1: // PROG05 - OPERACIONES ALGEBRAICAS

Este es un comentario que indica que se está trabajando con el programa número 5 (PROG05) y que este programa hace operaciones algebraicas.

Línea 2: #include <iostream>

Este es un directive que incluye el archivo <iostream>, que proporciona entrada y salida estándar (por ejemplo, cout y cin).

Línea 4: using namespace std;

Este es un directive que permite utilizar las clases y funciones del espacio de nombres std sin tener que especificar la ruta completa.

Línea 6: float amigos;
Línea 7: float costo;

Estas son declaraciones de variables. La primera variable, amigos, y la segunda variable, costo, son de tipo float, lo que significa que pueden almacenar valores numéricos con decimales (como 3.14 o -0.5).

Línea 9: int main()

Este es el punto de entrada del programa, que se llama main. El tipo de retorno es int, que indica que el programa devuelve un valor entero al finalizar.

Línea 11: cout << "¿Cuántos amigos se juntaron para comer?" << endl << endl;

Este comando imprime el texto “¿Cuántos amigos se juntaron para comer?” en la consola, seguido de dos saltos de línea (representados por endl).

Línea 12: cin >> amigos;

Este comando utiliza la función cin para leer un valor numérico y almacenarlo en la variable amigos.

Línea 13: cout << "¿Cuánto costo la pizza?" << endl << endl;

Este comando imprime el texto “¿Cuánto costo la pizza?” en la consola, seguido de dos saltos de línea.

Línea 14: cin >> costo;

Este comando utiliza la función cin para leer un valor numérico y almacenarlo en la variable costo.

Línea 15: cout << "Al ser " << amigos << " pagará cada uno: " << costo/amigos;

Este comando imprime el texto “Al ser …. pagará cada uno: ….”, donde amigos es el valor leído en la variable amigos, y costo/amigos es el resultado de la división entre costo y amigos.

Línea 16: return 0;

Este comando indica que el programa ha finalizado con éxito (devolviendo un valor de retorno de 0).


TAREA PARA EL HOGAR

Es importante ser autodidacta y comenzar a crear ejemplos propios; intentemos desarrollar los siguientes programas:


1. Crear el algoritmo para calcular la superficie de un triángulo, teniendo como entrada de datos su base y la altura.

2. Sabiendo que el IVA (impuesto al valor agregado) es del 21%, crear el algoritmo necesario para que al ingresar cualquier valor pueda darnos como respuesta el precio final con impuestos incluidos.

3. Realizar un programa que convierta un valor en dólares, a la moneda local de nuestro país.