Lenguaje de Programación

Comando Función y su poder en PSint: Tu Guía Definitiva

¿Qué es PSint?

PSeInt es una herramienta educativa diseñada para ayudar a los estudiantes en sus primeros pasos en la programación. Se trata de un pseudolenguaje en español que permite a los estudiantes centrarse en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje de programación real. PSeInt proporciona un entorno de trabajo con numerosas ayudas y recursos didácticos, como la capacidad de ejecutar algoritmos paso a paso, modificar datos selectos de una ejecución ya finalizada, generar tablas de prueba de escritorio y más como lo es el comando función.

La función en PSeInt es un comando que se utiliza para crear subprocesos o algoritmos que realizan una tarea específica dentro de un programa. Permite dividir el código en partes más pequeñas y organizadas, lo que facilita la comprensión y el mantenimiento del programa.

Algunas características y aspectos importantes de las funciones en PSeInt son:

  • Nombre: Se utiliza para dar un nombre único a la función, lo cual permite llamarla desde otras partes del programa.
  • Argumentos: Las funciones pueden recibir argumentos, que son variables utilizadas para pasar valores para realizar la función.
  • Retorno: Las funciones pueden devolver un valor como resultado de su ejecución, que puede ser utilizado en otras partes del programa.
  • Reutilización de código: Al utilizar funciones, se puede reutilizar el mismo código en diferentes partes del programa, evitando la duplicación y mejorando la eficiencia.
  • Organización y modularidad: Las funciones ayudan a organizar el código en bloques más pequeños y lógicos, lo que facilita su comprensión y mantenimiento.

¿Que es una función en programación?

En programación, una función es un bloque de código que realiza una tarea específica y se puede volver a utilizar en diferentes partes de un programa. Las funciones permiten organizar y modularizar el código, lo que facilita su mantenimiento y reutilización.

Una función puede recibir parámetros (valores de entrada) y devolver un resultado (valor de salida). Los parámetros son variables que se utilizan dentro de la función para realizar cálculos o tomar decisiones, y el resultado es el valor que la función devuelve al finalizar su ejecución.

Las funciones se definen mediante una declaración que especifica su nombre, los parámetros que recibe y el tipo de dato que devuelve. Una vez definida, la función puede ser invocada o llamada desde otras partes del programa, pasando los valores de los parámetros necesarios.

Descripción de como se declara un comando función en Psint.

En Psint declara una función utilizando la palabra clave “función” seguida del nombre de la función y los parámetros que recibe. Por ejemplo:

funcion suma(a por valor, b por valor) 
    Definir resultado como Entero
    resultado <- a + b
    Devolver resultado
FinFuncion

En este ejemplo, se declara una función llamada “suma” que recibe dos parámetros, “a” y “b”, por valor. Dentro de la función, se realiza la operación de suma y se devuelve el resultado utilizando la palabra clave “Devolver”.

Es importante tener en cuenta que en PSeInt, los parámetros se pasan por valor de forma predeterminada, lo que significa que los cambios realizados dentro de la función no afectan a las variables originales que se pasaron como argumento.

Ejemplos simples de funciones en PSeInt

Ejemplo 1: Función que calcula el área de un triángulo

funcion calcularAreaTriangulo(base por valor, altura por valor)
    Definir area como Real
    area <- (base * altura) / 2
    Devolver area
FinFuncion

En este ejemplo, se declara una función llamada “calcularAreaTriangulo” que recibe dos parámetros, “base” y “altura”, por valor. La función calcula el área del triángulo utilizando la fórmula (base * altura) / 2 y devuelve el resultado.

Ejemplo 2: Función que verifica si un número es par.

funcion esPar(numero por valor)
    Definir esPar como Logico
    si numero % 2 = 0 entonces
        esPar <- Verdadero
    sino
        esPar <- Falso
    FinSi
    Devolver esPar
FinFuncion

En este ejemplo, se declara una función llamada “esPar” que recibe un parámetro, “numero”, por valor. La función verifica si el número es par utilizando el operador de módulo (%) para obtener el resto de la división entre el número y 2. Si el resto es 0, el número es par y la función devuelve Verdadero; de lo contrario, devuelve Falso.

Aplicando el comando función .

