Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 1/6 PROVA - FUNDAMENTOS DE PROGRAMAÇÃO COM PYTHON - 45/2023 Período:02/10/2023 08:00 a 11/11/2023 23:59 (Horário de Brasília) Status:ENCERRADO Nota máxima:6,00 Gabarito:Gabarito será liberado no dia 12/11/2023 00:00 (Horário de Brasília) Nota obtida:4,20 1ª QUESTÃO No processo de desenvolvimento de sistemas utilizamos diversas estruturas para deixar o código mais dinâmico e simples, tais estruturas são importantes. Uma dessas são os laços de repetição que se baseiam em dados que podem ser agrupados. Considere o código-fonte: i = 5; while(i > 0): i = i + 1; printf(\"%d \", i); Com base no código fonte apresentado acima, realize o teste de mesa e assinale a alternativa correta. ALTERNATIVAS Ao término de sua execução, o algoritmo irá imprimir a seguinte mensagem, na tela: 5 4 3 5 1 0. Ao término de sua execução, o algoritmo irá imprimir a seguinte mensagem, na tela: 5 4 3 2 1. Ao término de sua execução, o algoritmo irá imprimir a seguinte mensagem, na tela: 1 2 3 4 5. Ao término de sua execução, o algoritmo irá imprimir a seguinte mensagem, na tela: 0 1 2 3 4 5. O algoritmo entrará em loop infinito. 2ª QUESTÃO 18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 2/6 Em termos gerais, a recursão pode ser considerada como um processo de repetição de uma rotina. Portanto, de maneira bem simplista, pode ser definida como uma rotina (procedimento ou função) que chama a si mesma, de forma direta ou indireta. Bem, se a rotina chama a si mesma inúmeras vezes, é preciso então tomar muito cuidado com o LOOP. Acredito que todos já tenham ouvido falar desse termo, mas esclarecendo para quem não está acostumado: um LOOP ocorre quando uma parte do código fica repetindo eternamente, ocasionando o travamento do sistema todo Conteúdo disponível em < https://www.embarcados.com.br/recursividade/> Utilize seus conhecimentos adquiridos ao longo da disciplina para interpretar as afirmações abaixo. I - Uma função recursiva precisa de uma condição de parada ou caso base que, geralmente, é expresso por uma estrutura de decisão. II - A chamada recursiva de uma função é feita quando a função invoca a si mesma dentro do seu próprio bloco de comandos. III - A função para calcular o n-ésimo termo da Série de Fibonacci é um exemplo de função inerentemente recursiva. Sendo assim, é correto o que se afirma em: ALTERNATIVAS II, apenas. I e II, apenas. I e III, apenas. II e III, apenas. I, II e III. 3ª QUESTÃO Considere a realização de um teste de mesa sobre o Código Fonte abaixo. X = int(input("Digite o numero 1:")) Y = int(input("Digite o numero 2:")) if(X > Y || X == 1): print("Condição satisfeita!") De acordo com os resultados encontrados em seu teste de mesa, avalie as afirmações abaixo. I - Se, as variáveis x e y estiverem armazenando os valores 2 e 3, respectivamente, a condição desta linha se tornará verdadeira e a mensagem "Condição satisfeita! " será impressa na tela. II - Caso o usuário armazene o valor 1 na variável x, a condição sempre será satisfeita, independentemente do valor inserido na variável y. III - Sempre que a variável y for maior que a variável x, a condição será satisfeita. Sendo assim, é correto o que se afirma em: 18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 3/6 ALTERNATIVAS I, apenas. II, apenas. III, apenas. I e II, apenas. II e III, apenas. 4ª QUESTÃO Danilo pretende fazer uma viagem de final de ano, em sua casa ele possui dois veículos, o mesmo está na dúvida em qual utilizar para fazer a viagem por conta do consumo médio do veículo e os preços dos combustíveis. Para tirar esta dúvida ele fez um algoritmo simples para verificar o custo da viagem ao informar alguns dados prévios de cada veículo. Analise o código a seguir: AutonomiaVeiculo=int(input("Autonomia do Veiculo: ") kmPercorrer=int(input("km a Percorrer: ") precoCombustivel=float(input("Preço do Combustivel:") custoViagem = float(((kmPercorrer * 2) / AutonomiaVeiculo) * precoCombustivel) print("Km a percorrer", kmPercorrer * 2) print("Litros gastos", (kmPercorrer * 2) / AutonomiaVeiculo) print("Custo da Viagem R$ \", custoViagem) Com base no trecho apresentado, é possível dizer que: ALTERNATIVAS A conversão de dados na variável custoViagem ocasionará em um erro de sintaxe. O uso dos parênteses no segundo print ocasionará em um erro semântico. A variável custoViagem têm armazenado o resultado do cálculo total da viagem. No primeiro print é apresentado o KM a percorrer, o resultado a ser impresso está armazenado na variável kmPercorrer. Ao executar o código, teremos um erro, pois não é permitido converter dados que originalmente são do tipo int para float. 5ª QUESTÃO 18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 4/6 Funções são trechos de código que são criados com o intuito de reduzir o tamanho dos códigos e permitir uma reusabilidade desse código em vários pontos de um programa e até em outros programas. Observe a função a seguir e assinale a alternativa incorreta sobre sua interpretação. def valor (valor) { for i in range(10,2): valor = valor * i return (valor) } ALTERNATIVAS O conteúdo da variável "valor" é alterado dentro do laço de repetição. O laço de repetição é controlado pela variável "i" que é inicializado em 1. Existe um erro, pois não é possível utilizar uma variável como o mesmo nome do parâmetro como retorno da função. O conteúdo do laço de repetição será executado 6 vezes, de acordo com a sua condição de execução. A função recebe um parâmetro numérico como entrada que terá seu valor modificado no processamento da função. 6ª QUESTÃO A barragem da hidrelétrica apresentou algumas fissuras na última verificação de rotina. Os técnicos estão traçando um plano para fazer um reforço antes que comece a temporada de chuvas, até o momento foi dito que a barragem não deve suportar mais do que 60% da sua capacidade. Dessa forma, solicitaram à equipe de TI a elaboração de um programa que fique constantemente verificando o nível da barragem, essa verificação deve permanecer ativa enquanto a capacidade for menor do que 55, depois a verificação encerra e as contramedidas devem ser adicionadas, como a abertura do vertedouro para diminuir o nível de água acumulada. A partir do contexto exposto acima, qual delas representa as condições descritas no problema? ALTERNATIVAS while (nivelAgua < 55). while (nivelAgua <= 55). while (nivelAgua == 55). while (nivelAgua != 55). while (nivelAgua < 60). 7ª QUESTÃO 18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 5/6 Um algoritmo eficiente possui como característica otimizar ao máximo o desempenho computacional, utilizando o mínimo necessário de recursos em memória. Dado o seguinte algoritmo: uf=str(input("Digite o Estado: ")) if (uf == "PR"): print ("Paraná") if (uf == "SC"): print("Santa Catarina") if (uf == "RS"): print("Rio Grande do Sul") if (uf != "PR") and (uf != "SC") and (uf != "RS"): print("Estado inválido ou pertencente a outra região") Assinale a alternativa correta referente ao que pode ser melhorado nesse algoritmo. ALTERNATIVAS Criar uma variável para cada descrição de Estado. Utilizar um vetor para armazenar todos os Estados da região Sul. Trocar todas as estruturas condicionais if por uma única estrutura de decisão múltipla elif. Trocar os operadores de igualdade (==) por operadores de diferença (!=). Trocar as instruções e colocar os teste de verificação em um loop. 8ª QUESTÃO As matrizes, assim como os vetores, consistem em um arranjo de dados que são armazenados na memória principal com o mesmo nome. Entretanto, para ler ou armazenar dados em uma matriz, deve-se fazer isso por meio de seus elementos. Não há um meio de manipular toda a matriz com uma só instrução de algoritmo. Assinale a alternativa referente à combinação correta de estruturas para percorrer uma matriz, seja para ler ou atribuirdados. ALTERNATIVAS Uma estrutura condicional para cada dimensão da matriz. Uma estrutura de repetição para a primeira dimensão da matriz e estruturas condicionais para as demais dimensões. Uma estrutura de repetição aninhada para cada dimensão da matriz. Uma única estrutura de repetição para todas as dimensões da matriz. Uma estrutura condicional para a primeira dimensão da matriz e estruturas de repetição para as demais dimensões. 9ª QUESTÃO 18/11/2023, 10:55 Unicesumar - Ensino a Distância about:blank 6/6 Foi solicitado a você que desenvolva um sistema simples de cadastro de clientes, seriam armazenados todos os dados dos clientes de uma determinada empresa, inclusive o seu CPF. Sabe-se que o formato do CPF é XXX.XXX.XXX-XX, e que o programa deverá armazenar o valor completo do CPF, ou seja, armazenar os números, os pontos e o traço que o compõem. Considerando as informações anteriores, assinale a alternativa que indique o tipo da variável, que deverá ser declarada para o armazenamento do CPF. ALTERNATIVAS STRING. STR. FLOAT. INT. LONG FLOAT. 10ª QUESTÃO Sequência de Fibonacci é uma sucessão de números que aparece codificada em muitos fenômenos da natureza. Descrita no final do século 12 pelo matemático italiano Leonardo Fibonacci, ela é infinita e começa com 0 e 1. Os números seguintes são sempre a soma dos dois números anteriores. Portanto: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34? Conteúdo disponível em <https://bit.ly/3sGsZhk> acessoa em 20/12/2021 def fib(x): if(x == 0 or x == 1): return x else: return fib(x-2) + fib(x-1) n = 7 resultado = fib(n) print(resultado) Realizando o teste de mesa, avalie as alternativas abaixo e assinale a que corresponde à realidade. ALTERNATIVAS Quando o algoritmo atingir a execução da linha 15, será impresso o número 8 (oito) na tela. Quando o algoritmo atingir a execução da linha 15, será impresso o número 13 (treze) na tela. Quando o algoritmo atingir a execução da linha 15, será impresso o número 0 (zero) na tela. Quando o algoritmo atingir a execução da linha 15, será impresso o número 1 (hum) na tela. Quando o algoritmo atingir a execução da linha 15, será impresso o número 7 (sete) na tela.
Compartilhar