Como saber si una frase es un panagrama en PseInt

Hola a todos, hoy os vamos a explicar como indicar si una palabra es un panagrama o no.

Un panagrama es una frase que contiene todas las letras de un alfabeto. Esto se suele utilizar para mostrar todas las letras de un alfabeto, por ejemplo, en una fuente. Incluyendo caracteres con acentos.

Un panagrama clásico es el siguiente:

El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja

Si haces un conteo, veras que al menos hay una letra de todas las letras del alfabeto.

La idea es que recorrer nuestra frase y con un arreglo llegar un conteo de cada letra. Si hay al menos uno de cada, significa que es un panagrama.

Lo primero que vamos a necesitar es una variable donde contener todas las letras del alfabeto. Una cadena puede servir.


Proceso panagrama
	
	// Definición de variables
	definir abecedario, frase como cadena;
	definir contadores, i, j como numero;
	
  abecedario <- "abcdefghijklmnopqrstuvwxyzáéíóúü";
	Dimension contadores[26];
	
	// inicializamos el arreglo
	Para i<-0 Hasta Longitud(abecedario) - 1 Con Paso 1 Hacer
		contadores[i] <- 0;
	FinPara
	
FinProceso

Ahora pediremos una frase y para cada letra, recorremos la cadena abecedario que contiene todas las letras, cuando encontremos su posición, aumentaremos en 1 su contador.

Esa cadena la pasamos a minúsculas para evitar problemas a la hora de encontrar ese carácter.

Subcadena, nos permite obtener una cadena más pequeña de otra mas grande.

Proceso panagrama
	
	// Definición de variables
	definir abecedario, frase como cadena;
	definir contadores, i, j como numero;
	
	abecedario <- "abcdefghijklmnopqrstuvwxyzáéíóúü";
	Dimension contadores[26];
	
	// inicializamos el arreglo
	Para i<-0 Hasta Longitud(abecedario) - 1 Con Paso 1 Hacer
		contadores[i] <- 0;
	FinPara

        // Pedimos una frase
	Escribir "Escribe una frase: ";
	leer frase;
	frase <- Minusculas(frase);
	
	// Comprobamos si existe cada letra de la frase en el abecedario
	Para i<-0 Hasta Longitud(frase) - 1 Con Paso 1 Hacer
		caracterFrase <- Subcadena(frase, i,i);
		Para j<-0 Hasta Longitud(abecedario) - 1 Con Paso 1 Hacer
			Si caracterFrase = Subcadena(abecedario, j,j) Entonces
				contadores[j] <- contadores[j] + 1;
			FinSi
		FinPara
	FinPara
	
FinProceso

Comprobamos si hay algún contador a 0, si lo hay no es un panagrama.

Proceso panagrama
	
	// Definición de variables
	definir abecedario, frase como cadena;
	definir caracterFrase Como Caracter;
	definir contadores, i, j como numero;
	definir algunVacio Como Logico;
	
  abecedario <- "abcdefghijklmnopqrstuvwxyzáéíóúü";
	algunVacio <- Falso;
	Dimension contadores[26];
	
	// inicializamos el arreglo
	Para i<-0 Hasta Longitud(abecedario) - 1 Con Paso 1 Hacer
		contadores[i] <- 0;
	FinPara
	
	// Pedimos una frase
	Escribir "Escribe una frase: ";
	leer frase;
	frase <- Minusculas(frase);
	
	// Comprobamos si existe cada letra de la frase en el abecedario
	Para i<-0 Hasta Longitud(frase) - 1 Con Paso 1 Hacer
		caracterFrase <- Subcadena(frase, i,i);
		Para j<-0 Hasta Longitud(abecedario) - 1 Con Paso 1 Hacer
			Si caracterFrase = Subcadena(abecedario, j,j) Entonces
				contadores[j] <- contadores[j] + 1;
			FinSi
		FinPara
	FinPara
	
	i<-0;
	
	// Comprobamos si hay alguna posicion a cero
	Mientras no algunVacio y i < Longitud(abecedario) Hacer
		Si contadores[i] = 0 Entonces
			algunVacio <- Verdadero;
		FinSi
		i <- i + 1;
	FinMientras
	
	// Indicamos si es un panagrama o no
	Si algunVacio Entonces
		Escribir "No es un panagrama";
	SiNo
		Escribir "Es un panagrama";
	FinSi
	
FinProceso

Veamos un ejemplo real:

ejemplo panagrama 1

ejemplo panagrama 2

Os dejo un video donde realizamos paso a paso todo lo explicado:

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 *