Atividade Pratica Log. Prog.
Atividade Pratica Log. Prog.
TUCURUÍ – PA
2021
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 frase com o padrão 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 ca-
tegoria Ligeiro.
1
Solução:
2
Tela de teste do programa utilizando o nome do aluno: João Cândido, e os dois
últimos dígitos da RU:
EXERCÍCIO 2:
Escreva um programa que receba como parâmetro de entrada um número in-
teiro de 5 dígitos no intervalo fechado [10000, 30000] que represente códigos de pro-
dutos vendidos em uma loja. Crie uma função para validar os dados de entrada, obri-
gando o usuário a respeitar o intervalo e o tipo de dado (inteiro).
Crie mais uma função que calcule e retorne o dígito verificador do código, utili-
zando 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.
3
Imprima na tela um teste do seu programa utilizando como código os 5 primei-
ros dígitos do seu RU. Se seu RU tiver menos de 5 dígitos, complete com zeros. Se
seu RU cai fora do intervalo especificador, realize o teste mesmo assim.
Solução:
def valida_int(p, min, max): # Função def como rotina de códigos que pode
ser invocado dentro do programa.
x = int(input(p))
while not 10000 <= x <= 30000: # Estrutura de repetição (while) repete
um bloco até que seja verdadeiro. o (not) é para tornar expres. mat. mais
simples.
x = int(input(p)) # x é igual valor correspondente.
return x # retorno com x
def verif(x): # def dados recebidos pela função.
x = str(x)
d1 = int(x[0])*2 # multiplicação do valor sequêncial pela ordem dos
pesos iniciado com 2.
d2 = int(x[1])*3 # idem
d3 = int(x[2])*4 # idem
d4 = int(x[3])*5 # idem
d5 = int(x[4])*6 # idem
soma = d1 + d2 + d3 + d4 + d5 # soma dos resultados da operação.
dv = soma % 7 # o resto ( %) entre o resultado da soma dividido por 7 =
dv.
return dv # return com digito verificador.
cod = valida_int('Digite o código de 5 dígitos entre 10000 e 30000:',1,3) #
entrada de dados da pergunta.
print(f'Código do produto e seu digito: {cod}-{verif(cod)}') # print, lei-
tura na tela do código mais o dígito verificador.
4
Tela de teste do programa utilizando como código os 5 primeiros dígitos do
RU:
EXERCÍCIO 3:
Considere o seguinte conjunto de dados: Nome + [N1, N2, N3, N4] + Status,
que deve ser colocado em um dicionário.
O 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 e são armazenadas em
uma lista. Por fim, o status nada mais é do que uma string contendo a palavra Apro-
vado ou Reprovado. 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 repe-
tição para a leitura destes N alunos. As notas devem ser exibidas ao final do programa
com uma casa decimal de precisão.
5
# EXERÍCIO 3 - ALUNO: JOÃO PEREIRA CÂNDIDO - RU: 3651772
6
Imagem do código funcionando no computador:
7
EXERCÍCIO 4:
Crie um programa que contenha três listas para ler e armazenar o nome, a
idade e o número do telefone de seus contatos telefônicos. Ao digitar uma string vazia
para o nome, o programa interrompe a leitura e se encerra.
Apresente na tela os dados cadastrados 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, elimi-
nado o original. Apresente na tela os dois dicionários resultantes da separação. Utiliza
como chave dos dicionários: nome, idade e telefone.
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.
8
Solução:
# EXERÍCIO 4 - ALUNO: JOÃO PEREIRA CÂNDIDO - RU: 3651772
princ = [] # lista principal
nome = str(input('Nome:')) # string com primeira sequência nome.
while nome != '': # estrutura de repetição, tem a função, quando dig. uma
string vazia para nome é interrompido.
idade = int(input('Idade:')) # função de entrada de dados.
telefone = int(input('Telefone:')) # função de entrada de dados.
princ.append([nome,idade,telefone]) # adciona os itens a lista princ
nome = str(input('Nome:')) # string sequência de nome.
print(' * DADOS CADASTRADOS EM ORDEM ALFABÉTICA *') # Print. Escrever na
tela, preferencia de: ( letras e caracteres especiais)
print('NOME - IDADE - TELEFONE') # Print. Escrever na
tela, preferencia de: ( letras e caracteres especiais)
print('_'*53) # Print. Escrever na tela, preferencia de: ( letras e carac-
teres especiais)
princ_ordenadas = sorted(princ) # função sorted. Utilizada para fazer a or-
denação de lista.
for item in princ_ordenadas: # estrutura de repetição for . Para varrer a
lista ordenadas.
print('Nome:{} Idade :{} Telefone:{}'.format(item[0], item[1],
item[2])) # Imprimir na tela a relação de dados introduzidos.
print('.'*53) # Print. Escrever na tela, preferencia de: ( letras e carac-
teres especiais)
print(' ***LISTA MAIORES E MENORES DE 18 ANOS***') # Print. Escrever na
tela, preferencia de: ( letras e caracteres especiais)
print('.'*53) # Print. Escrever na tela, preferencia de: ( letras e carac-
teres especiais)
for p in princ: # estrutura de repetição for . Para varrer a lista e colo-
car em p.
if p[1] >=18: # Condicional if, se p(1) idade, maior ou igual a 18.
print(f'{p[0]} - Maior de 18 anos:') # Print formatado. Ou seja es-
crever na tela maiores de 18 anos.
print('_'*53) # Print. Escrever na tela, preferencia de: ( letras
e caracteres especiais)
else: # Condicional composta, para definir os valores menores que 18
anos.
print(f'{p[0]} - Menor de 18 anos:') # Print formatado. Ou seja
escrever na tela maiores de 18 anos.
print('_'*53) # Print. Escrever na tela, preferencia de: ( letras
e caracteres especiais)
9
Tela de teste do programa utilizando como primeiro cadastro, o Aluno (nome),
idade os 2 últimos dígitos do RU. E como telefone a RU:
10