extras » e-books       -       Multisite » Blogpocket | Acordes modernos | Mariposas en la maleta
Icono Twitter  Icono Facebook  Blogpocket Multisite en Google+  Icono Google+  Icono RSS


Cómo intercambiar el valor de dos variables

En nuestras pequeñas píldoras de Programación les explicaré algunos conceptos básicos. Si alguna vez se han preguntado qué hay detrás de WordPress o cualquier otra aplicación, no se pierdan esta serie de posts con la categoría Programacion.

Variables 1Éste es uno de los ejercicios básicos de programación de ordenadores y sirve para entender el concepto de variable. Una variable es la estructura más sencilla que nos podemos encontrar para almacenar datos. Con un poco de imaginación, una variable es una caja en la que podemos guardar números, textos o cualquier otra cosa; es decir, valores. El valor de una variable se puede manipular, simplemente con la operación de asignación. Esa es de las primeras instrucciones que se enseñan en programación y suele escribirse utilizando el signo ‘=’, aunque sería más intuitivo el símbolo ‘<-’. La instrucción ‘A=5′ asignaría el valor ’5′ a la variable que se denomina ‘A’.

Nos detenemos un momento en la primera figura, donde vemos dos cajas (dos variables) recibiendo cada una un valor numérico. La caja de nombre ‘A’ recibe el valor ’5′ y la caja de nombre ‘B’, el valor ’2′. Eso se puede hacer con las instrucciones: ‘A=5′ y ‘B=2′. Las variables funcionan de la siguiente forma: si después de asignar un valor concreto a una variable le damos otro diferente, el primero se pierde y el que permanece es el último asignado.

El problema consiste en intercambiar los valores de ambas variables. Que B tenga el valor de A y ésta el de B, cualesquiera que sean dichos valores.

Variables 2Lo más lógico sería pensar en escribir las dos intrucciones siguientes: “A=B’ y ‘B=A’. Siempre con la idea de que lo que queremos hacer es: ‘A<-B’ y ‘B<-A’. Pero con eso solo lograríamos que A y B tuvieran el valor ’2′. Entender eso es la primera parte del ejercicio. Con ‘A=B’ se consigue que A valga 2, ya que B valía 2. Y, a continuación, si A vale ahora 2, con ‘B=A’ terminamos asignando 2 a B, con lo que A y B tendrán el mismo valor que tenía B al principio.

La forma de resolver el problema es utilizar una tercera variable auxiliar. En primer lugar, guardamos en C (la variable auxiliar) el valor de A. Después, introducimos en A el valor de B. Ahora no importa que hayamos perdido el valor de A porque lo habíamos guardado en C. Y por último, almacenamos en B el valor de C.

En PHP podemos escribirlo así (en php las variables se identifican poniéndoles delante el símbolo ‘$’, para escribir el código HTML se utiliza la instrucción ‘echo’ y todas las sentencias terminan en ‘;’):

<?php
$A=5;
$B=2;
echo “variables antes del intercambio:<br />”;
echo “A= “.$A.”<br />”;
echo “B= “.$B.”<br />”;
$C=$A;
$A=$B;
$B=$C;
echo “variables después del intercambio:<br />”;
echo “A= “.$A.”<br />”;
echo “B= “.$B.”<br />”;
?>

También puedes leer:

6 comentarios a “Cómo intercambiar el valor de dos variables”

  1. Walter Hernandez Dice:

    El ejercicio ha estado muy bueno y fácilmente entendible. Gracias!


  2. Henry Salas Dice:

    Perfecto para principiantes muy explicito!


  3. maickdiaz Dice:

    todo lo que dices es cierto pero ahora agregando la dificultad que no se puede crear una tercera variable mi profesor de fund. de programacion dice que si se pueden intercambiar los varoles aun asi si sean negativos o una de las varibles sea cero mejor dicho los numeros (lR) reales crees tu que este ejercicio si tiene solucion sin una tercera variable? y si es asi como es?


  4. Vladimir Rambalde Dice:

    Mil gracias exelente tu eres un genio…


  5. Bruno Dice:

    Sin usar una variable adicional sería de la siguiente manera:

    a = a – b
    b = b + a
    a = b – a

    Se guarda primero en a la diferencia entre a y b, luego se puede establecer el valor de b sumándole a su valor la diferencia hallada. Posteriormente, se calcula el nuevo valor de a a partir del valor de b, restándole la diferencia (proceso contrario al anterior).


  6. Yo Dice:

    Muchas gracias, me ha servido para solucionar un problema de intercambios en el lenguaje java.

    Lo he hecho así:

    double c = a;
    a = b;
    b = c;

    Por supuesto las variables a y b estaban previamente declaradas.

    Un Saludo.


Haz un comentario:

Los comentarios están moderados y puede trasncurrir un tiempo hasta que se publiquen.

Puedes participar en la conversación utilizando tu cuenta de Facebook (opción recomendada) o el sistema clásico de WordPress.

Facebook

Si eliges "publicar en Facebook" tu mensaje se verá en tu biografía de Facebook inmediatamente. Aquí no aparecerá hasta que se apruebe.


WordPress

Si lo prefieres puedes comentar con el sistema clásico de WordPress.

XHTML: Se pueden utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>