Buscar

Respostas desafios Projéto integrador I

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 6 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 6 páginas

Prévia do material em texto

Desafios
1.1 
https://statics-marketplace.plataforma.grupoa.education/sagah/4c791ba9-576e-4663-9536-74ddbeb1c33d/c15abd9f-e558-45fa-8e54-d3c058f6fa6f.png
1.2
Padrão de resposta esperado
Como sugerido pelo arquiteto de soluções, para realizar a remoção de pacotes MySQL, será utilizada a instrução Python no gerenciador PIP:
pip uninstall mysqlclient
Uninstalling mtsqlclient: 
Após isso, serão mostradas as remoções:
/usr/local/lib/python/site-package/MySQLdb/*
/usr/local/lib/python/site-package/_mysql.so
/usr/local/lib/python/site-package/_mysql_exceptions.py
/usr/local/lib/python/site-package/mysqlclient-dist-info/*
Successfully uninstalled mysqlclient
2.1
Padrão de resposta esperado
a) Na primeira e terceira linhas faltantes deve ser inserido o código saltos += 1, pois independentemente de qual expressão condicional for avaliada, a cada repetição (loop), a variável saltos deve ser incrementada.
b) Na segunda linha faltante deve ser inserido o código indice += 2, pois na avaliação da expressão condicional, o algoritmo verifica se o valor do índice acrescido de 2 é diferente do valor que a nuvem perigosa daquela posição tem, no caso, o valor 1. Assim, se a condição for verdadeira, deve-se avançar no índice duas (2) posições.
c) Na quarta linha faltante deve ser inserido o código indice += 1, pois na avaliação da expressão condicional, o algoritmo verifica se o valor do índice acrescido de 2 é diferente do valor que a nuvem perigosa daquela posição tem, no caso, o valor 1. Assim, se a condição for falsa, o bloco else é executado e deve-se avançar no índice apenas uma (1) posição.
2.2
3.1
Para melhorar o código do cálculo do IMC, a função deve ser quebrada em duas ou mais funções. Antes de tudo, você deve definir a função utilizando a palavra reservada def, seguido pelo nome da função. Em seguida, incluir os caracteres () e : e, por fim, os comados desse bloco.
Veja como fica o fluxo de execução do cálculo do IMC utilizando a modularização:​​​​​​
def calcula_imc (peso, altura): resultado = peso/ (altura*altura) return resultado def requisita_valores(): nomePaciente = input("Digite o nome do paciente ") telefonePaciente = input("Digite o telefone do paciente ") peso = float(input("Digite o peso do paciente ")) altura = float(input("Digite a altura do paciente ")) return nomePaciente, telefonePaciente, peso, altura def principal(): nomePaciente, telefonePaciente, peso, altura = requisita_valores() imc = calcula_imc(peso, altura) print("O imc do paciente ",nomePaciente," é", imc) if __name__ == “__main__”: principal()
3.2
Padrão de resposta esperado
O fato é que o comando print esta pedindo para exibir na tela algum valor que está na lista.
A questão não se dá apenas porque os valores da lista são tipos numéricos, e sim porque o índice da lista tem que ser referenciado por um inteiro. Nesse caso, resolveria-se o problema da seguinte forma:
0 para exibir valor 1
1 para exibir valor 2
2 para exibir valor 3
4.1
A fórmula para calcular a média de notas dá-se por:
Média = nota1+nota2+nota3+notan/quantidadeDeNotas
Clique no botão a seguir e veja o código do cálculo de média:​​​​​​​​​​​​​​​​​​
# -*- coding: utf-8 -*-
# Fórmula de média de nota = n1+n2+n3+n4/qtdNotas
soma = 0 #variável que irá armazenar o acumulo das notas
contador = 0 # variável que irá armazenar a quantidade de notas inseridas para auxiliar no calculo de média
aluno = input("Digite o nome do aluno: ") #variável que irá armazenar o nome do aluno
while True: #looping infinito para o professor digitar quantas notas existirem
 entrada = input("Digite a nota do aluno ou S para sair: ") #variável que irá receber a nota
 if entrada == 's': #verifica se o valor digitado for s
 break # se o valor digitado for s, o laço de repetição é interrompido
 nota = int(entrada) #converte o valor digitado para inteiro
 soma = soma + nota #acumulador de notas
 contador = contador + 1 #contador de notas inseridas
if contador != 0: 
 media = soma / contador #calculo de média
 print("O aluno ", aluno, "possui a nota: ",media) #impressão do resultado final
Você poderá testá-lo em uma plataforma on-line como https://repl.it/repls/SeashellDroopyApache, por exemplo.
4.2
Padrão de resposta esperado
O código que deve ser colocado na linha demarcada com # ... é:
return jogadas[indice % len(jogadas)]
O comprimento da lista de jogadas é 3. Então, se for usado o operador "resto" entre o índice e o comprimento da lista, teremos:
(0 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas.
(1 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas.
(2 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas.
(3 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas.
(4 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas.
(5 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas.
(6 % 3) é 0, e índice 0 é a posição do item Pedra na lista de jogadas.
(7 % 3) é 1, e índice 1 é a posição do item Papel na lista de jogadas.
(8 % 3) é 2, e índice 2 é a posição do item Tesoura na lista de jogadas.
E assim sucessivamente.
5.1
# função responsável por somar duas matrizes
# Parâmetros: matriz A e matriz B que serão somadas.
# Obs.: as matrizes são quadradas, ou seja possuem a mesma quantidade de
# linhas e colunas
def somarMatrizes(matrizJaneiro, matrizFevereiro):
 matriz_soma = [] # matriz vazia que receberá o resultado da soma
 quant_linhas = len(matrizJaneiro) # variável que armazena a quantidade de linhas de uma matriz
 quant_colunas = len(matrizJaneiro[0]) # variável que armazena a quantidade de colunas de uma matriz
 # laço de repetição para acessar as linhas das matrizes,
 # em que i executa de 0 até a quantidade de linhas
 for i in range(quant_linhas):
 matriz_soma.append([])
 # laço de repetição para acessar as colunas das matrizes
 for j in range(quant_colunas):
 # soma a primeira posição da matriz A com a primeira posição da Matriz B
 soma = matrizJaneiro[i][j] + matrizFevereiro[i][j]
 # armazena o resultado na matriz resultado
 matriz_soma[i].append(soma)
 return matriz_soma
# Função responsável por apresentar a matriz para o usuário
# Parâmetros: matriz que se deseja apresentar e a quantidade de linhas
def mostraMatriz(matriz, linhas):
 # laço de repetição em que i executa de 0 até o tamanho da matriz
 # e utiliza o valor de i para acessar a posição na matriz
 for i in range(linhas): 
 print(matriz[i][:])
if __name__ == "__main__":
 # cria a matriz do primeiro mês
 matrizJaneiro=[[40,90,32,23], [30,95,3,33], [45,90,8,33]]
 # cria a matriz do segundo mês
 matrizFevereiro=[[0,1,1,0], [35,32,3,3],[10,30,0,9]]
 # chama a função de somar matrizes passando por parâmetro as duas matrizes
 # criadas e armazena o resultado na matriz auxiliar
 matrizResult=somarMatrizes(matrizJaneiro, matrizFevereiro)
 # chama a função de mostrar matriz, em que deseja-se apresentar a matriz resultado
 mostraMatriz(matrizResult, len(matrizResult))
5.2
De acordo com o enunciado do desafio, para que o círculo (representado pela classe Círculo – linha 1) contenha informações de posicionamento cartesiano, é importante que seja atribuído o código necessário de dois atributos (centrox e centroy – linhas 3 e 4). Para a representação do raio de um círculo, foi definido um atributo (raio – linha 5). A fim de inicializar o objeto com valores para os seus atributos, foi implementado um método inicializador em Python (linha 2 a 5).
Para cada operação sobre o círculo solicitado no enunciado, foi criado um método correspondente:
​​​​​​​• calcular a área do círculo – método area (linhas 6 e 7);
• calcular o comprimento da circunferência – método circunferencia (linhas 8 e 9);
• calcular o diâmetro do círculo – método diametro (linhas 10 e 11);
• mudar a posição do círculo – método mover (linha 12 a 14).
Por fim, foi criado um exemplo para instanciar um objeto círculode centro (0,0) e raio 1, atribuindo-o à variável c1. Lembre-se que ao usar o nome de uma classe em Python no lado direito de um comando de atribuição, de uma vez só estão sendo chamados o seu construtor e o seu inicializador. A seguir, foram realizadas chamadas de cada método disponível sobre o objeto c1 e os resultados impressos no console. Por exemplo, para calcular a área do círculo c1, foi utilizado o código c1.area(). De forma análoga, podemos consultar o valor de um atributo do objeto círculo, como foi feito no código c1.centrox.
A seguir acompanhe o objeto criado.

Continue navegando