Buscar

ATIVIDADE PRATICA 2021 LOGICA DE PROGRAMÇÃO PYTON NOTA 100

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
tecnologia em desenvolvimento de aplicativos para dispositivos móveis
LÓGICA DE PROGRAMAÇÃO E ALGORITMOS
ATIVIDADE PRÁTICA
felipe maricato moura – RU: 2734850
vinícios borin
porto alegre – rio grande do sul
2021 
1. EXERCÍCIO 1 
A ampliação do Ensino Fundamental para nove anos de duração, tornou a matrícula da criança obrigatória a partir dos seis anos de idade. Implemente um programa que fornecidos o nome e a idade de um criança classifique-a em uma das seguintes etapas de ensino:
O usuário deve ainda ter a opção de escolher se quer encerrar o programa ou não. Para teste utilize como nome da criança o seu nome e como idade os dois últimos dígitos do RU.
Código desenvolvido:
#variavel no escopo do programa para funcionar de condição para o laço.
continuar = True
#laço para repetir o programa baseado na entrada do usuário
while continuar:
 #recebendo os inputs do usuário
 aluno = input('Nome da criança: ')
 idade = int(input('Idade: '))
 #denterminando o ensino baseado na idade imputada pelo usuário
 if (idade <= 5):
 ensino = 'ensino infantil'
 elif (idade >= 6 and idade <= 10):
 ensino = 'ensino fundamental I'
 elif (idade >= 11 and idade <= 14):
 ensino = 'ensino fundamental II'
 else:
 ensino = 'ensino médio'
 #escrevendo na tela o resultado dos das operações
 print('O aluno {} tem {} anos de idade e está no {}'.format(aluno, idade, ensino))
 #aguardando o usuário imputar se deseja ou não continuar
 #convertendo o resultado do input de string para int sendo 0 ou 1 em pytom considerado como boleano
 #de mandeira que atende a condição do while
 continuar = int(input('Deseja continuar? 0 - Não 1 - Sim'))
Resultado do terminal:
1. EXERCÍCIO 2
Faça um programa que solicite que o usuário digite um nome. O programa deve imprimir na tela o nome convertido no seguinte formato: L*C!@N& Para isso, o programa deve ser capaz de converter o nome digitado para maiúsculas e substituir as vogais pelos símbolos apresentados na tabela abaixo
Para teste utilize seu primeiro nome.
Código desenvolvido:
#recebendo o nome imputado pelo usuário e atribuindo a variável nome
nome = input('Digite seu nome: ')
#funcao upper para capitalizar a string e funções replace para trocar as vogais por outros caracteres
#seria possível fazer o programa em apenas uma linha mas pela filosofia de legibilidade do código
#e simplicidade do código existente na pyton fiz em duas linhas
print(nome.upper().replace('A', '@').replace('E', '&').replace('I', '!').replace('O', '#').replace('U', '*'))
Resultado do terminal:
1. EXERCÍCIO 3
Implementar um jogo que é popular entre as crianças: um hotel onde os hóspedes têm algumas restrições quanto a localização de seu quarto, seguindo as seguintes regras:
O jogo é composto por 4 fases, onde cada fase (a partir da fase 2) só é desbloqueada se a anterior for concluída com êxito. Em todas as fases, as células em cinza representam os quartos indisponíveis, portanto não podem ser alocados. As letras nas células correspondem aos seguintes hóspedes:
Ao término de cada fase o jogador deverá receber uma mensagem informando se teve êxito ou não na sua resposta. Se não teve êxito, o programa se encerra mostrando a mensagem: “Você perdeu!”. Se teve exito a próxima fase é desbloqueada, ao terminar a ultima fase com exito uma mensagem de “VocÊ ganhou!” é mostrada na tela Na Fase 1, o jogador deve alocar o RATO e o GATO na seguinte matriz que representa os quartos:
Na segunda fase o jogador deve alocar : CÃO, CÃO E OSSO.
Na fase 3 o jogador deverá alocar : GATO, RATO E OSSO.
Na fase 4, o jogador deverá alocar: QUEIJO, QUEIJO, OSSO
Código desenvolvido:
#Usei 'lista de listas' usando DICTIONARY dentro de LIST
#Para encerar o programa optei por usar a função exit()
#como o programa é procedural não preciso colocar dentro de um while e posso reaproveitar o código
#desta maneira fica dentro da filosofia de legibilidade e simplicidade do python
#dicionario de hospedes
hospedes = {'G':'GATO', 'C':'CÃO', 'R':'RATO', 'O':'OSSOS', 'Q':'QUEIJO'}
#retorna a chave do dicionario pelo valor
def procuraletra(dict,valor):
 for letra, nome in dict.items():
 if nome == valor:
 return letra
