Skip to content
Open
Show file tree
Hide file tree
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
3 changes: 3 additions & 0 deletions algoritmos/1 - Sistema de Vendas/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions algoritmos/1 - Sistema de Vendas/.idea/algoritmos.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions algoritmos/1 - Sistema de Vendas/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions algoritmos/1 - Sistema de Vendas/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions algoritmos/1 - Sistema de Vendas/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 73 additions & 0 deletions algoritmos/1 - Sistema de Vendas/1 - SistemaDeVenda.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import datetime

print("Sistema de Vendas!")

listavendas = []
numero_venda = 1
valor_total = 0
data = datetime.datetime.now()

while True:
nomeProduto = str(input("Digite o nome do produto: "))
codigo = int(input("Digite o código do produto: "))
quantidade = int(input("Digite a quantidade de produtos: "))
valorUnitario = float(input("Digite o valor do produto: "))

itens_vendidos = []

nome = nomeProduto
qtde = quantidade
valor_unitario = valorUnitario

item = {
"produto": nome,
"qtde": qtde,
"valor_unitario": valor_unitario
}

if qtde > 30:
desconto = 0.2
elif qtde > 20:
desconto = 0.1
elif qtde > 10:
desconto = 0.05
else:
desconto = 0.0

valor_total_item = qtde * valor_unitario * (1 - desconto)
item["valor_total"] = valor_total_item

itens_vendidos.append(item)

vlr_total_venda = sum([item["valor_total"] for item in itens_vendidos])
valor_total += valor_total_item
if valor_total_item > 0:
venda = {
"numero_venda": numero_venda,
"data_hora": datetime.datetime.now(),
"itens_vendidos": itens_vendidos,
"vlr_total_venda": vlr_total_venda,
}

opcao = str(input("Deseja continuar a compra? (S/N) ")).upper()
if opcao == "S":
continue
else:
listavendas.append(venda)
numero_venda += 1
for venda in listavendas:
print("-" * 100)
print("Número da venda: {}".format(venda["numero_venda"]))
print("Data e hora: {}".format(venda["data_hora"].strftime("%d/%m/%Y %H:%M:%S")))
print("-" * 100)
print("{:<30} {:^15} {:^15} {:^15}".format("|Produto|", "|Quantidade|", "|Valor unitário|", "|Valor total|"))
print("-" * 100)
for item in venda["itens_vendidos"]:
print("{:<30} {:^15} {:^15.2f} {:^15.2f}".format(item["produto"], item["qtde"], item["valor_unitario"], item["valor_total"]))
print("-" * 100)
print("Valor total da venda: R${:.2f}".format(venda["vlr_total_venda"]))
callback = str(input("Gostaria de realizar mais uma compra? (S/N) ")).upper()
if callback == "S":
continue
else:
break
18 changes: 18 additions & 0 deletions algoritmos/1 - Sistema de Vendas/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
NOTA SOBRE O EXERCÍCIO 1

Para realizar o exercício utilizei a linguagem Python que sou um pouco habituado com a sintaxe, a resolução demorou em torno de 7 horas.
Com relação ao grau de dificuldade, eu definiria como médio. Porém, ficaria muito mais difícil se fosse integrar todo o sistema com um banco de dados, pois apesar de ter um conhecimento breve sobre SQL ainda não possuo segurança o suficiente para integrar projetos com bancos de dados relacionais. (Estou estudando banco de dados atualmente no 3º período da faculdade).

O sistema desenvolvido na linguagem Python realiza:
- Registro do nome do produto;
- Registro do código do produto;
- Registro do preço do produto;
- Registro da quantidade de produtos;
- Registro do valor total da venda;
- Registro da data da venda;
- Registro do número de vendas;
- Registra o cálculo automático de desconto de acordo com a tabela proposta no exercício (10 = 5%, 20 = 10% e 30 = 20%);

