Skip to content
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
133 changes: 126 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,129 @@
# Bem-Vindos ao Repositório de estudos de Lógica de Programação
A lógica de programação é a base do desenvolvimento de software. Ela envolve compreender problemas, decompô-los em passos menores e organizar esses passos de forma sistemática para criar soluções. Essa habilidade é essencial para qualquer pessoa interessada em programação, independentemente da linguagem ou tecnologia específica.
# 🐍 Estudos de Lógica de Programação com Python

Este repositório tem como objetivo compartilhar um pouco dos meus estudos de lógica de programação utilizando o Python. O conteúdo está disponível na Wiki desse projeto para uma melhor organização:
Este repositório serve como uma coleção prática de exercícios e exemplos de código Python, focados no desenvolvimento e aprimoramento da lógica de programação.

1. [Introdução a Lógica de Programação](https://github.com/alinealien/estudos-logica-com-python/wiki/1.-L%C3%B3gica-de-Programa%C3%A7%C3%A3o)
2. [Estrutura de Dados](https://github.com/alinealien/estudos-logica-com-python/wiki/2.-Estrutura-de-Dados)
3. [Programação Orientada a Objetos](https://github.com/alinealien/estudos-logica-com-python/wiki/3.-Programa%C3%A7%C3%A3o-Orientada-a-Objetos)
![Python](https://img.shields.io/badge/Python-3.x-blue?style=flat&logo=python&logoColor=white)
![License](https://img.shields.io/badge/License-MIT-yellow.svg)

Ah, também há diversos algoritmos de estudos com python na prática! Espero que o conteúdo ajude em sua jornada e estudos ;-)
## 🧐 Sobre o Projeto

O projeto `estudos-logica-com-python` é uma coleção didática de exercícios e exemplos de código Python, concebida para fortalecer a compreensão e aplicação de conceitos fundamentais de lógica de programação. Ele foca na metodologia de decomposição de problemas complexos em etapas gerenciáveis e na construção sistemática de algoritmos eficientes.

A arquitetura do repositório é organizada para oferecer um ambiente prático, onde cada script Python dentro do diretório `code-atividades/` ilustra um exercício ou um conceito específico. Isso permite que o usuário execute, analise e adapte implementações de algoritmos básicos e intermediários, promovendo um aprendizado ativo.

Um exemplo prático de modularização e separação de responsabilidades é demonstrado pela interação entre `main.py` e `calcArea.py`. O `main.py` atua como um ponto de entrada interativo, utilizando as funções de cálculo de área definidas no módulo `calcArea.py`, reforçando princípios de reuso de código e organização. Além disso, o `main.py` incorpora tratamento básico de erros (`try-except`) para gerenciar entradas inválidas do usuário, um conceito crucial para a robustez de aplicações.

Complementarmente aos exemplos práticos, o projeto é suportado por uma Wiki que oferece o embasamento teórico para os conceitos explorados, abrangendo tópicos como:
* [Introdução a Lógica de Programação](https://github.com/alinealien/estudos-logica-com-python/wiki/1.-L%C3%B3gica-de-Programa%C3%A7%C3%A3o)
* [Estrutura de Dados](https://github.com/alinealien/estudos-logica-com-python/wiki/2.-Estrutura-de-Dados)
* [Programação Orientada a Objetos](https://github.com/alinealien/estudos-logica-com-python/wiki/3.-Programa%C3%A7%C3%A3o-Orientada-a-Objetos)

## ✨ Funcionalidades

* **Coleção de Exercícios Práticos:** Uma vasta gama de scripts Python (`ex001.py` a `ex048.py` e outros) que abordam diversos problemas de lógica de programação, desde operações básicas até estruturas de dados simples.
* **Implementação de Estruturas de Controle:** Exemplos claros de uso de condicionais (`if/elif/else`) e laços de repetição (`for`, `while`) para controle de fluxo.
* **Manipulação de Dados Fundamentais:** Demonstrações de entrada e saída de dados, manipulação de strings, números inteiros e de ponto flutuante, e outros tipos de dados básicos do Python.
* **Modularização de Código:** Ilustração da organização de funções em módulos separados, como exemplificado pela interação entre `main.py` (interface de usuário) e `calcArea.py` (lógica de cálculo).
* **Tratamento de Exceções Básico:** Aplicação de blocos `try-except` para gerenciar e responder a entradas de usuário inválidas, aumentando a robustez dos programas.

## 🛠️ Tecnologias

* **Python:** Linguagem de programação principal utilizada em todos os exercícios e exemplos. (Versão recomendada: Python 3.x)

## 🚀 Como Começar

Para configurar e executar os exemplos deste repositório em sua máquina local, siga as instruções abaixo.

### Pré-requisitos

Certifique-se de ter o Python 3.x instalado em seu sistema. Você pode verificar a versão instalada com o comando:

```bash
python --version
# ou
python3 --version
```

Se precisar instalar o Python, visite o [site oficial do Python](https://www.python.org/downloads/).

### Instalação

1. **Clone o repositório:**
Utilize o Git para clonar o repositório para sua máquina local:

```bash
git clone https://github.com/tertudev/estudos-logica-com-python.git
```

2. **Navegue até o diretório do projeto:**

```bash
cd estudos-logica-com-python
```

### Execução

Os exercícios estão localizados no diretório `code-atividades/`. Você pode executar qualquer script individualmente.

1. **Navegue até o diretório de atividades:**

```bash
cd code-atividades
```

2. **Execute um exercício específico:**
Para executar um dos scripts de exercício (ex: `ex001.py`), use o comando:

```bash
python ex001.py
# ou
python3 ex001.py
```

3. **Execute o exemplo de cálculo de áreas (`main.py`):**
Este script demonstra a modularização e um menu interativo:

```bash
python main.py
# ou
python3 main.py
```

Siga as instruções no console para interagir com o programa de cálculo de áreas.

## 📂 Estrutura

A estrutura de diretórios do projeto é organizada da seguinte forma:

```
.
├── code-atividades/
│ ├── 041.py # Exemplo de exercício de lógica de programação
│ ├── __pycache__/ # Diretório gerado pelo Python para arquivos compilados (.pyc)
│ ├── calcArea.py # Módulo com funções para cálculo de áreas geométricas
│ ├── ex001.py # Exemplo de exercício de lógica de programação
│ ├── ... # Outros arquivos de exercícios (ex002.py a ex048.py, ex20.py a ex46.py)
│ └── main.py # Ponto de entrada para o exemplo de cálculo de áreas com menu interativo
└── README.md # Este arquivo de documentação
```

* `code-atividades/`: Contém todos os scripts Python que implementam os exercícios e exemplos práticos de lógica de programação. Cada arquivo `exXXX.py` representa um problema distinto.
* `calcArea.py`: Um módulo dedicado que encapsula funções para o cálculo de áreas de diferentes figuras geométricas, promovendo a reutilização de código.
* `main.py`: O script principal que demonstra a integração com `calcArea.py`, oferecendo um menu interativo e exemplificando o tratamento de entradas do usuário.

## 🤝 Contribuição

Contribuições são bem-vindas! Se você tiver sugestões de melhoria, novos exercícios ou correções, sinta-se à vontade para abrir uma *issue* ou enviar um *pull request*.

Para contribuir:
1. Faça um *fork* do repositório.
2. Crie uma nova *branch* (`git checkout -b feature/sua-feature`).
3. Faça suas alterações e *commit* (`git commit -m 'feat: Adiciona nova funcionalidade'`).
4. Envie suas alterações para o *fork* (`git push origin feature/sua-feature`).
5. Abra um *pull request* detalhando suas mudanças.

## 📜 Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo `LICENSE` (se disponível) para mais detalhes.

Vamos codar o futuro! 🚀