Hola a todos, hoy os explicare a como utilizar las funciones en pseudocódigo.
Como hemos visto hasta ahora, los algoritmos son cortos, pero los programas tienen muchas líneas, por lo que se utilizan las funciones, para dividir el problema en partes, pueden haber tantas funciones como nosotros queramos.
Estas funciones utilizan el mismo código que hemos visto hasta ahora.
El algoritmo principal llama o invoca a la función, se ejecuta y devuelve un resultado. Se puede usar en varios programas.
Una función es un subprograma que acepta parámetros y devuelve un único resultado Los parámetros serán los datos de entrada para realizar la función.
En la cabecera de la función se debe indicar los parámetros formales, indicando su tipo, y el tipo de valor que devolverá la función. También debemos declarar las variables que se vayan a usar y devolver un valor, que corresponda al tipo de variable.
Esta es su sintaxis en papel:
Función nombre (lista parámetros formales):tipo Var: declaración de variables Inicio Instrucciones devolver valor Fin-Función
Veamos un ejemplo practico, para saber el doble de un numero:
Función doble (numero: numerica):numerica Var: resultado: numerica Inicio resultado<-numero*2 devolver resultado Fin-Función
Ya tenemos la función, ahora para poder usarlo, debemos invocarlo en el algoritmo principal, para que tenga efecto, debemos guardarlo en alguna variable. Esto seria su sintaxis:
variable<-nombreFuncion (parámetros reales)
Vamos a invocar la funcion de antes, en un algoritmo:
Var numero, resultado: numerica Inicio Leer numero resultado<-doble(numero) Escribir resultado Fin
Si os dais cuenta, tanto en la función como en el algoritmo principal, hemos usado una variable resultado. Las variables son totalmente independientes.
También, si os fijáis en la función los parámetros formales es una variable del algoritmo principal . Puede ser mas de un parámetro formal, se separan mediante una coma.
Si usamos PseInt, la sintaxis es distinta que en papel:
SubProceso variable_de_retorno <- Nombre ( Argumentos ) Intrucciones FinSubProceso
Tenemos varias diferencias, no es necesario escribir la operación devolver y debemos escribir que variable de dentro de la función contiene el resultado que queremos devolver. La forma de llamar a la función es exactamente igual que en papel.
Veamos el mismo ejemplo de doblar un numero pero en PSeInt.
SubProceso resultado <- doble ( numero ) resultado<-numero*2 FinSubProceso Proceso leer numero resultado<-doble(numero) escribir resultado FinProceso
Los parámetros, tanto formales como reales, no es necesario que sean variables, pueden ser constantes o números.
Recuerda que si el parámetro real y el formal no son de tipos compatibles, se producirá un error en la llamada. También fallara la llamada, si devolvemos una variable de tipo distinto a la que debe devolver (el tipo de variable de aparece después del paréntesis donde se encuentran los parámetros formales).
En las funciones, hemos visto que hay una operación llamada devolver, normalmente se suele usar una por función pero se puede usar mas de uno siempre y cuando solo se pueda ejecutar uno, por ejemplo, en una estructura condicional según un valor devuelva un valor u otro.
Por ultimo, veremos un ejemplo completo y sencillo, tanto en papel como en PSeInt.
Escribe una función en pseudocódigo que devuelva el área de un rectángulo dada su base y su altura, llama a la función en el algoritmo principal.
Papel:
Funcion area_rectangulo (base: numerica, altura: numerica):numerica Var area: numerica Inicio area<-base*altura devolver area Fin-Funcion algoritmo principal Var base, altura: numerica Inicio Escribir "Introduce la base" leer base Escribir "Introduce la altura" Leer altura area<-area_rectangulo(base, altura) escribir area Fin
PSeInt:
SubProceso area <- area_rectangulo ( base, altura ) area<-base*altura FinSubProceso Proceso ejemplo Escribir "Introduce la base" leer base Escribir "Introduce la altura" Leer altura area<-area_rectangulo(base, altura) escribir area FinProceso
¡Tenemos curso en udemy y tutellus!
También esta disponible en tutellus con una increíble oferta: ¡6€!
En youtube tenemos un curso completo de Pseudocódigo con PseInt:
Espero que os sea de ayuda.
Podrias ayudarme con un código en PSeInt tengo escrito un código de un trabajo pero hay una opción que no me funciona
Escribir ‘ ‘;
Escribir ‘ Eliminar de empleado ‘;
Escribir ‘ ‘;
Escribir ‘ ‘;
Escribir ‘Digite codigo de empleado a Eliminar ‘;
Escribir ‘ ‘;
Leer cod;
Para i<-0 Hasta 2 Con Paso 1 Hacer
Si codigo(i)=cod Entonces
codigo(i)<-(0);
nomb(i)<-(' ');
FinSi
FinPara
Hola, antes de nada agradecerte tu comentario. Lo primero que veo es que i<-0 en un arreglo no es posible ya que en pseudocodigo el primer valor esta en 1 no en 0, después veo que el limite es hasta 2, no se es todo el programa, pero en caso de que sea un empleado después de la posición 2 no te hará nada. También debes declarar los arrays o arreglos, aunque como he dicho no se si es todo el programa. Yo te recomendaría que la parte del bucle lo metieras en un subproceso y le pases por parámetro el código del empleado y los arreglos creados(para que pueda operar con ellos). Si tienes alguna duda mas no dudes en preguntarme por aquí o por e-mail administrador@discoduroderoer.es
Un saludo
como puedo resolver estos ejercicios, por favor alguien que me ayude, no entiendo casi.
1-hallar la raíz cubica de un numero entero positivo
2-convertir un numero natural en una fracción
3- intercambiar los elementos de la fila 1 y la fila 3 en una matrix 4×4
4- hallar el minimo común múltiplo de un numero entero positivo
5- convertir un numero positivo en numero romano
6- comprobar si un numero entero positivo es un numero primo
les agradeciera su ayuda
Hola,
Te respondo por email.
Un saludo
quisiera que me ayudaran con tres pequeños programas, quisiera que me manden el codigo a mi correo en pseint:
1. Escribir una función salario que calcule los salarios de un trabajador para un número
dado de horas trabajadas y un salario hora. Las horas que superen las 40 horas
semanales se pagarán como extras con un salario hora 1.5 veces el salario ordinario.
2. Escriba programa que llame a una función puntosCalidad que tome el promedio de
un estudiante y devuelva 4 si el promedio está entre 90-100, 3 si está entre 80-89, 2 si es
entre 70-79, 1 si es entre 60-69 y 0 si el promedio es menor que 60.
3. Escribir una función que obtenga el valor mínimo de 3 números. Escribir el programa
principal desde donde se utiliza.
Por favor elaboren programas en Pseint:
Horario de Clases de Centro de Estudios de Secundaria
Cálculo de Superficie de un país
Cálculo de Superficie de 2 Triángulos + Área Fuera del Trapecio
Proceso Paso a Paso de Binomios, Trinomios, Polinomios de Cuadrado Perfecto
Hola necesito ayuda no entiendo como resolver estos ejercicios con función para:
1- dado un numero N declarado entero positivo se pide calcular su factoreal.
2-se ingresan 100 números reales el programa devuelve el mayor de los números ingresados.
hola me dejaron un trabajo de investigacion UN TRABAJO AUTONOMO DONDE ME PIDE Q Escoja 4 funciones matemáticas y describa cada una de ellas.
Realice un algoritmo de ejemplo por cada función matemática escogida.
Determine en que se puede aplicar cada función matemática dentro del algoritmo con un ejemplo práctico.
POR FAVOR AYUDAME
Agreganos a skype y te daremos atencion personalizada gracias.
Hola, tengo una duda con respecto a las funciones
¿En una función se puede introducir una estructura, como por ejemplo un SEGÚN?
Estoy haciendo un programa en Pseint y tengo 4 veces el según pero con 4 variables distintas, quisiera ponerla en una función fuera del proceso principal para ahorrar código