Simplesmente não consigo achar solução para os outros tópicos, o 2 já consegui.
Desenvolver um algoritmo que processe uma frase digitada pelo usuário e forneça as seguintes saídas:
-
Converter a primeira letra de cada palavra para maiúscula e exibir o resultado;
-
Exibir a quantidade de vogais, consoantes e números presentes na frase;
-
Exibir a maior palavra da frase (a “primeira maior” encontrada, em caso de empate);
-
Exibir as palavras de tamanho par;
-
Identificar se a frase é um palíndromo, ou seja, se ela pode ser lida de trás para frente mantendo o significado original (desprezando as diferenças entre maiúscula, minúsculas e espaços em branco). Exemplos: “Mega bobagem”, “A sacada da casa”, “O caso da droga da gorda do saco”.
Exemplos de execução (não é obrigatório seguir esse formato):
Digite uma frase: aula de algoritmo
- Aula De Algoritmo
- 8 vogais, 7 consoantes, 0 números
- algoritmos
- aula de
- Não é um palíndromo
Meu código fonte até agora:
programa
{
inclua biblioteca Texto --> tx
inclua biblioteca Tipos --> tp
funcao inicio()
{
cadeia frase
inteiro cont_vogais, tamanho_frase, cont_num, cont_consoantes
inteiro vogais,consoantes,numeros
escreva("Informe a frase desejada: ")
leia(frase)
tamanho_frase = tx.numero_caracteres(frase)
para(inteiro i = 0; i > tamanho_frase; i++){ --> tentativa de resolver o tópico 1, mas não acho solução em frase com espaço e não consigo preencher apenas a primeira letra sem que ela se repita minuscula
caracter letra1 = tx.obter_caracter(frase, 0)
cadeia converte, maiuscula
converte = tp.caracter_para_cadeia(letra1)
maiuscula = tx.caixa_alta(converte)
}
frase = tx.caixa_baixa(frase)
cont_vogais = 0
cont_consoantes = 0
cont_num = 0
vogais = 0
consoantes = 0
numeros = 0
enquanto (cont_vogais < tamanho_frase) {
caracter letra = tx.obter_caracter(frase, cont_vogais) --> solução topico 2
escolha (letra) {
caso 'a':
caso 'e':
caso 'i':
caso 'o':
caso 'u': vogais++
}
cont_vogais++
}
se (vogais > 0) {
escreva(" \n A quantidade de vogais desta frase é: " , vogais)
} senao {
escreva(" \n A frase não possui vogais! ")
}
enquanto (cont_consoantes < tamanho_frase) {
caracter letra = tx.obter_caracter(frase, cont_consoantes)
escolha (letra) {
caso 'b':
caso 'c':
caso 'd':
caso 'f':
caso 'g':
caso 'h':
caso 'j':
caso 'k':
caso 'l':
caso 'm':
caso 'n':
caso 'p':
caso 'q':
caso 'r':
caso 's':
caso 't':
caso 'v':
caso 'w':
caso 'x':
caso 'y':
caso 'z': consoantes++
}
cont_consoantes++
}
se (consoantes > 0) {
escreva(" \n A quantidade de consoantes desta frase é: " , consoantes)
} senao {
escreva(" \n A frase não possui consoantes! ")
}
enquanto (cont_num < tamanho_frase) {
caracter letra = tx.obter_caracter(frase, cont_num)
escolha (letra) {
caso '0':
caso '1':
caso '2':
caso '3':
caso '4':
caso '5':
caso '6':
caso '7':
caso '8':
caso '9': numeros++
}
cont_num++
}
se (numeros > 0) {
escreva(" \n A quantidade de números desta frase é: " , numeros)
} senao {
escreva(" \n A frase não possui numeros! ")
}
se (tamanho_frase % 2 == 0){ --> tentativa de resolver o tópico 4, mas nem todo resto da divisão de um par por 2 vai dar 0
escreva("\n", frase)
}
}
}