Hola a todos, hoy os voy a explicar como podemos obtener el máximo y el mínimo valor de un arreglo en PseInt.
Cuando trabajamos con arreglos en PseInt, puede que nos haga falta obtener el valor mínimo o máximo del mismo.
La idea es que el primer valor para nosotros será el valor mínimo o máximo, después iremos comprobando el resto de valores, actualizando el valor si es mayor o menor.
Teniendo el siguiente arreglo:
Dimension arreglo(5); arreglo[0] <- 30; arreglo[1] <- 20; arreglo[2] <- 50; arreglo[3] <- 10; arreglo[4] <- 40;
Vamos a obtener el valor máximo:
Proceso maximo Dimension arreglo(5); Definir arreglo,valorMax,i, longitudArreglo como numero; arreglo[0] <- 30; arreglo[1] <- 20; arreglo[2] <- 50; arreglo[3] <- 10; arreglo[4] <- 40; valorMax <- arreglo[0]; longitudArreglo <- 5; Para i<-0 Hasta longitudArreglo -1 con paso 1 Hacer si arreglo[i] > valorMax Entonces valorMax <- arreglo[i]; FinSi FinPara Escribir "Valor maximo: ", valorMax; FinProceso
Este es el resultado si ejecutamos:
Y ahora vamos a obtener el valor mínimo con el siguiente código:
Proceso maximo Dimension arreglo(5); Definir arreglo,valorMin,i, longitudArreglo como numero; arreglo[0] <- 30; arreglo[1] <- 20; arreglo[2] <- 50; arreglo[3] <- 10; arreglo[4] <- 40; valorMin <- arreglo[0]; longitudArreglo <- 5; Para i<-0 Hasta longitudArreglo -1 con paso 1 Hacer si arreglo[i] < valorMin Entonces valorMin <- arreglo[i]; FinSi FinPara Escribir "Valor minimo: ", valorMin; FinProceso
Este es su resultado si lo ejecutamos desde PseInt:
También podemos hacer un subproceso para reutilizarlo cuando lo necesitemos en otro programa.
// Devuelve el maximo de un arreglo subproceso valorMax <- maximoValorArreglo(arreglo, longitudArreglo) Definir valorMax,i como numero; valorMax <- arreglo[0]; Para i<-0 Hasta longitudArreglo -1 con paso 1 Hacer si arreglo[i] > valorMax Entonces valorMax <- arreglo[i]; FinSi FinPara FinSubProceso // Devuelve el minimo de un arreglo subproceso valorMin <- minimoValorArreglo(arreglo, longitudArreglo) Definir valorMin,i como numero; valorMin <- arreglo[0]; Para i<-0 Hasta longitudArreglo -1 con paso 1 Hacer si arreglo[i] < valorMin Entonces valorMin <- arreglo[i]; FinSi FinPara FinSubProceso
Recordar que tenemos más subprocesos útiles en nuestra biblioteca en github.
Y no te olvides que tenemos un curso en udemy de PseInt.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta