Skip to content
This repository has been archived by the owner on Aug 12, 2021. It is now read-only.

revisão do cookbook #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 15 additions & 14 deletions G2/4-Cookbook.lua
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
-- Titulo: 4-Cookbook
-- Autor: Thiago Lages de Alencar
-- 03/05/2017
-- Vers�o 1.3
-- Versão 1.3
-- Linhas: ~110

-- Toda informa��o que o programa vai compartilhar entre as fun��es
-- Toda informação que o programa vai compartilhar entre as funções
data = {}
words = {}
word_freqs = {}

-- L� o arquivo texto que desejamos pegar as palavras mais frequ�ntes
-- o arquivo texto que desejamos pegar as palavras mais frequêntes
-- PRE: data vazio
-- POS: Todo o texto armazenado em data, em apenas uma string
function read_file(path_to_file)
io.input(path_to_file)
data = io.read("*all")
end

-- Remove todo characters n�o alphanumerico
-- PRE: data armzena o texto em uma string com characters n�o alphanumericos
-- POS: data trocou todos characters n�o alphanumericos por espa�os
-- Remove todo characters não alphanumerico
-- PRE: data armzena o texto em uma string com characters não alphanumericos
-- POS: data trocou todos characters não alphanumericos por espaços
function filter_chars_and_normalize()
data = string.lower(string.gsub(data, "[^%w]", " "))
end

-- Passa pela a string em data e pega cada palavra e armazena em words
-- PRE: words vazio e data com uma string
-- POS: words um Array de todas as palavras que aparecem no texto
-- POS: words é um Array de todas as palavras que aparecem no texto
function scan()
for i in string.gmatch(data, "%w+") do
words[#words + 1] = i
end
end

-- Passa pelo Array words removendo palavras que n�o interessam, ou seja, que est�o no stop_words.txt
-- PRE: Palavras que n�o nos interessam no Array words
-- Passa pelo Array words removendo palavras que não interessam, ou seja, que estão no stop_words.txt
-- PRE: Palavras que não nos interessam no Array words
-- POS: Array words sem a palavras no stop_words.txt
function remove_stop_words()
io.input("stop_words.txt")
Expand All @@ -59,9 +59,9 @@ function remove_stop_words()

end

-- Cria uma lista com as palavras e frequ�ncia de cada uma delas
-- Cria uma lista com as palavras e frequência de cada uma delas
-- PRE: Array word com todas as palavras que nos interessam e repetidas n vezes
-- POS: Lista de todas palavras com a frequ�ncia que s�o usadas em word_freqs
-- POS: Lista de todas palavras com a frequência que são usadas em word_freqs
function frequencies()
--
-- Creates a list of pairs associating
Expand All @@ -83,13 +83,13 @@ function frequencies()

end

-- Fun��o auxiliar para comparar se deve trocar de lugar duas posi��es
-- Função auxiliar para comparar se deve trocar de lugar duas posições
function compare(posicao1,posicao2)
return posicao1[2] > posicao2[2]
end

-- Organiza para ficar maior frequ�ncia primeiro e menor frequ�ncia por ultimo
-- PRE: Lista word_freqs em ordem aleat�ria
-- Organiza para ficar maior frequência primeiro e menor frequência por ultimo
-- PRE: Lista word_freqs em ordem aleatória
-- POS: Lista word_freqs em ordem do maior para o menor
function sort()
table.sort(word_freqs, compare)
Expand All @@ -110,3 +110,4 @@ remove_stop_words()
frequencies()
sort()
print_all()
--ver comentarios no pull-request(Roxana)