De acordo com os requisitos relatados no exercício, realizei aquilo que estava dentro do meu alcance e o que consegui extrair de informações do enunciado.
Com relação ao método de desenvolvimento, utilizei meus conhecimentos na linguagem juntamente com o auxílio de vídeos no Youtube, ChatGPT, pesquisas na internet e afins.
Por fim, concluo que o exercício foi ótimo para exercitar meus conhecimentos e me colocar em situações mais desafiadoras.
19 changes: 10 additions & 9 deletions id/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@

Altere este arquivo preenchendo os campos:

Nome:
Nome: Luiz Eduardo Kernicki

E-mail:
E-mail: luizkernicki2706@gmail.com

Telefone:
Telefone: (42) 99989-6678

Cidade:
Cidade: Ponta Grossa

Instituição de Ensino:
Instituição de Ensino: Unicesumar

RA:
RA: 22193320-2

Curso:
Curso: Engenharia de software - Presencial

Período/Série:
Período/Série: 3º Período

Minha experiencia com desenvolvimento:
Minha experiencia com desenvolvimento: Possuo conhecimentos em HTML, CSS, Javascript, Git/GitHub e Python.
Não possuo experiência comprovada, apenas a realização de pequenos projetos nas linguagens citadas.
10 changes: 10 additions & 0 deletions questoes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,21 @@
Responda as questões neste mesmo arquivo.

1. Conhece GIT? Já o utilizou em algum projeto?
R = Sim, utilizei em meu projeto pessoal (website).

2. Qual a diferença entre GIT e GITHUB?
R = Git se refere ao versionamento de código de maneira local, ou seja, em sua própria máquina através de um console/prompt de comando, possibilitando a criação de repositórios.
Já o Github se refere ao local onde é armazenado o versionamento de código, criando repositórios com projetos de diversar magnitudes e com diversos propósitos diferentes disponíveis para todos os programadores.
No github é onde os programadores conseguem ter acesso ao projeto, incrementa-lo e aplicarem suas modificações de forma clara e transparente.

3. Conhece ou tem experiência com desenvolvimento Web? Descreva como se dá a requisição HTTP entre um cliente e o servidor, e como se dá a resposta.
R = Sim, a requisição HTTP consiste primeiramente no envio de uma requisição para o servidor, em seguida o servidor analisará e retornará com os dados solicitados.
O envio de informações geralmente ocorrem via URL com o método GET, porém há casos que é necessário utilizar o método POST para realizar uma determianda tarefa, tal como envio e salvamento de formulários por exemplo. Também existem vários outros tipos de métodos disponíveis para diversas situações, tais como PUT, DELETE entre outros.
O recebimento de informações (HTTP Response) é recebido pelo usuário e interpretado pelo navegador. Na resposta, também haverá um status code, podendo ser os números 200, 201, 401 403, 404, 500, etc. Cada um com seu significado.

4. Conhece API REST? Para que são utilizadas? Cite dois exemplos.
R = Sim, São utilizadas para criar aplicações web cujo o requerimento de informações ocorre em um servidor específico e retorna as mesmas para a API. O termo Rest se refere as regras e boa práticas utilizadas na criação de API's.
API do Google Maps e API do Clima.

5. Conhece o conceito de AJAX? Descreva a tecnologia utilizada.
R = AJAX é um tipo diferente de interação entre cliente/servidor. Basicamente, o AJAX fará uma ligação com o script do servidor e o script do servidor fará uma requisição para o banco de dados. Na hora de retornar as informações, o script do servidor envia os dados para o usuário, ou seja, não é necessário que o usuário atualize a página para ver a nova informação, a página será atualizada em tempo real. O problema é que a aplicação fica um pouco mais lenta para carregar, pois muitas coisas precisam ser pré carregadas. Porém, a partir do momento que a aplicação for carregada, muitas funções ficarão mais rápidas e acessíveis ao usuário, resultando por fim, em uma melhor experiência do usuário (UX).