#função para mensagem de vitória
def Won():
 print("Você ganhou!")
#função que termina o programa se o usuário perde
def GameOver():
 print('Você perdeu!')
 exit()
#escreve a lista com as posições na tela
#desenho do gato em ANSII ART
#titulo do jogo
#para escrever as listas na tela usei o slice na mesma lista
def Posicoes():
 print(' /\_/\\')
 print('( o.o )')
 print(' > ^ <')
 print('**HOTÉL DOS ANIMAIS**')
 lista = [1,2,3,4,5,6,7,8]
 print('Especificando posição:')
 print(lista[0:4])
 print(lista[4:8])
 print('')
 print('')
#Regra do jogo na fase 1
#em todas as fases eu utilizei regras pré-definidas por encadeamento
#de ifs e elfi para testar os resultados
#em caso de erro a função GameOver() roda e encerra o programa
#também utilizei a função int() -1 onde o -1 garante que a posição digita é a mesma na lista
def Fase1():
 print('Bem vindo a fase 1!')
 print('Na Fase 1, o jogador deve alocar o RATO e o GATO na seguinte matriz que representa os quartos:')
 lista = ['*','*','_',procuraletra(hospedes,'GATO'),procuraletra(hospedes, 'RATO'), '_', '*', '*']
 print(lista[0:4])
 print(lista[4:8])
 posicao1 = int(input('em qual posição você quer alocar o RATO: '))-1
 posicao2 = int(input('em qual posição você quer alocar o GATO: '))-1
 if(posicao1 != 5):
 GameOver()
 elif(posicao2 != 2):
 GameOver()
 else:
 Won()
 print('')
def Fase2():
 print('Bem vindo a fase 2!')
 print('Na segunda fase o jogador deve alocar : CÃO, CÃO E OSSO')
 lista = ['_','*','*','*','*', procuraletra(hospedes, 'CÃO'), '_', '_']
 print(lista[0:4])
 print(lista[4:8])
 posicao1 = int(input('em qual posição você quer alocar o CÃO: '))-1
 posicao2 = int(input('em qual posição você quer alocar o CÃO: '))-1
 posicao3 = int(input('em qual posição você quer alocar o OSSO: '))-1
 if(posicao1 != 6):
 GameOver()
 elif(posicao2 != 7):
 GameOver()
 elif(posicao3 != 0):
 GameOver()
 else:
 Won()
 print('')
def Fase3():
 print('Bem vindo a fase 3!')
 print('Na fase 3 o jogador deverá alocar : GATO, RATO E OSSO.')
 lista = ['_','*','*','*','_', procuraletra(hospedes, 'GATO'), '_', '*']
 print(lista[0:4])
 print(lista[4:8])
 posicao1 = int(input('em qual posição você quer alocar o GATO: '))-1
 posicao2 = int(input('em qual posição você quer alocar o RATO: '))-1
 posicao3 = int(input('em qual posição você quer alocar o OSSO: '))-1
 if(posicao1 != 6):
 GameOver()
 elif(posicao2 != 0):
 GameOver()
 elif(posicao3 != 4):
 GameOver()
 else:
 Won()
 print('')
