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:
[code]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:
[code]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
[/code]Este es el resultado si ejecutamos:

Y ahora vamos a obtener el valor mínimo con el siguiente código:
[code]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.
[code]// 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
[/code]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