A primeira tarefa é focada na criação e organização de módulos e pacotes em Python, abordando conceitos como importação, escopo de variáveis, testes e estrutura de projetos.
-
Módulo
calculadora.py
: Implementa as operações matemáticas básicas (soma, subtração, multiplicação e divisão) com dois operandos. O arquivotesta_calculadora.py
contém testes unitários para cada operação, usando valores fixos e importando o módulocalculadora
com o aliascalc
. -
Memória na
calculadora.py
: Adicionada a funcionalidade de "memória" ao módulocalculadora
. Uma variável globalacumulador
armazena o resultado da última operação. As funções foram modificadas para usar oacumulador
como primeiro operando caso apenas um argumento seja fornecido.testa_calculadora.py
foi atualizado com testes para essa nova funcionalidade. -
Módulo
conversores.py
: Implementa funções de conversão de unidades (Celsius-Fahrenheit, metros-pés, quilômetros-milhas, dias-horas). O arquivotesta_conversores.py
realiza testes para cada função de conversão, importando o módulo conversores. -
Pacote
matematica]
: Criado o pacotematematica
com os módulosaritmetica.py
(soma e subtração) egeometria.py
(área do círculo e retângulo). O arquivotesta_matematica.py
importa o pacote e testa as funções de ambos os módulos. -
__init__.py
no Pacote matematica: Adicionado o arquivo__init__.py
ao pacotematematic
a para importar automaticamente as funções dos módulosaritmetica
egeometria
, simplificando a importação no arquivo principaltesta_matematica.py
. -
Subpacote
estatistica
: Criado o subpacotematematica/estatistica
contendo o módulomedia.py
com a funçãomedia_simples
. O arquivotesta_matematica.py
foi atualizado para importar e testar a funçãomedia_simples
usando a sintaxefrom matematica.estatistica import media
.
Navegue até o diretório tarefa_de_programacao_01
no terminal e execute os scripts de teste individualmente usando uma das opções abaixo:
- Especificando o caminho completo:
python tarefa_de_programacao_01/testa_calculadora.py
python tarefa_de_programacao_01/testa_conversores.py
python tarefa_de_programacao_01/testa_matematica.py
- Navegando até o diretório e executando:
cd tarefa_de_programacao_01
python testa_calculadora.py
python testa_conversores.py
python testa_matematica.py
A segunda tarefa possui foco na Programação Orientada a Objetos em Python, abordando conceitos como criação de classes, métodos, encapsulamento e interação com objetos. A tarefa foi dividida em cinco etapas principais:
Criando um Módulo Calculadora Orientado a Objetos: Implementar uma classe Calculadora
com métodos para as quatro operações matemáticas básicas (soma, subtração, multiplicação e divisão). Criar testes unitários para validar a funcionalidade da classe.
Adicionando Memória à Calculadora: Estender a classe Calculadora
para incluir um atributo privado acumulador
que armazena o resultado da última operação. Modificar os métodos para utilizar o acumulador
quando apenas um operando for fornecido. Atualizar os testes unitários para contemplar a nova funcionalidade.
Implementando a classe Conta: Criar uma classe Conta
com métodos para creditar, debitar, obter número da conta e obter saldo.
Implementando a classe Banco: Implementar uma classe Banco com métodos para cadastrar contas, procurar contas, creditar em contas, debitar de contas, consultar saldo e realizar transferências entre contas.
Interagindo com o Sistema Bancário: Desenvolver um programa que simula um terminal de atendimento bancário, utilizando as classes Conta
e Banco
. O programa permite que o usuário crie contas e realize operações de crédito, débito, transferência e consulta de saldo.
Os arquivos relevantes para esta tarefa estão localizados no diretório tarefa_de_programacao_02. Instruções mais detalhadas sobre cada etapa, incluindo a especificação das classes e métodos, podem ser encontradas no enunciado da TP02 (https://github.com/cbysousa/Tecnicas-de-Programacao/blob/main/tarefa_de_programacao_02/TP02.pdf).
A terceira tarefa expande o projeto do Sistema Bancário (SisBanco) desenvolvido na TP02, utilizando conceitos avançados de Programação Orientada a Objetos, como herança, sobrescrita de métodos e polimorfismo. As funcionalidades implementadas nesta etapa são:
- Foi criada uma classe derivada de
Conta
chamadaContaPoupanca
. - Adicionada a funcionalidade de render juros com base em uma taxa fornecida. A classe possibilita calcular os rendimentos para contas de poupança ao final de um período.
- Foi criada outra classe derivada de
Conta
chamadaContaEspecial
. - O método
creditar
foi sobrescrito para incluir um bônus incremental em cada crédito. - Adicionada a funcionalidade de render bônus acumulados.
A classe Banco
foi estendida para suportar:
- Render juros em contas poupança com base em uma taxa privada de correção do banco.
- Render bônus em contas especiais. Também foram incluídos métodos para configurar e consultar a taxa de juros do banco.
O módulo terminal_atendimento.py
foi atualizado para incluir as seguintes opções no menu principal:
- [5] Render Juros: Calcula os rendimentos de uma conta poupança.
- [6] Render Bônus: Converte bônus acumulados em saldo para contas especiais.
- [7] Alterar Taxa de Juros: Permite ao banco configurar uma nova taxa de correção para poupança.
Acesse o diretório da TP03 no terminal e execute o arquivo terminal_atendimento.py
.
Use as opções do menu para testar as novas funcionalidades, como rendimentos e gerenciamento de contas.