Baixe o app para aproveitar ainda mais
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
Compartilhar