lunes, 25 de septiembre de 2017

Asignación en Pseudocodigo

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.

No hay comentarios:

Publicar un comentario