En la programación cotidiana, las funciones se utilizan para organizar y modularizar el código, lo que facilita su mantenimiento y reutilización. Las funciones permiten dividir un programa en tareas más pequeñas y manejables, lo que facilita su comprensión y mejora la eficiencia del desarrollo de software. Por ejemplo imaginemos que tenemos un supermercado y queremos desarrollar un código que me permita de manera mas optima obtener datos de mis clientes par poder ofrecerles un mejor servicio.

Código #1 de programación de supermercado: Calcular el IVA del producto.


funcion Indicación
	escribir "Escribe el precio del producto"
	escribir "Te dire el precio con IVA del producto"
FinFuncion
Funcion funcionproducto ( preciodado Por Referencia )
	preciodado2 <- preciodado * (1.19)
	fin funcion 
	funcion devolver <- funcioniva (preciodado2 )
		devolver<-  (preciodado2 * (1.19))
FinFuncion
	

La primera función se llama “Indicación”. Dentro de esta función, se muestra un mensaje en pantalla que solicita al usuario que ingrese el precio de un producto. Luego, se muestra otro mensaje indicando que se mostrará el precio del producto con el Impuesto al Valor Agregado (IVA). Esta función no devuelve ningún valor.

La segunda función se llama “funcionproducto”. Esta función recibe un parámetro llamado “preciodado” por referencia. Dentro de la función, se realiza un cálculo para obtener el precio del producto con el IVA incluido, multiplicando el valor de “preciodado” por 1.19 y almacenando el resultado en una variable llamada “preciodado2”. Luego, se llama a otra función llamada “funcioniva” y se asigna el resultado a la variable “devolver”. Esta función también realiza un cálculo similar al anterior, multiplicando “preciodado2” por 1.19 y devolviendo el resultado.

Video Explicativo del codigo.

Código #2 de programación de supermercado: Rifa por el aniversario del supermercado.

funcion Indicación
	escribir "Hola querido cliente, el dia de hoy es nuestro aniversario numero 100, y para celebrarlo estamos haciendo una rifa !"
	escribir "Introduce un número del 1 al 100 y te ganaras un mercado para todo un mes Buena suerte! "
fin funcion 
funcion funcionnumero (numerodado Por Referencia)
	numerodado2<- azar (100)+1
	
FinFuncion
funcion funciondevolver <-funcionrifa (numerodado2 Por Referencia)
	devolver<- azar (100)+1
	
FinFuncion
Algoritmo Rifa
	 Indicación
	definir n, r Como Entero
	leer n
	r<- funcionrifa (n)
	funcionnumero(r)
	
	Si n==r Entonces
		escribir "Felicidades, fuiste el ganador del mercado para todo un mes, esperamos lo puedas disfrutar"
	SiNo
		escribir"Lo sentimos, pero no acertaste en el número de la rifa, será para la proxima"
	Fin Si

FinAlgoritmo

La función “Indicación” muestra un mensaje de bienvenida al usuario, informando que es el aniversario número 100 y que se está realizando una rifa. Luego, se solicita al usuario que ingrese un número del 1 al 100 para participar en la rifa. Esta función no devuelve ningún valor.

La función “funcionnumero” recibe un parámetro llamado “numerodado” por referencia. Dentro de la función, se genera un número aleatorio entre 1 y 100 utilizando la función “azar” y se almacena en la variable “numerodado2”. Esta función no devuelve ningún valor.

La función “funciondevolver” recibe un parámetro llamado “numerodado2” por referencia. Dentro de la función, se genera otro número aleatorio entre 1 y 100 utilizando la función “azar” y se devuelve el resultado.

En el algoritmo principal “Rifa”, se llama a la función “Indicación” para mostrar el mensaje de bienvenida al usuario. Luego, se define una variable “n” para almacenar el número ingresado por el usuario y otra variable “r” para almacenar el resultado de la función “funcionrifa” al pasarle el número ingresado como argumento. A continuación, se llama a la función “funcionnumero” pasando “r” como argumento.

Después de eso, se compara el número ingresado por el usuario “n” con el número generado aleatoriamente “r”. Si son iguales, se muestra un mensaje de felicitaciones al usuario por haber ganado la rifa. Si no son iguales, se muestra un mensaje indicando que no acertó en el número de la rifa.

Video explicativo del código.

Código #3 de programación de supermercado: Devolución de un producto

Funcion indicacion 
	// el programa sirve para hacer devoluciones de los productos que nuestros clientes compren
	Escribir "si desea hacer una devolucion de mas de 1 producto le aconsejamos que se presente en nuestras oficionas presenciales con gusto atenderemos cualquier inquietud";
