Tag Archives: variables

Cuando inicializar las variables en cero y cuando no

Cuando empecé a aprender a programar en c++ (creo que uno nunca acaba) me enseñaron que siempre hay que inicializar en cero o en algún otro valor las variables, porque si no, pueden tomar valores raros que podrían arruinar nuestro programa.

Vamos a ver si la leyenda es cierta:

#include
using namespace std;

int main()
{
    int var1;
    cout << var1;
}

Pues con mi compilador sí lo es, una variable sin inicializar toma valores raros. Pero si se han fijado en mis programas, yo no siempre inicializo mis variables, ¿por qué? Pues porque no siempre es necesario.

La regla es bastante simple: “Si la primera instrucción en la que usamos nuestra variable es de asignación, no es necesario inicializarla.” Por ejemplo:

cin >> var1; // no es necesario inicializarla
var2 = 14; // no es necesario inicializarla
cout << var3; // es necesario inicializarla
var4 = cos(45); // no es necesario inicializarla
var5++; // es necesario inicializarla
if(var6 != 7) // es necesario inicializarla
cin.getline(var7); // no es necesario inicializarla

Podemos seguir inicializando todas las variables que usemos, pero si únicamente inicializamos las necesarias vamos a dar la impresión de que sabemos lo que estamos haciendo XD

Advertisements

Cómo contar el número de veces que sucede algo

Bueno, en esta ocasión vamos a ayudarle a un comentarista de este blog con sus problemas, el me ha pedido un programa que cuente la cantidad de números primos que hay en un rango, no se ha conformado con saber si un número es primo o no o con saber cómo mostrar los números primos en un rango, así que le vamos a ayudar con la única parte de su programa que le falta: saber cómo contar el número de veces que sucede algo.

Para esto vamos a usar una variable tipo int (entero) que va a ir aumentando una unidad cada vez que ocurra ese ‘algo’ que queremos contar. Veamos como funcionaría un contador dentro de un ciclo:

#include
using namespace std;

int main()
{
    int contador=0;
    for(int i=0; i<10; i++)
        contador++;
    cout << contador;
}

Obviamente esto muestra un 10 en pantalla. Porque la variable ‘contador’ aumenta una unidad cada vez que el ciclo da una vuelta.
contador++; es lo mismo que contador = contador + 1;
Ahora veamos como funciona si agregamos una condición:

#include
using namespace std;

int main()
{
    int contador=0;
    for(int i=0; i<10; i++)
    {
        if(i==5)
            contador++;
    }
    cout << contador;
}

Esto obviamente muestra en pantalla un 1, porque solo una vez i vale 5. Ahora con una condición más complicada:

#include
using namespace std;

int main()
{
    int contador=0;
    for(int i=0; i<10; i++)
    {
        if(i%2==0)
            contador++;
    }
    cout << contador;
}

Con el operador % se obtiene el residuo de la división de los dos números entre los que está. Si la condición es que i/2 tenga residuo un de 0, significa que estamos dejando pasar sólo los números pares, por lo que deberá mostrarse en pantalla un 5.

Qué fácil no?, ahora nuestro amigo ya tiene todo lo necesario para armar su programa.

Declarar variable dentro de un ciclo for

En el programa anterior use la “técnica” de declarar una variable dentro de un ciclo for y luego de publicarla me di cuenta de que algunas personas podrían encontrar eso algo confuso.

Es casi exactamente lo mismo escribir esto:
int i=0;
for(i=0; i<=10; i++)
{
printf("%i", i);
}

…que esto:
for(int i=0; i<=10; i++)
{
printf("%i", i);
}

La única diferencia es que en el primero ‘i’ es una variable como cualquier otra y en el segundo ‘i’ solo sirve dentro del ciclo for. Esto mas que ser una desventaja es una ventaja, ya que te permite usar la misma variable en todos lo ciclos que quieras en el mismo programa. Yo en lo personal siempre uso ‘i’ como la variable que controla cualquier ciclo, si llegara a haber un ciclo dentro de otro, uso ‘ii’.

Pedir datos en C++ – scanf()

Hasta ahora, todo los ejemplos que hemos visto usan datos que nosotros mismos le ponemos la programa, pero ¿qué hacer si necesito que el usuario sea quien introduzca los datos de entrada?

Al igual que printf() muestra datos, scanf() los guarda.

Ejemplo:

#include<stdio.h>
#include<conio.h>
int main()
{
  int edad=0;
  printf("Cual es tu edad? ");scanf("%d",&edad);
  printf("Tu tienes %d anios", edad);
  getch();
}

