Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 2.19 KB

README.md

File metadata and controls

59 lines (40 loc) · 2.19 KB

💻 PMR3201 - Computação pra Automação

✨ Introdução

Este repositório se refere à entrega do Exercício Programa da disciplina PMR3201 para engenharia mecatrônica, ministrada no primeiro semestre de 2022.

📂 Arquivos

O repositório foi brevemente arquiteturado da seguinte maneira:

  • .gitignore
  • src/ - Pasta contendo as funções usadas no EP.
    • encoding_functions.py - Funções de codificação e decodificação de texto.
    • tree_functions.py - Funções relacionadas às árvores binárias.
    • utils.py - Funções de utilidade geral.
  • docs/
    • Alice1.txt - Texto contendo o primeiro capítulo de Alice in Wonderland.
    • abracadabra.txt - Texto contendo a palavra "ABRACADABRA".
    • dickens.txt - Texto contendo a frase "it was the best of times it was the worst of times".
    • enunciado.pdf - Enunciado do exercício.
  • test.py
  • main.py
  • README.md

main.py

Função principal do exercício. Nela, você pode escolher entre duas opções:

  1. Codificar mensagem: lê um texto e o codifica de acordo com o algorítmo de huffman, escrevendo-o em outro arquivo, na forma de bytes.
  2. Decodificar mensagem: lê um arquivo codificado, na forma de bytes, e o traduz; escrevendo-o num arquivo de texto.

Dentro dessas ações, tanto os arquivos a serem lidos quanto os arquivos a serem escritos são determinados pelo usuário.

Ao digitar o nome do arquivo, precisa-se colocar a extensão (.txt para textos decodificados e .huf para textos codificados). Além disso, todos os arquivos a serem lidos e escritos estarão dentro da pasta /docs do repositório.

test.py

Função de teste, que permite o usuário checar a codificação e decodificação da mensagem sem escrever ela em nenhum arquivo. Nela, você pode escolher entre três mensagens:

  1. abracadabra.txt
  2. dickens.txt
  3. Alice1.txt

Ao escolher, o programa printará o texto, sua codificação em binário e a tradução dessa codificação no terminal.

🚀 Execução

Para executar a função principal do projeto, basta rodar o comando:

python3 main.py 

Já para executar os testes, basta rodar o comando:

python3 test.py