[ Foro de Pseudocódigo ]

Mi funciones no estan recibiendo el array bancoPalabras.

09-Jun-2023 21:06
Invitado (Matheus)
0 Respuestas

Algoritmo principal
bancoPalabras <- () // Lista para almacenar las palabras del banco
contadorPalabras <- 0
Repetir
Escribir 'Seleccione una opción:'
Escribir '1. Cargar palabras al banco'
Escribir '2. Generar y mostrar un texto aleatorio'
Escribir '3. Desplegar cuantas palabras faltan para completar el banco'
Escribir '4. Mostrar listado de palabras del banco que incluyen un texto'
Escribir '5. Mostrar todas las palabras del banco'
Escribir '6. Salir del sistema'
Escribir 'Ingrese el número de la opción deseada:'
Leer opcion
Segun opcion  Hacer
1:
cargarPalabrasAlBanco()
2:
generarTextoAleatorio(bancoPalabras)
6:
Escribir 'Saliendo del sistema...'
De Otro Modo:
Escribir 'Opción inválida. Por favor, seleccione una opción válida.'
FinSegun
Hasta Que opcion = 6
FinAlgoritmo

Funcion cargarPalabrasAlBanco()
Escribir 'Ingresa el tamaño del banco (número entre 20 y 2000):'
Leer tamanoBanco
Dimension bancoPalabras[tamanoBanco] // Arreglo para almacenar las palabras del banco
contadorPalabras <- 0 // Variable para llevar el conteo de palabras en el banco
bancoCompleto <- Falso // Variable para indicar si el banco está completo
Repetir
Escribir 'Ingrese un texto por favor (ingrese una cadena vacía para finalizar):'
Leer texto
Si contadorPalabras=tamanoBanco Entonces
Escribir 'El banco está completo. No se permite ingresar más textos.'
SiNo
palabra <- '' // Variable para almacenar la palabra actual
Para i<-1 Hasta Longitud(texto) Hacer
CARACTER <- Subcadena(texto,i,i) // Obtener cada caracter del texto
Si CARACTER<>' ' Entonces // Si el caracter no es un espacio
palabra <- palabra+CARACTER // Agregar el caracter a la palabra actual
FinSi
Si CARACTER=' ' O i=Longitud(texto) Entonces // Si el caracter es un espacio o se alcanza el final del texto
Si palabra<>'' Entonces // Si la palabra actual no está vacía
repetida <- Falso // Variable para indicar si la palabra ya existe en el banco
Si contadorPalabras>0 Entonces // Verificar si hay palabras en el banco
Para j<-1 Hasta contadorPalabras Hacer // Recorrer las palabras existentes en el banco
Si bancoPalabras[j]=palabra Entonces // Si la palabra actual ya existe en el banco
repetida <- Verdadero // Marcar la palabra como repetida
FinSi
FinPara
FinSi
Si  NO repetida Entonces // Si la palabra no está repetida
contadorPalabras <- contadorPalabras+1 // Incrementar el contador de palabras
bancoPalabras[contadorPalabras] <- palabra // Agregar la palabra al banco
FinSi
FinSi
palabra <- '' // Reiniciar la palabra actual
FinSi
FinPara
FinSi
Hasta Que texto='' // Repetir el ciclo hasta que se ingrese una cadena vacía
Escribir 'Palabras cargadas en el banco:',contadorPalabras // Mostrar la cantidad de palabras cargadas en el banco
Escribir 'Banco de palabras:' // Mostrar el banco de palabras
Para i<-1 Hasta contadorPalabras Hacer
Escribir bancoPalabras[i]
FinPara

FinFuncion

Funcion generarTextoAleatorio(array)
Escribir 'Ingrese la cantidad de palabras que desea en el texto aleatorio:'
Leer cantidadPalabras
Si Longitud(array)<cantidadPalabras Entonces
Escribir 'No hay suficientes palabras en el banco para generar el texto solicitado.'
Escribir cantidadPalabras
Escribir Longitud(array)
SiNo
textoAleatorio <- '' // Variable para almacenar el texto aleatorio
// Generar el texto aleatorio a partir del banco de palabras
Para i<-1 Hasta cantidadPalabras Hacer
indice <- azar(Longitud(array)) // Generar un índice aleatorio para seleccionar una palabra del banco
palabra <- array[indice] // Obtener la palabra del banco usando el índice aleatorio
Si i=1 Entonces
textoAleatorio <- mayusculas(palabra) // Convertir la primera palabra en mayúscula
SiNo
textoAleatorio <- textoAleatorio+' '+ minusculas(palabra) // Agregar las palabras siguientes en minúscula
FinSi
FinPara
textoAleatorio <- textoAlesatorio+'.' // Agregar un punto al final del texto
Escribir 'Texto aleatorio: '+ textoAleatorio // Mostrar el texto aleatorio generado
FinSi
FinFuncion




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)