Máximo y mínimo valor de un arreglo en PseInt

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:

pseint valor max 1

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:

pseint valor min1

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.

Curso iniciación pseudocodigo con Pseint

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *