¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Algoritmia
  3. Variables y operadores
Extrait - Algoritmia Técnicas fundamentales de programación – Ejemplos en Python (numerosos ejercicios corregidos) (Nueva edición)
Extractos del libro
Algoritmia Técnicas fundamentales de programación – Ejemplos en Python (numerosos ejercicios corregidos) (Nueva edición) Volver a la página de compra del libro

Variables y operadores

Variables simples

Volvamos a las dos analogías del capítulo introductorio. Con las instrucciones de montaje de los muebles en kit, podemos identificar dos partes bien diferenciadas:

  • La lista de piezas incluye todas las variables: 18 tornillos, 4 tableros rectangulares, 1 destornillador, etc.

  • Los diagramas muestran las instrucciones: inserte los tornillos en los orificios de los tableros, por ejemplo.

Insertar los tornillos en los tableros se puede considerar como un operador, ya que modificará nuestras variables de tableros y tornillos, creando tableros con tornillos.

Veamos ahora la segunda analogía: la receta de cocina. Necesitará 1 masa quebrada, 1 sobre de azúcar avainillado, 30 gramos de mantequilla y 6 manzanas. Podemos considerar la lista de ingredientes como un conjunto de variables, a cada una de las cuales se le asignará un valor.

Podemos traducir esta lista en un algoritmo de la siguiente manera:

Masa_quebrada <-  1  
azucar_avainillada <-  1  
mantequilla_en_gramos <-  30  
manzanas <-  6 

Utilizamos el operador <- para asignar un valor a una variable: hay seis manzanas (manzanas <- 6). A medida que vayamos añadiendo más manzanas al pastel, el número de manzanas restantes irá disminuyendo. Una variable, como su nombre indica, tiene un valor que puede cambiar con el tiempo y se utiliza para almacenar este valor con una etiqueta determinada.

En los algoritmos, por convención los caracteres acentuados no están permitidos y el carácter "_" se utiliza para separar dos palabras en una variable o nombre de programa para hacerlo más legible.

El principio de las variables permite al ordenador conocer y almacenar un valor etiquetado, en cualquier momento de la ejecución del programa.

A diferencia de una lista de la compra o una receta de cocina, el ordenador necesita conocer el tipo de una variable y su nombre, que se denomina identificador.

El identificador de una variable debe ser único dentro del programa o algoritmo, de lo contrario el ordenador nunca sabrá qué variable manipular. Imagine que está en una fiesta y se encuentra con tres personas llamadas Kevin. Si le pidieran que fuera a buscar a Kevin, ¿a cuál elegiría? Sin otros elementos descriptivos como el color del pelo, la altura, etc....

Utilizar las variables

Las variables son inútiles si no podemos operar con ellas. Para hacer esto, vamos a utilizar operadores que son relativos al tipo de la variable.

Todos los operadores funcionan con variables, con valores o con una variable y un valor.

Se dice que un operador es binario si tiene dos operandos, es decir, trabaja con dos valores. Un operador unario solo tiene un operando.

1. Operadores matemáticos comunes

Los operadores matemáticos comunes se pueden utilizar en los tipos ENTERO y REAL. Representan cálculos matemáticos básicos:

  • Suma, con el símbolo +.

  • Resta, con el símbolo -.

  • Multiplicación, con el símbolo x.

PROGRAMA Ejemplo_operador_mat  
VAR  
   a <- 17 : ENTERO  
   b <- 2 : ENTERO  
   z <- 1.1 : REAL  
   y <- 2.87 : REAL  
   res : ENTERO  
INICIO  
   res <- a + b  
   ESCRIBIR("La suma de a y b es ",res)  
   res <- a - b  
   ESCRIBIR("La resta de a y b es ", res  
   res <- a x b  
   ESCRIBIR("La multiplicación de a y b es ", res)  
   ESCRIBIR(z + y)  
   ESCRIBIR(z - y)  
   ESCRIBIR(z x 3.89)  
FIN 

En el algoritmo anterior, puede comprobar que el operador ESCRIBIR se utiliza para mostrar el valor del resultado de una operación, sin tener que almacenarlo en otra variable.

2. Operadores específicos de los números enteros

Los números enteros tienen dos operadores específicos:

  • División, con el símbolo DIV.

  • El resto...

Operaciones con cadenas

Las cadenas de caracteres son tipos complejos. A diferencia de los otros tipos que hemos visto, se componen de varios valores (varios caracteres) uno detrás de otro, no de un único valor.

Como resultado, no podemos manipularlos tan fácilmente como otros tipos utilizando operadores simples.

En algoritmia, tenemos:

  • La concatenación: añadir una cadena tras otra.

  • La extracción: crear una cadena a partir de otra.

  • La longitud: indica el número de caracteres de una cadena.

1. Concatenación

Para concatenar dos cadenas, utilizamos el operador de concatenación CONCATENAR. Este operador recibe dos cadenas como argumentos y genera una nueva cadena, cuyo valor será la primera cadena seguida de la segunda:

PROGRAMA Ejemplo_Concatenar  
VAR  
   cadena1 : CADENA <- "Hello"  
   cadena2 : CADENA <- "World"  
   res : CADENA  
INICIO  
   res <- CONCATENAR(cadena1, cadena2)  
   ESCRIBIR(res)   // HelloWord   
   res <- CONCATENAR(cadena1, " ")  
   ESCRIBIR(res)   // Hello  
    res <- CONCATENAR(res, cadena2)  
    ESCRIBIR(res)   // Hello Word  ...

¿Y los lenguajes?

Los algoritmos pretenden representar tantos lenguajes como sea posible. Sin embargo, en esta sección confirmaremos la famosa expresión "del dicho al hecho, hay un gran trecho". El algoritmo pretende ser una base común para la mayoría de los lenguajes de programación, pero cada uno tiene sus propios mecanismos de gestión interna, que pueden modificar enormemente el código generado a partir del algoritmo. En esta sección, veremos algunas de estas diferencias antes de empezar a aprender Python.

1. Tipado

En programación, podemos distinguir en la actualidad cuatro clases interesantes de lenguajes:

  • Lenguajes de tipado estático.

  • Lenguajes de tipado dinámico.

  • Lenguajes fuertemente tipados.

  • Lenguajes débilmente tipados.

Los lenguajes pueden exigir que se declare o no el tipo de las variables de un programa (tipado estático o dinámico). También pueden permitir o no que el tipo de una variable cambie durante la ejecución del programa (tipado débil o fuerte).

a. Lenguajes de tipado estático

Tipado estático significa que el lenguaje obliga a que el tipo de cada variable se declare al mismo tiempo que se declara la variable, igual que en los algoritmos. Se puede inicializar en cualquier momento después de su declaración.

Este tipo de lenguaje incluye lenguajes como C, C++, Java, C# y TypeScript, por ejemplo.

Tenga en cuenta que C es uno de los pocos lenguajes que requiere que todas las variables se declaren al principio del programa, como en la programación algorítmica.

b. Lenguajes tipados dinámicamente

En un lenguaje de tipado dinámico, el lenguaje determina el tipo de variable en el momento de su inicialización. Si asignamos...

Python y los tipos

Ahora que tiene todas las claves de la lógica de programación, vamos a centrarnos en el quid de la cuestión, y para hacer esto vamos a instalar Python para que pueda escribir programas (o scripts).

1. Instalación

Python solo viene instalado de serie en ordenadores con Linux o macOS.

Los desarrolladores de Windows deben instalar Python siguiendo las instrucciones del sitio web oficial: https://www.python.org/

 Para comprobar que Python está instalado correctamente, inicie una consola/terminal o cmd y escriba la línea de comandos python (o python3 dependiendo de su instalación). Entonces debería tener acceso a un simple calculador de Python, como se muestra en la siguiente figura. Este calculador se puede utilizar para ejecutar rápidamente instrucciones en Python, en particular para probarlas rápidamente. Para salir del calculador, escriba la instrucción exit().

images/02RI02.png

Calculador Python

Cuando se instala Python, automáticamente también se instala IDLE, que es el entorno de desarrollo integrado (IDE) para Python. Este IDE consta de dos ventanas, como se muestra en la siguiente figura: el calculador de Python que ejecutará su script (la ventana de la izquierda) y su script (la ventana de la derecha). De esta manera puede ver al mismo tiempo en pantalla tanto su código, como el resultado.

Un IDE es un software que le ayuda y aconseja sobre cómo escribir su programación. Le facilita el trabajo al conocer la sintaxis del lenguaje en el que está programando. Así, le indicará los errores más rápidamente y permitirá leer el código más rápidamente gracias a la coloración sintáctica. Algunos IDE también ofrecen la posibilidad de completar automáticamente su código, con un sistema de autocompletado pseudointeligente.

images/02RI03.png

IDLE

 Para crear un nuevo script, vaya a Archivo - Nuevo y guarde su script con la extensión .py.

 Haga clic en el menú Ejecutar para ejecutar su código.

No es obligatorio usar IDLE. También puede codificar con SublimeText o PyCharm, por ejemplo. Hay bastantes IDEs para Python, así que depende de usted elegir el que más le convenga.

Es aconsejable instalar la penúltima versión del lenguaje para asegurar la compatibilidad con librerías...

Ejercicios

1. Ejercicio 1

Escriba el algoritmo para calcular el área de un rectángulo cuya anchura y longitud vienen dadas por el usuario.

2. Ejercicio 2

Escriba el algoritmo que convierte el número entero de segundos introducido por el usuario, en un número de años, meses, días, horas, minutos y segundos. Para simplificar, supondremos que un año consta de 352 días y un mes de 30 días.

3. Ejercicio 3

Escriba dos algoritmos diferentes que inviertan los valores de dos variables. Estos valores los proporciona el usuario.

4. Ejercicio 4

Escriba el script para el algoritmo que calcula el área de un rectángulo cuya anchura y longitud las proporciona el usuario.

Recuerde probar todos los casos posibles en sus scripts Python para evitar sorpresas desagradables cuando se ejecuten inesperadamente.

5. Ejercicio 5

Escriba el script para el algoritmo que convierte un número entero de segundos introducido por el usuario, en un número de años, meses, días, horas, minutos y segundos.

6. Ejercicio 6

Escriba los códigos Python correspondientes a los dos algoritmos de inversión de valores de variables.