Skip to content

Zaqu1h/polynomialsz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧮 Polynomialsz: Um algoritmo em C para aproximação e cálculo de raízes polinomiais Linguagem Versão


Demonstração

✍🏽 Descrição

Este projeto conta com funções para encontrar raízes e fatorar polinômios. O código é escrito em linguagem C e possui documentações e descrições tanto em inglês quanto em português. O projeto começou, originalmente, apenas como uma atividade complementar para a disciplina de Fundamentos Matemáticos para Ciência da Computação - FMCC -, em 2024. Todavia, após uma série de melhorias, este pode servir como apoio para estudantes de disciplinas relacionáveis, como as de programação, cálculo, álgebra e, é claro, a própria disciplina de FMCC.


✔️ Recursos

O algoritmo tem suporte para a análise e fatoração de polinômios através de diversas técnicas, são elas 💁🏼:

  • Método de Aberth-Ehrlich;
  • Briot-Ruffini (divisão sintética);
  • Método de Bhaskara (fórmula quadrática);
  • Método de fatoração de polinômios ciclotômicos.

📝 Instruções de uso

Este repositório está organizado em versões, com suporte para português e inglês.
Siga os passos abaixo para clonar o projeto e acessar os códigos-fonte.

Observação: Apesar do guia abaixo, você pode simplesmente executar os códigos na IDE de sua preferência, obviamente.

🧬 Passo 1: Clone o repositório

Se você tem o Git instalado, use o comando:

git clone https://github.com/Zaqu1h/polynomialsz.git

📁 Passo 2: Acesse o arquivo desejado

Algoritmo/

├── PTBR/ → Código e arquivo de cabeçalho com comentários em português

└── ENG/ → Code and header file with english comments

Selecione a pasta da versão e o idioma que quiser.

cd polynomialsz/Algoritmo/PTBR

⚙️ Passo 3: Compile o programa

Dentro da pasta, compile o programa com gcc...

gcc -o polynomialsz polynomialsz.c -lm

...E execute com:

./polynomialsz

🧪 Passo 4: Veja os exemplos

Se você deseja rodar os testes, eles estão disponíveis dentro da pasta Algoritmo/. Para compilar e rodar os exemplos, use o comando:

gcc -o exemplo polynomialsz.c exemplo.c -lm
./exemplo

⌨️ Passo 5: Comece a digitar!

A utilização do código é mais fácil do que parece:

  polynomial U = pCreate(3);  < Cria um polinômio com 3 termos
  
  U.terms[0] = setTerms(1, 2);
  U.terms[1] = setTerms(0, 1);
  U.terms[2] = setTerms(4, 0);
  
  printFac(U);  < Mostra o polinômio fatorado (ou pelo menos eu espero que sim)
                 e NÃO desaloca a memória dos termos, diferente da função pFree().

  return 0;

O polinômio criado em questão foi: x² + 4 (ou x² + 0x + 4). O resultado apresentado, neste caso, será:

1x^2 + 0x^1 + 4x^0 = (x - 2i)(x + 2i)

📋 Planos | To-do List

  • (✅ Feito) Melhorar o algoritmo para suporte a outros tipos de raízes complexas, além de alterar suas representações, se necessário;
  • (✅ Feito) Melhorar as condicionais do algoritmo para um desempenho mais satisfatório e uma leitura menos cansativa;
  • (✅ Feito) Adicionar mais métodos e critérios, se necessário.

⁉️ Dúvidas, dicas e sugestões

Sinta-se livre para me contactar pelo instagram ou pelo meu email, disponíveis a um clique de distância no fim deste README!


✨ Agradecimentos

A maioria não contribuiu diretamente, mas foram responsáveis pela minha persistência no projeto.

  • Alba Silva Passos
  • César Alberto Bravo Pariente - (Orientador);
  • Esbel Tomás Valero Orellana - @etvorellana (Professor de Linguagem de Programação);
  • Alex Amaral dos Santos - @AlexAmaral1
  • Larissa Brito - @laribrito
  • José Fernando Santos Rodrigues Júnior

👩🏻‍🦱 Autor

Desenvolvido por Isaque Silva Passos Ribeiro - @Zaqu1h -, um estudante de Ciência da Computação na Universidade Estadual de Santa Cruz (UESC).

E-mail - isaquebinha03@hotmail.com

Instagram