Skip to content

Projeto em C que calcula raízes de qualquer ordem e base, com foco em praticar lógica, validação de dados, modularização e implementação matemática sem uso de bibliotecas externas.

License

Notifications You must be signed in to change notification settings

VitorAntonio-GN/Radiciacao-Matematica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔢 √̅ Radiciação Matemática 📏

Projeto desenvolvido para praticar conceitos de lógica de proframação, funções, modularização, manipulação de strings e validação de dados em C. O programa permite calcular raízes de qualquer índice e base, incluindo tratamento de entradas fracionárias e negativas.

Contexto Acadêmico 🎓

Este projeto foi desenvolvido como parte dos estudos em Algoritmos e Estruturas de Dados I no curso de Engenharia da Computação da UEMG, Unidade Divinópolis.

Conceitos envolvidos 📘

  • Modularização em múltiplos arquivos (.c e .h);
  • Manipulação e validação de strings para entrada de dados;
  • Implementação de funções matemáticas (potenciação e radiciação);
  • Tratamento de casos especiais (raízes negativas, índices fracionários);
  • Uso de ponteiros para passagem e retorno de valores;
  • Uso de recursiva para desafio pessoal.

Objetivos 🎯

  • Praticar a divisão do código em módulos e cabeçalhos;
  • Implementar funções matemáticas do zero, sem bibliotecas externas;
  • Validar entradas do usuário de forma robusta;
  • Permitir o cálculo de raízes de qualquer ordem e base, inclusive fracionárias e negativas (quando matematicamente possível).

Aprendizados 📚

Durante o desenvolvimento, aprendi a:

  • Manipular e validar entradas do usuário em C;
  • Trabalhar com ponteiros e passagem de parâmetros por referência;
  • Modularizar o código para facilitar manutenção e entendimento;
  • Implementar algoritmos matemáticos básicos sem depender de funções prontas;
  • Utilizar a propriedade recursiva, mesmo que simples.

Estrutura de Diretórios 🗂️

Radiciacao-Matematica/ 
├── include/  
│   ├── dados.h                     // -> Cabeçalhos para entrada e saída de dados  
│   ├── matematica.h                // -> Cabeçalhos das funções matemáticas 
│   └── verificacao.h               // -> Cabeçalhos de validação 
│
├── src/ 
│   ├── dados.c                     // -> Implementação de entrada/saída 
│   ├── matematica.c                // -> Implementação das funções matemáticas 
│   └── verificacao.c               // -> Implementação das validações 
│
├── radiciacao.c                    // -> Programa principal 
├── README.md                       // -> Documentação do projeto
└── LICENSE                         // -> Licensa do MIT

Autor ✍️

Desenvolvido por Vítor Antônio.

Licença 📄

MIT License, veja o arquivo LICENSE para mais detalhes.

Extras 📦

Configurações para o VS Code 🔧
Use os seguintes trechos para compilar e depurar no VS Code:

Terminal:

gcc -g -fdiagnostics-color=always src/dados.c src/matematica.c src/verificacao.c radiciacao.c -Iinclude -o radiciacao.exe

Arquivo no local "${workspaceFolder}/.vscode/tasks.json":

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\\msys64\\ucrt64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${workspaceFolder}/src/dados.c",
                "${workspaceFolder}/src/matematica.c",
                "${workspaceFolder}/src/verificacao.c",
                "${workspaceFolder}/radiciacao.c",
                "-I${workspaceFolder}/include",
                "-o",
                "${workspaceFolder}/radiciacao.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

About

Projeto em C que calcula raízes de qualquer ordem e base, com foco em praticar lógica, validação de dados, modularização e implementação matemática sem uso de bibliotecas externas.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages