Curso de programación

Escribiendo tu primera variable en un algoritmo

Capítulo 13: Algoritmo con variables en PSeInt

En esta apartado, vamos a empezar a practicar con las variables, creando un algoritmo que forme una frase con tu nombre guardado en una variable.

Empezamos con este código:

Algoritmo saludo
	
FinAlgoritmo

El comando Definir de PSeInt

El comando Definir de PSeInt, no aparece en la sección de comandos, lo tenemos que escribir a mano.

En inglés, definir se traduce como "define".

Este comando se utiliza para declarar una variable, sin inicializarla. Puesto que va a ser el usuario el que escriba el nombre, necesitamos una variable que no tenga nada escrito.

En PSeInt, se pueden declarar e inicializar las variables sin utilizar el comando Definir, sin embargo, es buena práctica que lo utilicemos siempre.

Algunos lenguajes de programación como Python, no permiten declarar una variable sin inicializar.
Algoritmo saludo
	Definir nombre Como cadena
FinAlgoritmo

Ahora que ya tenemos la variable declarada, es el momento de trabajar en la siguiente parte del algoritmo.

El comando Asignar de PSeInt

El comando Asignar de PSeInt consta de una variable, un operador de asignación y un valor. Representa las tres partes de una variable que vimos en el capítulo anterior.

En inglés, Asignar se traduce como "assign".

Asignar PseInt

Hacemos clic sobre él y nos quedará algo así:

Algoritmo saludo
	Definir nombre Como cadena										
	variable<-expresion
FinAlgoritmo

Donde pone variable, tienes que ponerle un nombre. Yo la voy a llamar nombre, ya que va a almacenar mi nombre. Si almacenara mi edad, la llamaría "edad".

La flecha, representa el símbolo de asignación, que como expliqué, suele ser el símbolo = en casi todos los lenguajes de programación.

En la parte de expresión, tienes que poner un valor. Este valor puede ser un simple dato, el nombre de otra variable, una expresión. En fin, no te preocupes por esto ahora. Solo guarda tu nombre en ella.

¿De qué tipo de dato va a ser el nombre? Puesto que un nombre es un conjunto de varios caracteres, un string o cadena de caracteres. Esto se define en PSiInt como Tipo de dato Cadena.

Algoritmo saludo
	Definir nombre Como cadena										
	nombre<-"Enrique"
FinAlgoritmo
El tipo de dato Cadena de PSeInt equivaldría al str de Python. Ambos sirven para guardar cadenas de caracteres en las variables.

El nombre o identificador que le hayas dado a la variable, es importante, porque para usar su valor en cualquier parte del algoritmo, necesitamos llamarla por su nombre.

Una línea más abajo, vamos a utilizar el comando Escribir. Aquí, escribiremos un string. A ese string, le añadiremos el valor de la variable. Formando así una frase con los dos valores, que se mostrará en la consola.

Algoritmo saludo
	Definir nombre Como cadena
	nombre<-"Enrique"
	Escribir "Mi nombre es ", nombre
FinAlgoritmo

En la consola aparece todo el conjunto:

Variables con PSeInt

El diagrama de flujo, ahora es un poco más complejo, ya que tiene los pasos extra de la variable.

Diagrama de flujo con variable en PSeInt

Si te fijas, la variable es un elemento interno del algoritmo, no hay salida ni entrada, ya que se utiliza por el algoritmo únicamente. Sin embargo, su valor está incluido en el mensaje de salida en la consola.

Si te aparece el mensaje así:

Espacios en blanco en PSeInt

Es porque no has añadido un espacio para separar el string de Escribir y el valor añadido de la variable. Fíjate bien como está mi algoritmo escrito en la línea 3.

Debes saber que PSeInt admite esta sintaxis con las variables: nombre = "Enrique"

Palabras reservadas del lenguaje

Todos los lenguajes de programación tienen lo que se conoce como palabras reservadas del lenguaje. Estas son las palabras que utiliza un lenguaje de programación para hacer cosas. Por ejemplo, Escribir es una palabra reservada en PSeInt, pero no lo es en Python. Eso significa, que en PSeInt, no podemos utilizar el nombre "Escribir" para una variable. Esto sería incorrecto:

Algoritmo nombreIncorrecto
	Definir Escribir como Cadena
FinAlgoritmo

El error producido es este:

 ERROR 48: Identificador no válido (ESCRIBIR).

Nos dice que no podemos utilizar ese identificador como nombre de variable.

Case sensitive

Luego tenemos otro término del inglés que se utiliza para decir si algún elemento es sensible a mayúsculas y minúsculas (case sensitive). Esto se refiere a si el intérprete o compilador sabe diferenciar mayúsculas de minúsculas.
La mayoría de lenguajes de programación antiguos no eran case sensitive. Los modernos, casi todos.

En Python, no es lo mismo escribir PRINT() que print(). El primero te daría un error, ya que el intérprete sabe que va en minúsculas.

PSeInt no es case sensitive. Podemos decir que es case insensitive. No distingue mayúsculas de minúsculas. Estos dos códigos, funcionan igual:

ALGORITMO PRUEBAS
	DEFINIR NUM1 COMO CADENA
	
	LEER NUM1
FINALGORITMO
Algoritmo pruebas
	Definir num1 Como Cadena
	
	leer num1
FinAlgoritmo

Declarar e inicializar variables en la misma línea

En muchos lenguajes de programación, está permitido declarar e inicializar las variables en la misma línea. En Python y en PSeInt esto es posible. Veamos el ejemplo con PSeInt. En este caso, no necesitaremos ni siquiera utilizar Definir.

Algoritmo pruebas
	numero1 = 1
	numero2 <- 2
	
	Escribir "Los valores de estas variables son: " numero1, " y ", numero2, "."
FinAlgoritmo
Anterior Siguiente

Comentarios

Si te quedan dudas sobre el temario, sobre Programación, PseInt, Python o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.