Fin Funcion
funcion RealizarDevolucion
    Escribir "Ingrese el nombre del producto a devolver:";
    Leer producto
    Escribir "Ingrese la cantidad del producto a devolver:";
    Leer cantidad
    Escribir "Ingrese el precio del producto a devolver:";
    Leer precio
    Escribir "Devolucion ", " de ", producto, " con un valor total de ", "$" cantidad * precio;
FinFuncion

Algoritmo ProgramaDevoluciones
	indicacion;
    RealizarDevolucion;
	FinAlgoritmo

Este programa utiliza dos funciones: “indicacion” y “RealizarDevolucion”. La función “indicacion” muestra un mensaje que aconseja a los clientes que deseen realizar devoluciones de más de un producto que se presenten en las oficinas presenciales para recibir atención personalizada.

La función “RealizarDevolucion” solicita al usuario ingresar el nombre del producto a devolver, la cantidad y el precio del producto. Luego, muestra un mensaje que indica la devolución del producto con su nombre y el valor total de la devolución, calculado multiplicando la cantidad por el precio.

El algoritmo principal “ProgramaDevoluciones” llama a la función “indicacion” para mostrar el mensaje de consejo y luego llama a la función “RealizarDevolucion” para solicitar los detalles de la devolución y mostrar el mensaje de confirmación.

Video Explicativo del Código.

Código #4 de programación de supermercado: Cambio en el salario de los empleados

//mediante este algoritmo el empleado lográ hacer un inventario donde depende la cantidad del producto se le dan sugerencias para que ejecute
Funcion VerificarCantidadProducto (producto, num)
	Si num <= 50 Entonces
		Escribir "La cantidad que tenemos en el supermercado del producto ", producto  " es menor o igual a 50."
		Escribir "Teniendo en cuenta esto te recomendamos dirigirte con el jefe de compras para adquirir más ejemplares de este producto y de esta manera no tener una crisis por su demanda a largo plazo";
	SiNo
		Escribir "La cantidad que tenemos en el supermercado del producto ", producto " es mayor a 50."
		Escribir "Teniendo en cuenta esto no deberías tomar medidas al respecto, si lo deseas continúa ingresando más productos para indagar que hacer, de lo contrario continúa con tus labores";
	Fin Si
	
FinFuncion
Algoritmo Iventario
	Escribir "Hola estimad@ emplead@, ingresa tu nombre para continuar";
	leer nombre;
	Escribir "Actualmente tenemos los siguientes productos."
	Escribir " 1. sandías" 
	Escribir "2. melones" 
	Escribir "3. mangoMaduro"
	Escribir "4. manzanaGala" 
	Escribir "5. mandarinas" 
	Escribir "6.naranjaTangelo" 
	Escribir "7. limonMandarino" 
	Escribir "8. Aguacates" 
	Escribir "9. fresas_500gr" 
	Escribir "10.uvaIsabella_50gr  "
   
    Repetir
		Escribir "Estimad@ ", nombre " Ingresa el número del producto que desea incluir en el inventario"
        Leer producto
		Segun producto hacer
			1: 
				Escribir "Con cuantas sandias contamos en el supermercado.";
				leer num;
				sandia<- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			2: 
				Escribir "Con cuantos melones contamos en el supermercado";
				leer num;
				melon<- num ;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			3:
				Escribir "Con cuantos mangos maduros contamos en el supermercado.";
				leer num;
				mango <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			4:
				Escribir "Con cuantas manzanas gala contamos en el supermercado.";
				leer num;
				manzana <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			5:
				Escribir "Qué cantidad de mandarinas tenemos en el supermercado.";
				leer num;
				mandarina <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			6:
				Escribir "Cuantas naranjas tangelo tenemos en el supermercado.";
				leer num;
				naranja <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			7:
				Escribir "Con cuantos limones mandarinos contamos en el supermercado.";
				leer num;
				limones <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			8:
				Escribir "con cuantos aguacates contamos en el supermercado.";
				leer num;
				aguacate <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
				
			9: 
				Escribir "Con cuantos paquetes de fresas de 5gr contamos en el supermercado.";
				leer num;
				fresas <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad?"
				leer final;
			10:
				Escribir "Con cuantos paquetes de uvas Isabella contamos en el supermercado.";
				leer num;
				uvas <- num;
				VerificarCantidadProducto(producto, num)
				Escribir "desea ver que hacer con algún otro producto según su cantidad? (Digite si o no)"
				leer final;
		FinSegun
	Hasta Que final == "no"
	Escribir "Incluyo en el inventario:" 
	Escribir" sandias x",sandia 
	Escribir " melones x", melon
	Escribir " mangos maduros x" , mango
	Escribir " mazanas gala x", manzana
	Escribir " mandarinas x", mandarina
	Escribir " naranjas tangelo x", naranja 
	Escribir" limon mandarino x", limones 
	Escribir" aguacates x",aguacate 
	Escribir " paquete de fresas x", fresas
	Escribir " paquete de uvas Isabella x",uvas
	Escribir "excelente labor x" ,nombre " continúa con tus actividades diarias";