def Fase4():
 print('Bem vindo a fase 4!')
 print('Na fase 4, o jogador deverá alocar: QUEIJO, QUEIJO, OSSO.')
 lista = ['_','_','_','*','*', procuraletra(hospedes, 'RATO'), '*', '*']
 print(lista[0:4])
 print(lista[4:8])
 posicao1 = int(input('em qual posição você quer alocar o QUEIJO: '))-1
 posicao2 = int(input('em qual posição você quer alocar o QUEIJO: '))-1
 posicao3 = int(input('em qual posição você quer alocar o OSSO: '))-1
 if(posicao1 != 0 and posicao1 != 2):
 GameOver()
 elif(posicao2 != 0 and posicao2 != 2):
 GameOver()
 elif(posicao3 != 1):
 GameOver()
 else:
 Won()
Posicoes()
Fase1()
Fase2()
Fase3()
Fase4()
Resultado do terminal:
1. EXERCÍCIO 4
Uma escola de cursos de TI oferece vouchers para que os participantes possam assistir algumas aulas gratuitas de Python. Para isso o participante que deseja assistir as aulas gratuitas desse curso específico, deve fazer uma inscrição para receber o voucher.Implemente um programa que armazene as inscrições para o curso. O programa deverá armazenar para cada inscrição: Um código único para o voucher
O programa deverá apresentar um menu de opções ao usuário: 
1 –inscrição: ao selecionar essa opção, o usuário deverá ser capaz de informar todos os dados da inscrição. O código do voucher deve ser preenchido automaticamente pelo sistema, e o usuário não deve ter a opção de alterar esse código; 
2 – visualizar inscrição: ao selecionar essa opção, o programa deverá imprimir, na tela, para cada reserva, todos os dados dessa inscrição. Caso nenhuma inscrição tenha sido cadastrada ao selecionar essa opção, o programa deverá exibir a mensagem “nenhuma inscrição cadastrada”.; 
0 – Encerrar: ao selecionar essa opção, o programa se encerra
Caso o usuário escolha uma opção que não conste no menu, o programa deverá exibir uma mensagem de erro, por exemplo, “Erro: digite uma opção válida!”. Para teste utilize o seu nome e como telefone os dígitos do seu RU.
Código desenvolvido:
#inportando as libs seed e randint
from random import seed
from random import randint
#declarando variáveis
listaAlunos = [];
#gerando um número entre 100 a 400
#optei por usar seed() sem passar parâmetros pois desta forma gera número aleatórios
#no enunciado está dizendo para usar o RU para testes porém o número fixo retorna um aleatório fixo
#de modo que para diferenciar entre os cadastrados é melhor um número único
def VoucherNumero():
 seed()
 return randint(100,400)
#funcao principal ela monta o menu e é chamada no final de cada função para garantir que o programa não pare
#até que a opção 3 seja digitada
def Menu():
 titulo = '-'*10 + 'Menu' + '-'*10
 print(titulo)
 print('1 - Nova inscrição')
 print('2 - Visualizar inscrição')
 print('3 - Encerar')
 print(titulo)
 opçao = int(input('Opção escolhida: '))
 if(opçao == 1):
 Cadastro()
 elif (opçao == 2):
 ListaCadastrados()
 elif (opçao == 3):
 exit()
 else:
 print('Erro digite uma opção válida')
 Menu()
#recebe os dados para fazer o cadastro
#os dados são persistidos na memória ram, então quando o
#programa é encerado os dado são perdidos
def Cadastro():
 nome = input('Digite seu nome: ')
 email = input('Digite seu e-mail: ')
 telefone = input('Digite seu telefone: ')
 curso = input('Digite seu curso: ')
 dic = {'voucher':VoucherNumero(),'nome':nome,'email':email,'telefone':telefone,'curso':curso}
 listaAlunos.append(dic)
 Menu()
#função que lista o que está cadastrado, usei dois loops encadiados para listar igual ao exemplo
def ListaCadastrados():
 for item in listaAlunos:
 for key in item:
 print(key, ':', item[key])
 Menu()
#Chamando a função que inicia o encadeamento das funções.
Menu()
Resultado do terminal:
1

Continue navegando