Prévia do material em texto
ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA ELÉTRICA LÓGICA DE PROGRAMAÇÃO E ALGORITMOS ATIVIDADE PRÁTICA HEULER PROCÓPIO DORNELAS LAGE CORONEL FABRICIANO – MG 2022 1 1 EXERCÍCIO 1 (EXEMPLO) 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: Ensino Faixa etária Educaçao Infantil 1 a 5 anos Ensino Fundamental I 6 a 10 anos Ensino Fundamental II 11 a 14 Ensino médio maiores de 15 anos 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.Fazer um programa em linguagem Python que receber 3 valores inteiros do usuário e mostra a sua média na tela (que pode não ser inteira). Como dado de entrada, utilize os três últimos valores do seu RU. Solução do aluno: #rodar na lógica do programa para condição de laço. continuar = True #laço de repetição do programa lendo a entrada while continuar: #entrada de dados aluno = input('Nome da criança: ') idade = int(input('Idade: ')) #enquadramento do ensino conforme a idade inserida 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' #escrever na tela o resultado print('O aluno {} tem {} anos de idade e está no {}'.format(aluno, idade, ensino)) #aguardando informação se deseja ou não prosseguir #converte o resultado da entrada string para int sendo 0 ou 1 em pytom #maneira que atende a pré-condição while continuar = int(input('Deseja continuar? 0 - Não 1 - Sim')) print('RU do aluno: 1567558') #Dados de entrada x = int(input('Digite um valor: ')) y = int(input('Digite um valor: ')) z = int(input('Digite um valor: ')) #Calculando a média e mostrando a saída media = (x + y + z) / 3 print('Resposta: {}'.format(media)) Imagem do código funcionando no seu computador: 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. #input variável nome nome = input('Digite seu nome: ') #fun- ção upper para aquisitar dados para string e função replace para substituir as vogais por outros caracteres #escrever na tela o resultado com o nome já modificado com os caracteres print(nome.upper().replace('A', '@').replace('E', '&').replace('I', '!').replace('O', '#').replace('U', '*')) 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 rato não pode ficar ao lado do gato. • O cão não pode ficar ao lado do osso. • O gato não pode ficar ao lado do cão. • O queijo não pode ficar ao lado do rato 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: G – GATO C – CÃO R – RATO O – OSSO Q – QUEIJO 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Ê ga- nhou!” é 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. #Construi 'lista de padrão' com recuro DICTIONARY intríseco de LIST #como o programa é processado preferi colocar no while para possibilitar utilizar o mesmo código por mais vezes #Finalizo o programa com a função exit() #dicionario de hospedados hospedes = {'G':'GATO', 'C':'CÃO', 'R':'RATO', 'O':'OSSOS', 'Q':'QUEIJO'} #feedback da chave do dicionario conforme o valor inserido def procuraletra(dict,valor): for letra, nome in dict.items(): if nome == valor: return letra #imprime mensagem de vitória def Won(): print('Você ganhou!') #imprime se o usuário perdeu def GameOver(): print('Você perdeu!') exit() #geração dos caracteres do gato na tela #titulo do jogo #para escrever as listas na tela optei por utilizar o slice na mesma na mesma. 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 fases #em todas as etapas de fase rodei regras estabelecidas por encadeamento conforme aula #ifs e elfi para aferir os resultados obtidos #resposta de errada a função GameOver() executa e finaliza o programa #usada a função int() -1 onde o -1 certifica que a posição digitada é a mesma da lista padrão 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 colocar o RATO: '))-1 posicao2 = int(input('em qual posição você quer colocar 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 colocar o CÃO: '))-1 posicao2 = int(input('em qual posição você quer colocar o CÃO: '))-1 posicao3 = int(input('em qual posição você quer colocar 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á colocar : 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 colocar o GATO: '))-1 posicao2 = int(input('em qual posição você quer colocar o RATO: '))-1 posicao3 = int(input('em qual posição você quer colocar o OSSO: '))-1if(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 colocar o QUEIJO: '))-1 posicao2 = int(input('em qual posição você quer colocar o QUEIJO: '))-1 posicao3 = int(input('em qual posição você quer colocar 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() 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 pro- grama que armazene as inscrições para o curso. O programa deverá armazenar para cada inscrição: Um código único para o voucher Nome Email Telefone Curso 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 preen- chido 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: #import de libs randint e seed from random import seed from random import randint #declarar variáveis listaAlunos = []; #gerar um número entre 100 a 400 #usei função seed() sem transferir parâmetros para números aleatórios def VoucherNumero(): seed() return randint(100,400) #funcao principal #ela monta um menu geral, sendo chamada no final de cada função para para ciclar sempre a lógica até finalizar com o 3 def Menu(): titulo = '-'*10 + 'Menu' + '-'*10 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() #input de dados para cadastro 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() #busca cadastro de opções, utilizei dois loops intertravados para chamar igual é solicitado na lista def ListaCadastrados(): for item in listaAlunos: for key in item: print(key, ':', item[key]) Menu() #função que inicia o encadeamento das funções. Menu()