En este post de PSeInt vamos a trabajar con arreglos. Veremos cómo solicitar números y obtener el mayor y menor.

El ejercicio dice así:

Escriba un programa que permita determinar el número mayor y el número menor de un vector de N elementos brindados por el usuario.

Explicación del algoritmo

Primero debemos declarar un arreglo usando Dimension. Desconozco cómo se declara un arreglo de longitud variable o si eso es posible, pero al inicio lo declaramos con una capacidad grande.

Luego solicitamos la cantidad de datos que se van a leer, hacemos un ciclo y acomodamos los números en el arreglo o vector.

Más adelante inicializamos el mayor y el menor, apuntando al primer elemento del arreglo. Esto solo es para inicializar los valores.

Finalmente recorremos el arreglo y vamos comparando cada valor. Si es mayor que el mayor hasta el momento, entonces el mayor hasta el momento es el número en el ciclo actual.

Y lo mismo para el menor.

Código en PSeInt

El código queda así:

Algoritmo sin_titulo
	Dimension numeros[200];
	Escribir "Ingrese la cantidad de datos: ";
	Leer cantidad_elementos;
	// Leer datos
	Para i<-1 Hasta cantidad_elementos Hacer
		Escribir "Ingrese el dato ",i,":"
		Leer numeros[i]
	FinPara
	// Inicializar mayor y menor
	mayor <- numeros[1]
	menor <- numeros[1]
	// Obtener mayor y menor
	Para i<-1 Hasta cantidad_elementos Hacer
		numero <- numeros[i]
		Si numero > mayor Entonces
			mayor = numero
		FinSi
		Si numero < menor Entonces
			menor = numero
		FinSi
	FinPara
	Escribir "Número mayor: ", mayor;
	Escribir "Número menor: ", menor;
FinAlgoritmo

La ejecución es correcta y nos va a mostrar el mayor y menor de los números:

Número mayor y menor de arreglo con PSeInt

Igualmente tengo un vídeo explicando todo este ejercicio:

Para terminar te dejo con más ejercicios de programación con PSeInt.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto