Skip to main content

Operaciones con datos

Las operaciones a realizar con los datos  pueden ser de muy diversa naturaleza:

- Aritméticas: operaciones clásicas de suma, resta, multiplicación y división.

- Lógicas: comparaciones, negación, Y, O

- Concatenación: en el caso de cadenas de caracteres o variables de diferentes tipos.

- Bucles: Implica la realización de acciones de forma repetida. En este caso convendrá distinguir dos tipos:

Número de veces a repetir la acción conocido previamente:  usaremos las estructuras  Repetir o Para (en inglés For)

Número de veces a repetir dependiendo de valores obtenidos: usaremos las estructuras Mientras (While...do)  o Repetir hasta que (Do ...while), según deseemos evaluar la condición antes o después de la primera iteración.

- Condicionales: implica la realización de unas acciones u otras tomando decisiones

Los tres primeros tipos de operaciones ya las hemos ido viendo en los apartados anteriores. Nos centraremos ahora en las dos últimas con los siguientes ejemplos.

Iteraciones y bucles

Para practicar con estas estructuras, realizaremos un pequeño programa que nos calcule el promedio de varios números. En primer lugar el programa solicita la cantidad de números a promediar, luego pide que se introduzcan los números tantas veces como le hayamos dicho (aquí está la repetición) Al final muestra el promedio. En este caso, como el número de iteraciones es conocido, usaremos la instrucción Para.

Pasos 1 y 2: Análisis y diagrama de flujo del programa Promedio de n números

Los elementos implicados serán:

  • Salidas: Solicitar número de calificaciones, mostrar promedio.
  • Entradas: cantidad de números y números a promediar
  • Datos a almacenar: número de elementos (número entero,  números introducidos (número real), acumulado de la suma de números (número real) y promedio (número real)
  • Operaciones: sumas y división.

Diagrama de flujo:

image-1662139909769.png

Pasos 3, 4 y 5: Codificación, compilación y verificación del programa Promedio de n números con PSeInt

Como vimos en el apartado anterior, después de renombrar el algoritmo comenzamos por definir las variables implicadas escribiendo la expresión Definir

image-1662140249122.png

PSeInt permite definir varias variables del mismo tipo en la misma línea, separadas con comas. Como veis, hemos definido una única variable numi donde guardaremos el número introducido por la persona usuaria cada vez.

A continuación solicitamos la cantidad de números a promediar (Escribir), leemos la respuesta y la almacenamos en la variable correspondiente (leer) e inicializamos el valor de acum en 0, aunque en realidad no sería necesario puesto que es el valor asignado por defecto.

image-1662141575309.png

Con el valor de nnum definido por el usuario llega el momento de la repetición: solicitaremos al usuario que introduzca un número nnum veces. Para ello usaremos el comando  Para disponible en la ventana de la derecha.

image-1662141816788.png

Al hacer clic sobre el comando, se nos escriben las siguientes instrucciones en nuestra hoja de algoritmo

image-1662141863542.png

Como variable numérica habitualmente se define una variable local (i, j, k...) que hace de contador. El valor inicial es 1 y el valor final el número de veces que queremos repetir la instrucción. En paso se especifica el crecimiento del contador de una iteración a otra (en nuestro caso de uno en uno).

Por último en la secuencia de acciones hemos de poner que es lo que queremos que se repita en cada ocasión. En nuestro caso solicitar el número, leerlo y sumarlo a los anteriores guardando el resultado en la variable acum.

image-1662142157986.png

El valor de numi se refresca y varía en cada iteración, puesto que ya hemos guardado el valor del número anterior en el acumulado. En un programa es muy importante usar el mínimo número de variables precisas para no añadir complejidad innecesaria al mismo.

Hemos concatenado en el mensaje de solicitud la variable numérica de contador. Eso nos permite mostrarle al usuario en qué iteración se encuentra. La instrucción Escribir seguida de los elementos a concatenar separados por comas los coloca en la misma línea y sin separación entre ellos. Por eso es preciso considerar los espacios de separación en las cadenas de caracteres que incluyamos.

Por último, asignamos el valor del promedio al cálculo correspondiente y mostramos el resultado nuevamente concatenando dos mensajes.

image-1662142637559.png