El scanf() guarda en la variable indicada todo lo que introduzcas desde el teclado hasta que oprimas ‘enter’. Su sintáxis tiene que ser exacta:

scanf ( ” tipo-de-dato ” , & variable ) ;
scanf ( ” %d ” , & edad ) ;

scanf() es sin duda una de las instrucciones que más estaremos usando, ya que la interacción con el usuario es fundamental en el desarrollo de programas.

Operaciones en C++

Bien, ya sabemos declarar y mostrar variables, ahora solo falta saber cómo hacer operaciones matemáticas con ellas. Una suma sería así:

#include
#include
int main()
{
  int num1=5, num2=10, resultado=0;
  resultado=num1+num2;
  printf("El resultado es: %i", resultado);
  //Esto mostrará en pantalla: El resultado es: 15
  getch();
}

Como ven, siempre hay que tener una variable para guardar el resultado de cualquier operación. En algunos casos se puede usar la misma variable:

#include
#include
int main()
{
  int num1=5;
  num1=num1+6;
  printf("El resultado es: %i", num1);
  //Esto mostrará en pantalla: El resultado es: 11
  getch();
}

Entonces, los signos de operación en C++ y la mayoría de los lenguajes de programación son:

  • + para suma
  • – para resta
  • * para multiplicación
  • / para división
  • () también indican multiplicación

Variables en C++ 2 – Mostrar variables

Ya sabemos como agregar variables a nuestros programas, ¿pero cómo se usan?

Para mostrar el valor de una variable en pantalla con printf() se usan los caracteres de sustitución. Vean este programa:

#include<stdio.h>
#include<conio.h>
int main() //Esta es la función main, va en todos los programas
{
  int numero=7; //A la variable numérica 'numero' le asignamos un valor de 7
  printf("El numero es %i", numero); //Esto mostrará en pantalla: El número es 7
  getch(); //Hace una pausa
}

Como ven, el valor de la variable aparece en lugar de %i, cada tipo de dato tiene su propio caracter de sustitución.

  • Para int se usa %i o %d
  • Para float se usa %f
  • Para char se usa %c

Otros ejemplos:

#include<stdio.h>
#include<conio.h>
int main()
{
  int edad=17;
  float altura=1.67;
  printf("Edad: %i años, altura: %f metros", edad, altura);
  //Esto mostrará en pantalla: Edad: 17 años, altura: 1.670000 metros
  getch();
}

Para mostrar datos float, podemos usar este ‘truco’:

  • %f mostrará 0.000000
  • %.2f mostrará 0.00
  • %.1f mostrará 0.0
  • %.f mostrará 0

Variables en C++ 1 – Lo básico

Parte fundamental de cualquier lenguaje de programación son las variables. Si sabes algo de álgebra, por variable te imaginarás una letra que puede tener varios valores. En programación ésto no cambia mucho, solo que una variable puede tener un nombre completo, no solo una letra.

Ejemplos de nombres variables

  • x
  • contador
  • primer_nombre
  • num_primo

Una variable no puede tener espacios, caracteres especiales (acentos, signos), tiene que empezar con una letra.

Ejemplos de valores variables

  • x=12
  • contador=0
  • primer_nombre=”Juanito Gómez”
  • num_primo=7

Las variables se usan para almacenar valores que cambian dinámicamente en el transcurso del programa.

Como declarar una variable en C++

C++ maneja varios tipos de variables: numéricas, de caracteres y boolean (cierto o falso) esencialmente.

Para declarar una variable numérica llamada altura que inicie con un valor de 0, escribimos esto:

int altura=0;

Para declarar una variable numérica llamada distancia que inicie con un valor de 2.67, escribimos esto:

float distancia=2.67;

Para declarar una variable de caracter llamada inicial, con un valor de R, escribimos esto:

char inicial='R';

Para declarar una variable boolean llamada terminado, que empiece como falso, escribimos esto:

bool terminado=false;

En resumen:

  • Para variables numéricas sin decimales se usa: int
  • Para variables numéricas con decimales se usa: float
  • Para variables de un solo caracter se usa: char
  • Para variables boolean se usa: bool

Como declarar varias variables en C++

Solo se pone el tipo de dato (int, float, char, bool) y separamos las variables con comas.

int num=0, personas=16, lugares=10;

Siempre va un punto y coma (;) al final de la declaración de variables.

Algo de teoría para hoy, después vendrá la práctica.