FinAlgoritmo

Este código en PSeInt es un programa de inventario que permite a un empleado registrar la cantidad de productos en un supermercado y proporciona sugerencias en función de la cantidad de cada producto.

La función “VerificarCantidadProducto” se utiliza para verificar la cantidad de un producto y proporcionar una recomendación en función de esa cantidad. Si la cantidad es menor o igual a 50, se sugiere al empleado que se comunique con el jefe de compras para adquirir más ejemplares del producto y evitar una crisis por la demanda a largo plazo. Si la cantidad es mayor a 50, se indica al empleado que no es necesario tomar medidas y puede continuar con sus labores.

El algoritmo principal “Iventario” comienza solicitando al empleado que ingrese su nombre. Luego muestra una lista de productos y solicita al empleado que elija un número de producto para incluirlo en el inventario. Dependiendo del número de producto seleccionado, se solicita al empleado que ingrese la cantidad de ese producto en el supermercado. Luego se llama a la función “VerificarCantidadProducto” para proporcionar una recomendación basada en la cantidad ingresada. Después de cada producto, se pregunta al empleado si desea ver qué hacer con otro producto según su cantidad.

El programa continúa solicitando al empleado que ingrese más productos hasta que el empleado responda “no” a la pregunta final. Luego muestra el inventario completo con la cantidad de cada producto ingresado y finaliza con un mensaje de agradecimiento y aliento para que el empleado continúe con sus actividades diarias.

Video Explicativo del código.

Conclusión sobre el comando función

En conclusión, el comando “Función” en PSint emerge como una herramienta poderosa para potenciar la eficiencia y claridad en la programación. Desde simplificar tareas repetitivas hasta modularizar el código en unidades lógicas y reutilizables, las funciones en PSint ofrecen una manera elegante de abordar la complejidad de la programación. Al comprender y aplicar adecuadamente este comando, los programadores pueden mejorar significativamente la legibilidad, mantenibilidad y eficiencia de sus programas en PSint, llevando sus habilidades a un nivel superior. ¡Integra funciones en tu código y descubre cómo transforman la manera en que abordas los desafíos de programación! Te dejo este video que te puede dar información adicional sobre el comando función.

Autores:  Juan David Montoya Ordóñez Andrés Felipe Mendoza Cifuentes Andrés Felipe Cifuentes Cárdenas.

Editor: Carlos Iván Pinzón Romero.

Código: UCPA-1

Universidad: Universidad Central

Fuentes

Programación en Castellano, SL (s/f).20170717020730_python-logo [imagen]. programación.net. https://programacion.net/files/article/20170717020730_python-logo.png
Prabhu, TN(23 de diciembre de 2019).1_cyXCE-JcBelTyrK-58w6_Q [imagen]. towardsdatascience.com. https://blog.anybox.fr/content/images/size/w960/2020/01/scikit-learn-1.png
Interactivechaos(s/f).tutorial_matplotlib_icono (1) [imagen]. Interactivechaos.com. https://interactivechaos.com/sites/default/files/2019-02/tutorial_matplotlib_icono.png
Facialix(2022, 12 de mayo).4649252588617728 [imagen]. Facialix.com. https://blog.facialix.com/las-7-bibliotecas-de-python-mas-populares-para-la-ciencia-de-datos-y-el-aprendizaje-automatico/

Navone, EC (2022, 22 de marzo)..para-que-se-usa (1)[imagen]. freecodecamp.org.. https://www.freecodecamp.org/espanol/news/content/images/2022/03/para-que-se-usa.png