Je souhaite effectuer une assignation de variable simultanée en Pascal. Pour autant que je sache, ce n'est pas possible. Googling sur le problème, je peux voir que de nombreux langages de programmation implémentent cela, mais je ne peux pas trouver comment le faire en Pascal.Affectation de variable simultanée en pascal
Par exemple, en Python, je peux le faire:
(x, y) = (y, x)
En Pascal, je besoin d'une variable supplémentaire pour maintenir la valeur de x avant qu'il ne soit retiré, quelque chose comme ceci:
bubble := x;
x := y;
y := bubble;
Donc, y a-t-il une assignation simultanée en Pascal, ou devrais-je réécrire le code à quelque chose comme la chose bulle ci-dessus?
Je n'ai pas seulement besoin de faire des échanges; parfois je dois faire des choses comme ceci:
(x,y) = (x+1,y+x)
Serait-ce correct de le faire comme le suivant?
old_x := x;
old_y := y;
x := x + 1; // maybe x := old_x + 1;
y := old_y + old_x;
Le terme que vous cherchez ici est 'swap' - vous voulez échanger les valeurs de' x' et 'y'. –
Bien que ces quatre instructions soient OK, je pense que je le ferais en deux: 'y: = y + x; x: = x + 1; ' –