Escolar Documentos
Profissional Documentos
Cultura Documentos
Matrícula:_____________ Nome:____________________________________________
OBSERVAÇÕES:
● As questões podem ser resolvidas a lápis.
● As questões devem ser resolvidas escrevendo código Python. Serão aceitos comandos
em pseudo-código caso você não se lembre da sintaxe do comando em Python. Um
comando em pseudo-código deverá estar representado de forma clara, não ambígua,
de modo a poder ser traduzido para uma instrução da linguagem de programação
Python.
A tabela abaixo apresenta a ordem de prioridade dos operadores e comandos Python mais
comuns. Essa informação pode ser útil para você na resolução das questões da prova.
Página 1 de 7
Questão 1 (5 pontos)
def funcao1(x, y) :
if x > y :
return x+2
else:
return y-1
def funcao2(a, b, c) :
x = funcao1(a, b)
y = funcao1(x, c)
print(x, y)
return y
# programa principal
r = 0
x = 3
y = 9
z = 5
print(r, x, y, z)
r = funcao1(r, z)
print(r, x, y, z)
z = funcao2(x, y, z)
print(r, x, y, z)
print(funcao1(x, y))
Escreva abaixo na “Tela do Computador” qual será a saída exata fornecida pelo programa:
Tela do Computador
0395
4395
8 10
4 3 9 10
8
Página 2 de 7
Questão 2 (6 pontos)
Considere um programa para gerar uma matriz quadrada (arranjo bidimensional com número de
linhas igual ao número de colunas), com números inteiros aleatórios no intervalo [1, 10], cujo
trecho inicial é mostrado a seguir:
import numpy as np
dimensao = 10
# Definir um arranjo bidimensional de inteiros com valores [1, 10]
matriz = np.random.randint(1, 11, (dimensao, dimensao))
somaLin = np.empty(dimensao, dtype=int)
Na sequência, o programa deverá armazenar em cada posição k do arranjo somaLin, a soma dos
valores dos elementos da linha k do arranjo matriz. Analise os códigos da coluna 2 e escreva na
última coluna da tabela abaixo a letra Aou B, de acordo com as opções abaixo:
A: quando o código implementar CORRETAMENTE a tarefa descrita no parágrafo anterior.
B: quando o código estiver fazendo a soma dos elementos das colunas.
# Valor: 2 Pontos para cada item
Código Escreva
(OBS: dimensao = número de linhas = número de colunas (matriz quadrada) A ou B
for i in range( 0, dimensao ):
(1) somaLin[i] = 0
for j in range( 0, dimensao ): B
somaLin[i] = somaLin[i] + matriz[j][i]
Página 3 de 7
Questão 3 (6 pontos)
Um arranjo bidimensional de nome Tab é usado para armazenar informações de classificação de um
grupo da primeira fase da Copa do Mundo, onde cada grupo possui 4 seleções. As informações são
organizadas por ordem alfabética dos nomes dos países. A Figura abaixo mostra um exemplo do
arranjo correspondente ao Grupo H, no final da primeira fase. Cada linha do arranjo tem as
informações (Pontos, Gols Marcados, Gols Sofridos e Saldo de Gols) de uma seleção. E cada
coluna contém uma das informações: coluna 0, Pontos; coluna 1, Gols Marcados; coluna 2, Gols
Sofridos; e coluna 3, Saldo de Gols. Portanto, Tab é um arranjo (4x4) de números inteiros .
b) Suponha que, ao final da fase de grupos, todas as informações do arranjo Tab estejam
atualizadas, EXCETO a última coluna (Saldo de Gols). Sabendo que o Saldo de Gols é a diferença
entre Gols Marcados e Gols Sofridos, escreva o comando Python para atualizar o valor da última
coluna, para uma linha i. Dica: a solução é apenas 1 linha de código.
Tab[i][3] = Tab[i][1] - Tab[i][2] # Valor 2 Pontos
c) Escreva um trecho de código para determinar o maior número de Gols Marcados do grupo e o
número de seleções que marcaram o maior número de gols (informação da segunda coluna). O
código deve ser genérico, para N linhas, de modo a ser usado depois em campeonatos com 20 times,
por exemplo.
Página 4 de 7
Questão 4 (8 pontos)
O programa (incompleto) mostrado abaixo lê dois valores representando o comprimento e o
peso de um cão, e utiliza duas funções calculaIMCC e classificaIMCC para, respectivamente,
calcular e classificar o Índice de Massa Corporal Canina (IMCC).
Para que o programa funcione corretamente, serão necessárias as implementações das duas
funções descritas nos itens “a” e “b”, a seguir:.
Use o espaço abaixo para escrever o código Python da função para o cálculo do Índice de
Massa Corporal Canina (IMCC).
def calculaIMCC(a, p) :
return p / a**2 # ou return p/ (a*a)
# sugestão de pontuação:
Uso do nome correto (igual ao do programa principal): 1.0
Número de parâmetros corretos: 1.0
Lógica de Implementação da função: 1.0
Retornando valor correto: 1.0
Página 5 de 7
Página 6 de 7
b) Função para classificação do IMCC (classificaIMCC):
Use o espaço abaixo para escrever o código Python da função para a classificação do Índice de
Massa Corporal Canina (IMCC).
def classificaIMCC(valor) :
if valor < 28.6 :
return ‘Magro’
elif valor < 35 :
return ‘Normal’
elif valor < 40 :
return ‘Sobrepeso’
else :
return ‘Obeso’
# sugestão de pontuação:
Uso do nome correto (igual ao do programa principal): 1.0
Número de parâmetros corretos: 1.0
Lógica de Implementação da função: 1.0
Retornando valor correto: 1.0
Página 7 de 7