domingo, 22 de abril de 2018

Entrada y Salida de Datos.



En el capitulo anterior Tipos de Datos, Variables y Constantes se precisaron los tres tipos de datos más comunes; en realidad hay más, pero a medida que vayamos avanzando en el curso se irán detallando. Por ahora, con los datos tipo entero (int), flotante (float) y carácter (char), podemos lograr programas totalmente funcionales. 

Ya creo que es tiempo para programar algo. Un consejo, al momento de programar es necesario que piensen de forma estructurada y con secuencia lógica, esto es: No deben (si pueden, aunque parecerán locos) colocarse primero el pantalón y luego la ropa interior. Y eso es lo que trataremos de tener presente cada vez que hagamos nuestros programas.

Un ejemplo de lo anterior. Si queremos realizar la adicción de dos números y almacenar el resultado en una variable llamada suma, ésta también debe estar declarada. En los siguientes códigos podrán ver de que hablo:
#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1 = 4, num2 = 5;
   suma = num1 + num2;
   
   return 0;
 }
#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1 = 4, num2 = 5, suma;
   suma = num1 + num2;
   
   return 0;
 }

En ambos códigos se intenta realizar la suma de dos números (num1 y num2) cuyo valor se almacena en la variable suma. Sin embargo a correr el programa, el primer código dará un error, porque la variable suma no ha sido declarada previamente. Nótese que en el código de abajo, al declarar num1 y num2 se ha declarado también suma. Como prueba intenta ejecutar ambos códigos y comenta lo que ocurre en ambos casos.

Entrada y Salida de Datos

Bien, una parte importante de todo programa es la interacción con el usuario. Un programa que no reciba o muestre datos (al menos que sea creado con esa intención) será muy poco útil. Tomemos como ejemplo el código anterior, cada vez que se ejecuta ese programa siempre hará la misma operación (4+5), esto no cambiará así lo ejecutemos un millón de veces más, y peor aun no visualizaremos el resultado ya que no hay un instrucción que le indique al programa que los muestre.

Entonces para generalizar más el programa permitiendo realizar la suma de dos números variados que sean ingresados por el usuario mediante el teclado y que, a su vez, el resultado sea mostrado en pantalla; para ello es necesario usar las instrucciones que permitan hacer esto.

Por suerte, en C++, esto se logra con el uso de dos instrucciones cin para recibir por teclado un dato y cout para mostrar en consola una información. Para probar esto nuevo ejecuten el siguiente código:

#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1, num2, suma;
   cin >> num1;             // Línea 9
   cin >> num2;             // Línea 10
   suma = num1 + num2;
   cout << suma;            // Línea 12
   
   return 0;
 }

Veamos, del código anterior hay cosas nuevas que posiblemente les parecerá confuso. Vamos a detallarlos:
  • Las variables num1, num2 no tienen valor inicial, ya que no es necesario, debido que los valores de estas variables serán ingresadas por el usuario mediante el teclado.
  • La instrucción cin nos permite capturar por teclado y direccionar su valor a una variable, tal como se muestra en las líneas 9 y 10. Nótese que la forma de indicar que el valor se almacenará en la variable es colocando los símbolos >> y posteriormente la variable que recibirá el valor.
  • Con cout mostramos en consola el valor de la variable suma, que es el resultado de la adicción de num1 y num2 tal como se muestra en la línea 12. A esta instrucción la acompaña el símbolo << junto a la variable a la que se ha de mostrar su valor.

Si corren este programa podrán ingresar primero un número, luego otro y posteriormente se mostrará el resultado. Lo único que debo acotar de forma negativa es que la presentación al usuario carece de estética, ya que no hay algún mensaje que le indique al usuario que debe hacer. 

Que te parece si mejoramos esto, con otro ejercicio.


#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   float area, base, altura;
   cout << "Bienvenido al Programa que calcula el área de un triángulo" << endl;
   cout << "Ingrese la base de un triángulo" << endl;
   cin >> base;    // Línea 11
   cout << "Ingrese la altura de un triángulo" << endl;
   cin >> altura;  // Línea 13
   area = (base * altura) / 2;  //Línea 14
   cout << "El área es: " << area;  //Línea 15
   
   return 0;
 }

Analicemos este ejercicio:
  • Este programa esta diseñado para calcular el área de un triángulo, en la cual el usuario debe ingresar la base y altura del mismo, y se mostrará como resultado el área.
  • Las variables se han creado tipo float. El motivo es que es muy probable que el usuario ingrese un valor con decimales para la base y altura y es mucho más probable que el resultado del área = (base * altura) / 2, sea un valor decimal.
  • A diferencia del código anterior antes de pedir con el cin los valores para altura y base se ejecuta el cout con un texto entre comillas, esto le indica al programa que el texto se debe mostrar en la terminal tal cual como esta allí; es decir mostrará íntegro la oración que esta entre comillas.
  • Al final de cada sentencia cout se coloca un fin de línea (endl), lo indica que una vez que muestre el texto, debe bajar una línea y mostrar lo que sigue. En esa misma línea se esta usando << dos veces, esto indica que se esta concatenando (uniendo) ambas sentencias: El texto entre comillas y el endl.
  • Posteriormente de inserta con cin los datos presionados por teclado en la variables (Líneas 11 y 13).
  • Se realiza la operación del cálculo del área (Línea 14).
  • Se muestra el resultado (Línea 15). Aquí nuevamente vemos una concatenación con el símbolo <<: Primero se muestra el texto y posteriormente el resultado de la variable area. Hay que fijarse de la diferencia de usar comillas y no en la instrucción cout. Si en esa línea también se hubiese colocado entre comillas area el programa mostraría el texto area.
Bien creo que este es todo en este capítulo. Antes de despedirme quisiera dejarles unos ejercicios sencillos para que practiquen y se familiaricen.

Realicen un programa que:
  • Reste tres números ingresados por el usuario y muestre su resultado.
  • Multiplique dos número que el usuario ingrese por teclado y muestre su resultado.
  • Calcule el área de un cuadrado y un cilindro y muestre sus resultados.

Recuerda si tienes alguna duda no déjame tu comentario y te responderé al respecto.

0 comentarios:

Publicar un comentario