Você está na página 1de 8

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER

ESCOLA SUPERIOR POLITÉCNICA


TECNOLOGIA EM CIÊNCIA DE DADOS
LÓGICA DE PROGRAMAÇÃO E ALGORITMOS

ATIVIDADE PRÁTICA

NICOLY IGNÁCIO DA SILVA – RU: 1982228


VINICIUS POZZOBON BORIN

SÃO LEOPOLDO - RS
2021
1 EXERCÍCIO 1

Exercício 1: Escreva um programa que leia o nome de um lutador e seu peso. Em seguida,
informe a categoria a que pertence o lutador, conforme a Tabela a seguir (note que a tabela foi
criada para efeito deste exercício e não condiz com qualquer categoria de luta). A saída do
programa deve exibir na tela uma frase com o padrão descrito a seguir:

Nome fornecido: Pepe Jordão


Peso fornecido: 73.4
Frase a ser exibida: O lutador Pepe Jordão pesa 73,4 kg e se enquadra na categoria Ligeiro

Todos os dados devem ser lidos do teclado, sendo que o nome do lutador é string e o peso
é um número real. Não é necessário armazenar os dados em uma estrutura de dados, basta
imprimir na tela. Coloque todo o seu programa dentro de um laço de repetição e faça-o se
encerrar quando uma determinada condição for satisfeita. A condição fica a seu critério.
Imprima na tela um teste do seu programa utilizando o seu nome e os dois últimos dígitos do
seu RU para o peso.

Solução do aluno:
nome = str(input('Digite o nome do lutador')) # Aqui o nome é recebido
do teclado
peso = float(input('Digite o peso do lutador')) # Aqui o peso é recebid
o do teclado
# A partir daqui estão as condições para a impressão na tela
# da categoria que se enquadra o jogador de acordo com as informações r
ecebidas do teclado
if peso < 65:

1
print('O lutador',nome,' pesa ',peso,' kg e se enquadra na categori
a pena')
elif peso >= 65 and peso < 72:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na cat
egoria Leve')
elif peso >= 72 and peso < 79:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na
categoria Ligeiro')
elif peso >= 79 and peso < 86:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na
categoria Meio-médio')
elif peso >= 86 and peso < 93:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na
categoria Médio')
elif peso >= 93 and peso < 100:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na
categoria Meio-pesado')
elif peso >= 100:
print('O lutador ',nome,' pesa ',peso,' kg e se enquadra na
categoria Pesado')

Imagem do código funcionando no seu computador:


2 EXERCÍCIO 2

Escreva um programa que receba como parâmetro de entrada um número inteiro de


5 dígitos no intervalo fechado [10000, 30000] que represente códigos de produtos vendidos em
uma loja. Crie uma função para validar os dados de entrada, obrigando o usuário a respeitar o
intervalo e o tipo de dado (inteiro).
Crie uma função que calcule e retorne o dígito verificador do código, utilizando a
regra de cálculo explicada a seguir. Por exemplo, considere o código 21853, em que cada dígito
é multiplicado por um peso começando em 2, os valores obtidos são somados, e do total obtido
calcula-se o resto de sua divisão por 7.

Retorne na função o valor do dígito verificador calculado e imprima na tela o código


do produto digitado e seu dígito verificador separado por hífen, como: 21853-5.
Imprima na tela um teste do seu programa utilizando como código os 5 primeiros
dígitos do seu RU. Se seu RU tiver menos de 5 dígitos, complete com zeros. Se seu RU cair
fora do intervalo especificado, realize o teste mesmo assim.

Solução do aluno:
while True: # Aqui fiz a validação do número digitado
codigo = int(input('Digite um número entre 10000 e 30000: '))
if codigo < 10000:
continue
if codigo > 30000:
continue
else: # A partir daqui estou separando os digitos do número digitado
fazendo as divisões e pegando o resto do cálculo, o que sobrou
dig1 = codigo // 10000 % 10
dig2 = codigo // 1000 % 10
dig3 = codigo // 100 % 10
dig4 = codigo // 10 % 10
dig5 = codigo // 1 % 10
# A partir daqui estou armazenando já o resultado das multiplica
ções (de cada digito por 2, 3...) em variáveis m1, m2...
m1 = (dig1 * 2)
m2 = (dig2 * 3)
m3 = (dig3 * 4)
m4 = (dig4 * 5)
m5 = (dig5 * 6)
soma = m1 + m2 + m3 + m4 + m5 # Aqui fazendo a soma dos resultad
os das multiplicações
digitofinal = soma % 7 # Aqui fazendo o cálculo do resto, confor
me pede o enunciado
print('{}-
{}'.format(codigo,digitofinal)) # Aqui imprimindo o resultado final
break

Imagem do código funcionando no seu computador:


3 EXERCÍCIO 3

Considere o seguinte conjunto de dados: Nome + (N1, N2, N3, N4). Nome
representa o nome de um aluno e deve ser usado como chave. Já N1, N2, N3, N4 representam
as notas de provas desse aluno. Utilize uma estrutura de dicionário com listas para resolver este
exercício.
Escreva um programa que leia os dados de N alunos e apresente na tela se foram
aprovados ou reprovados. O critério que garante a aprovação é que a média aritmética das 4
notas seja maior ou igual 7,0. O valor de N é a quantidade de alunos, e esse valor deve ser lido
do teclado no começo do programa. Faça um laço de repetição para a leitura destes N alunos.
As notas devem ser exibidas ao final do programa com uma casa decimal de precisão.

Imprima na tela um teste do seu programa usando como primeiro cadastro o seu
nome, e como nota os 4 primeiros dígitos do seu RU.

Solução do aluno:
N = int(input('Digite a quantidade de alunos: ')) # Aqui lendo a qtd de
alunos do teclado
alunos = {}
for i in range(1, N+1): # Aqui fazendo laço para ler do telado as notas
dos alunos digitados em N
nome = input(f'Nome do aluno {i}: ')
notas = []
for j in range(1, 5):
nota = float(input(f'Nota {j} do aluno {i}: '))
notas.append(nota)
alunos[nome] = notas
for nome, notas in alunos.items(): # Aqui fazendo o cálculo da média ar
itmética e definindo se o aluno foi aprovado ou reprovado
media = sum(notas) / len(notas)
status = 'aprovado' if media >= 7.0 else 'reprovado'
print(f'O aluno {nome} foi {status} com média {media:.1f}')
Imagem do código funcionando no seu computador:
4 EXERCÍCIO 4

Leia e armazene em um dicionário o nome, a idade e o número do telefone de seus


contatos, sendo que a chave deve ser o nome. Ao digitar uma string vazia para o nome, o
programa interrompe a leitura e se encerra.
Apresente na tela os dados lidos em ordem alfabética pelo nome dos contatos. Uma
possível solução de ordenar alfabeticamente é usar o método sort.
Em seguida, armazene os contatos em outros dois dicionários, utilizando como
critério a idade: menores de 18 anos em um e os maiores em outro dicionário, eliminando o
original. Apresente na tela os dois dicionários resultantes da separação.
Imprima na tela um teste do seu programa usando como primeiro cadastro o seu
nome, como telefone o seu RU, e como idade os dois últimos dígitos do seu RU

Solução do aluno:
lista = []
listagem(lista)
dados = dict()
listamaiores = []
listamenores = []
dados['nome'] = str(input('Nome: ')).title()
while dados['nome'] != '':
dados['idade'] = int(input('Idade: '))
dados['telefone'] = int(input('Telefone: '))
lista.append(dados.copy())

# TRAVEI AQUI :/

Imagem do código funcionando no seu computador:

Você também pode gostar