Hola a todos, hoy os explicare una parte importante
la asignación donde veremos cómo se comportan las variables cuando
asignamos valores en ellas.
La asignación es
la operación que usamos para dar un valor a una variable.
Debemos tener en cuenta el tipo de variable cuando
almacenamos un valor en una variable, en otros lenguajes son más estrictos con
este tema, pero en pseudocódigo solo debemos saber que no
podemos mezclar distintos tipos de valores.
Por ejemplo, si tenemos una variable con un
valor numérico y queremos volver asignarle un valor de otro tipo, una
cadena de texto por ejemplo, nos daría un error porque
no coincidirían los tipos. En cambio si ese valor fuera
un valor numérico no daría ningún error.
Otro aspecto a tener en cuenta, es que la asignación es
una operación destructiva, es decir, que si almacenamos un valor en la misma
variable el valor que tenía antes desaparece. Veamos un ejemplo:
1
2
3
4
5
|
Inicio
A<-5+1
A<-2-1
A<-A+7
Fin
|
Vayamos por pasos, la variable A al
principio vale 6, después, A valdrá 1 y por
ultimo valdrá 8. Como vemos al final prevalece el último resultado,
el valor 6 y 1 desaparecerían, siempre y cuando se almacene en la misma variable.
Por último, debemos saber que en
una operación de asignación debemos empezar a leer
en la parte de la derecha, que puede contener un valor o
una expresión (una suma, varias operaciones, etc.). Es decir, que
primero tenemos que ver el valor o expresión y ese valor final será
el que se asigne a la variable.
Variable<-valor o expresión
Debéis saber, que cuando tenemos una expresión,
como por ejemplo, 5+10/2, en pseudocódigo no se sigue
la prioridad de la operación es decir, que se suma 5+10 y se divide
entre 2. Si queremos que una operación tenga más prioridad debemos
ponerla entre paréntesis, por ejemplo, 5+(10/2), realizara
la operación del paréntesis antes de realizar la suma.
Para probar lo que hemos aprendido, os invito a
realizar este ejercicio, pensarlo y mirar la solución para ver si
coincide.
1
2
3
4
5
6
7
8
9
|
Inicio
A
<- 5
B
<- 7
C
<- 2
A
<- A + B + C
B
<- C / 2
A
<- A / B + A ^ C
C
<- A+(B-C)-B
Fin
|
a) ¿Qué
valor contiene A después de la quinta línea?
b) ¿Qué
valor contiene B después de la sexta línea?
c) ¿Qué
valor contiene A después de la séptima línea?
d) ¿Qué valor
contiene C después de la octava línea?
a) A tendrá un
valor de 14, ya que es el resultado de 5+7+2. Después de
esta operación, el 5 que tenía desaparece.
b) B tendrá un
valor de 1, ya el resultado de 2/2 es
1. Después de esta operación, el 7 que tenía
desaparece.
c) A tendrá un
valor de 210, ya que el resultado de 14/1+142.
d) C tendrá un
valor de 208, ya que primero se realiza la resta que hay
entre paréntesis que el resultado es -1 y
la expresión se queda de esta forma: 210-1-1
Espero que os sea de ayuda.