Uma página de livro foi armazenada em uma matriz de 30 linhas x 80 colunas, cada posição da matriz contém um caractere.
Lista dos caracteres da página:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, x, y, z, w, ç, ã, õ, á, é, í, ó, ú, à
´ ´ (espaço), ´.´(ponto), ´,´ (virgula), ´;´(ponto e vírgula), ´:´(dois pontos),
Imprimir quantas vezes cada caractere aparece
Escreva qual o caractere tem maior frequência no texto e qual a frequência
Frequência = (total de um caracteres/total de caracteres da página) * 100
Obs1: Nessa página temos 40 caracteres possíveis
Obs2: Considere que na matriz só temos letras minúsculas.
Obs3: Considere a matriz completamente preenchida
algoritmo em pseudocódigo
Soluções para a tarefa
Resposta: Algoritmo "atv"
Var
livros: vetor[0..29,0..79] de caractere
repet: vetor[0..39] de inteiro
disp: vetor[0..39] de caractere
i, j, ret: inteiro
funcao Preenche(): inteiro
var
aux: inteiro
inicio
para i de 0 ate 29 faca
para j de 0 ate 79 faca
aux <- randi(40) + 97
se ((aux >= 97) e (aux <= 122)) entao
livros[i,j] <- carac(aux)
repet[aux-97] <- repet[aux-97] + 1
senao
escolha (aux)
caso 123
livros[i,j] <- "ç"
repet[26] <- repet[26] + 1
caso 124
livros[i,j] <- "ã"
repet[27] <- repet[27] + 1
caso 125
livros[i,j] <- "õ"
repet[28] <- repet[28] + 1
caso 126
livros[i,j] <- "á"
repet[29] <- repet[29] + 1
caso 127
livros[i,j] <- "é"
repet[30] <- repet[30] + 1
caso 128
livros[i,j] <- "í"
repet[31] <- repet[31] + 1
caso 129
livros[i,j] <- "ó"
repet[32] <- repet[32] + 1
caso 130
livros[i,j] <- "ú"
repet[33] <- repet[33] + 1
caso 131
livros[i,j] <- "à"
repet[34] <- repet[34] + 1
caso 132
livros[i,j] <- " "
repet[35] <- repet[35] + 1
caso 133
livros[i,j] <- "."
repet[36] <- repet[36] + 1
caso 134
livros[i,j] <- ","
repet[37] <- repet[37] + 1
caso 135
livros[i,j] <- ";"
repet[38] <- repet[38] + 1
caso 136
livros[i,j] <- ":"
repet[39] <- repet[39] + 1
fimescolha
fimse
fimpara
fimpara
retorne 0
fimfuncao
funcao Maiorfreq(): inteiro
var
maior: inteiro
inicio
maior <- 0
para i de 1 ate 39 faca
se (repet[maior] < repet[i]) entao
maior <- i
fimse
fimpara
retorne maior
fimfuncao
Inicio
para i de 0 ate 25 faca
disp[i] <- carac(i+97)
fimpara
disp[26] <- "ç"
disp[27] <- "ã"
disp[28] <- "õ"
disp[29] <- "á"
disp[30] <- "é"
disp[31] <- "í"
disp[32] <- "ó"
disp[33] <- "ú"
disp[34] <- "à"
disp[35] <- " "
disp[36] <- "."
disp[37] <- ","
disp[38] <- ";"
disp[39] <- ":"
ret <- Preenche()
escreval("Ocorrências de cada caractere:")
para i de 0 ate 39 faca
escreval("Caractere: <",disp[i],">, Ocorrências:",repet[i])
fimpara
ret <- Maiorfreq()
escreval("Caractere com maior frequência: ",disp[ret])
escreval("Frequência:",(repet[ret] / 2400) * 100,"%")
Fimalgoritmo
Explicação:
whats 5518981253917
faço por um valor bom e justo, e lhe envio rapidamente