Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Tecnologia em Sistemas de Computação Disciplina: Projeto e Desenvolvimento de Algoritmos APX1 1° semestre de 2022 Nome – Assinatura – Observações: A) Prova sem consulta e sem uso de máquina de calcular. B) Use caneta para preencher o seu nome e assinar nas folhas de questões e nas folhas de respostas. C) Você pode usar lápis para responder as questões. D) Ao final da prova devolva as folhas de questões e as de respostas. E) Essa prova não contém "pegadinhas", mas os professores que a elaboraram algumas vezes, por distração, cometem pequenos erros no enunciado ou nas alternativas de respostas. Não fique procurando por espaços em branco ou quebras de linha sobrando ou faltando e não acredite que, por exemplo, um 15 como resposta quando você esperava um 15.0 é motivo para marcar "Nenhuma das respostas anteriores" como resposta da questão. F) Todas as respostas devem ser transcritas no local apropriado, no cartão de respostas a seguir. G) Boa Prova! Questão 1 A B █ D E 2 A B █ D E 3 A B █ D E 4 █ B C D E 5 A █ C D E 6 A B C █ E 7 A B C █ E 8 █ B C D E 9 █ B C D E 10 A B █ D E 1a questão (valor 1.0) Uma usuária, Maria, usa o celular para se comunicar com seus amigos. Um algoritmo deve ser escrito para determinar o tempo decorrido desde o recebimento de uma mensagem até o envio da resposta a essa mesma mensagem. Veja o seguinte exemplo de um conjunto de entradas para o algoritmo: R 1 T 10 E 1 A primeira linha, iniciada por R (recebida), informa que Maria recebeu uma mensagem do usuário 1. A segunda linha, iniciada por T (tempo), informa o tempo decorrido desde o recebimento da mensagem até a resposta, no caso, 10 segundos. A terceira linha, iniciada por E (enviada), informa que Maria enviou uma resposta para o usuário 1. Você pode assumir que o usuário no envio da mensagem é sempre o mesmo da mensagem recebida e que Maria responde todas as suas mensagens. Para esse conjunto de entradas o algoritmo deve imprimir o número 10, correspondente aos 10 segundos decorridos entre as mensagens. Saída: 10 Veja agora outro conjunto de entradas possível: R 1 E 1 Quando o tempo entre mensagens não é especificado, o algoritmo assume o tempo padrão de 1 segundo, de modo que esta deve ser a saída do algoritmo. Saída: 1 Um programador apresentou duas alternativas para o algoritmo solução: Algoritmo i início leia ch, n leia ch, n se ch = 'T' então tempo ← n senão tempo ← 1 fim se imprima tempo fim Algoritmo ii início leia ch, n leia ch, n se ch = 'E' então tempo ← 1 senão tempo ← n leia ch, n fim se imprima tempo fim O algoritmo solução para essa questão é: A) somente o algoritmo i B) somente o algoritmo ii C) os dois algoritmos resolvem o problema D) nenhum dos algoritmos resolve o problema E) Nenhuma das outras respostas 2a questão (valor 1.0) Um algoritmo lê um conjunto de linhas, correspondentes a quatro resultados de um jogador em jogos de tênis. Cada linha contém um único caractere: V se o jogador venceu o jogo, ou P se ele perdeu. Não há empates nos jogos. O algoritmo deve determinar o grupo a que pertence o jogador: Se o jogador venceu 3 ou 4 jogos, ele deve ser colocado no Grupo 1 Se o jogador venceu 1 ou 2 jogos, ele deve ser colocado no Grupo 2 Se o jogador não venceu nenhum jogo, ele deve ser colocado no Grupo 3 Saída: O algoritmo deve produzir uma única linha na saída contendo um número inteiro indicando o grupo em que o jogador deve ser colocado. Exemplos: Entrada V V P P Saída 2 Entrada P P P P Saída 3 Um programador apresentou duas propostas de algoritmos para a solução deste problema e estas são listadas a seguir: Algoritmo i início V ← 0 leia r se r = 'V' então V ← V + 1 fim se leia r se r = 'V' então V ← V + 1 fim se leia r se r = 'V' então V ← V + 1 fim se leia r se r = 'V' então V ← V + 1 fim se se V >= 3 então imprima 1 senão se V >= 1 então imprima 2 senão imprima 3 fim se fim se fim Algoritmo ii início V ← 0 leia r se r <> 'P' então V ← V + 1 fim se leia r se r = 'V' então V ← V + 1 fim se leia r se r <> 'P' então V ← V + 1 fim se leia r se r = 'V' então V ← V + 1 fim se se V = 3 OU V = 4 então imprima 1 fim se se V = 1 OU V = 2 então imprima 2 fim se se V = 0 então imprima 3 fim se fim O algoritmo solução para essa questão é: A) somente o algoritmo i B) somente o algoritmo ii C) os dois algoritmos resolvem o problema D) nenhum dos algoritmos resolve o problema E) Nenhuma das outras respostas 3a questão (valor 1.0) Um algoritmo deve ler uma sequência de cinco números inteiros e calcular a sua soma, porém sujeito à seguinte restrição: quando o número 0 (zero) for lido, o número anterior deve ser ignorado. Você pode assumir que o primeiro número digitado nunca é um zero. Exemplos: Entrada 1 3 5 4 7 Saída 20 Entrada 1 3 5 4 0 Saída 9 Entrada 1 0 5 0 7 Saída 7 Um programador apresentou duas propostas de algoritmos para a solução deste problema e estas são listadas a seguir: Algoritmo i início leia atual soma ← atual anterior ← atual leia atual se atual = 0 então soma ← soma - anterior senão soma ← soma + atual fim se anterior ← atual leia atual se atual = 0 então soma ← soma - anterior senão soma ← soma + atual fim se anterior ← atual leia atual se atual = 0 então soma ← soma - anterior senão soma ← soma + atual fim se anterior ← atual leia atual se atual = 0 então soma ← soma - anterior senão soma ← soma + atual fim se imprima soma fim Algoritmo ii início leia a leia b leia c leia d leia e soma ← a + b + c + d + e se b = 0 então soma ← soma – a fim se se c = 0 então soma ← soma - b fim se se d = 0 então soma ← soma - c fim se se e = 0 então soma ← soma - d fim se imprima soma fim O algoritmo solução para essa questão é: A) somente o algoritmo i B) somente o algoritmo ii C) os dois algoritmos resolvem o problema D) nenhum dos algoritmos resolve o problema E) Nenhuma das outras respostas 4a questão (valor 1.0) Um algoritmo deve ler da entrada um número inteiro de três dígitos e determinar a soma de seus dígitos. Exemplos: Entrada 123 Saída 6 Entrada 980 Saída 17 Um programador apresentou duas propostas de algoritmos para a solução deste problema e estas são listadas a seguir: Algoritmo i início leia num U ← num MOD 10 D ← num/10 MOD 10 C ← num/100 MOD 10 imprima (C+D+U) fim Algoritmo ii início leia num imprima (num/100 + num/10 + num) fim O algoritmo solução para essa questão é: A) somente o algoritmo i B) somente o algoritmo ii C) os dois algoritmos resolvem o problema D) nenhum dos algoritmos resolve o problema E) Nenhuma das outras respostas 5a questão (valor 1.0) O algoritmo solução dessa questão lê quatro números inteiros em ordem crescente e agrupa-os em dois grupos de dois números tais que seja mínima a diferença entre as somas dos números nos grupos. A saída do algoritmo é a diferença positiva entre as somas dos números nos grupos. Exemplos: Entrada 4 7 10 20 Saída 7 Entrada 1 2 3 4 Saída 0 Um programador apresentou duas propostas de algoritmos para a solução deste problema e estas são listadas a seguir: Algoritmo i inícioleia a leia b leia c leia d imprima (a + d) – (b + c) fim Algoritmo ii início leia a leia b leia c leia d se (a + d) > (b + c) então imprima (a + d – b – c) senão imprima (b + c – a – d) fim se fim O algoritmo solução para essa questão é: A) somente o algoritmo i B) somente o algoritmo ii C) os dois algoritmos resolvem o problema D) nenhum dos algoritmos resolve o problema E) Nenhuma das outras respostas 6a questão (valor 1.0) Um programador recebeu a tarefa de escrever um algoritmo que leia dois números inteiros positivos N e imprima quantos desses dois são ímpares. O programador escreveu os dois algoritmos mostrados abaixo para resolver este problema. Sabe-se que o valor lido N é sempre maior que zero. Exemplos: Entrada 4 5 Saída 1 Entrada 2 4 Saída 0 As duas propostas de algoritmos estão listadas a seguir. Algoritmo alg I início i ← 0 leia n se n mod 2 = 1 então i ← i + 1 fim leia n se n mod 2 = 1 então i ← i + 1 fim imprima i fim Algoritmo alg II início i ← 0 leia n i ← i + n mod 2 leia n i ← i + n mod 2 imprima i fim Marque a opção correta. A) Somente o algoritmo alg I resolve o pedido. B) Somente o algoritmo alg II resolve o pedido. C) Nenhum dos dois algoritmos resolve o pedido. D) Os dois algoritmos resolvem o pedido. E) Nenhuma das outras respostas 7a questão (valor 1.0) Um programador foi contratado para escrever um algoritmo que ajude nos cálculos do transporte de encomendas de uma empresa. A empresa de transportes permite que cada empresa contratante utilize uma quota de até X quilos por mês. Se a empresa contratante não usa toda a sua quota no mês, os quilos que ela não usou são adicionados à quota de X quilos do mês seguinte. Pelo contrato, a contratante nunca pode usar mais quilos do que a sua quota corrente. Por exemplo, se X=200 quilos e a empresa usou 150 quilos no primeiro mês e 220 quilos no segundo mês, então no terceiro mês a empresa tem uma quota de 230 quilos para usar. Isto porque 50 quilos são transferidos do primeiro para o segundo mês e 30 quilos sobraram no segundo mês e são transferidos para o terceiro mês. Nesta tarefa são dados o valor da quota mensal X e quantos quilos a empresa usou em cada um dos primeiros dois meses do plano. Você deve determinar quantos quilos a empresa tem para usar no terceiro mês. Uma restrição do contrato é que a companhia contratante não pode usar mais quilos do que ela tem disponível no mês. Entrada: A primeira linha da entrada contém um número inteiro X, o valor da quota mensal quilos. Cada uma das linhas seguintes contém um número inteiro indicando a quantidade de quilos que a empresa usou em cada mês. Saída: Seu programa deve produzir uma única linha, contendo um único número inteiro, a quantidade de quilos que a companhia tem para usar no terceiro mês. Exemplo de entrada e saída: Entrada: 10 4 6 Saída 20 O programador apresentou duas propostas de algoritmos listadas a seguir. Algoritmo alg I Início leia x t ← x leia m s ← t - m t ← x + s leia m s ← t - m t ← x + s imprima t fim Algoritmo alg II Início leia x g ←0 leia m g ← g + m leia m g ← g + m s ← 2 * x – g imprima x + s fim Marque a opção correta. A) Somente o algoritmo alg I resolve o problema. B) Somente o algoritmo alg II resolve o problema. C) Nenhum dos dois algoritmos resolve o problema. D) Os dois algoritmos resolvem o problema. E) Nenhuma das outras respostas 8a questão (valor 1.0) Joaquim encontrou um caixa com muitas bolinhas de gude. Para a divisão das bolinhas com seus amigos eles concordaram com o seguinte sistema. Cada criança, exceto Joaquim, deve receber exatamente o mesmo número de bolinhas. Os amigos decidiram que Joaquim deve receber o dobro de bolinhas que os outros recebem já que ele encontrou a caixa. Dados o número de bolinhas na caixa e o número de amigos, escreva um algoritmo para determinar quantas bolinhas Joaquim deve receber. Entrada: A primeira linha da entrada contém um número inteiro A, indicando o número de bolinhas na caixa. A segunda linha contém um inteiro N, o número de amigos (não contando Joaquim). O valor de A é sempre maior do que (N+1). Joaquim fica com todas as bolinhas que não forem possíveis distribuir segundo o critério acordado pelos amigos. Saída: Seu programa deve produzir na saída uma única linha, contendo um único inteiro, o número de bolinhas que Joaquim deve receber. Exemplos de entrada e saída: Entrada: 221 11 Saída 34 Entrada: 15 10 Saída 5 Um programador apresentou duas propostas de algoritmos listadas a seguir. Algoritmo alg I início leia a leia n r ← a/(n+2) imprima 2*r + a mod (n+2) fim Algoritmo alg II início leia a leia n r ← a / n imprima r fim Marque a opção correta. A) Somente o algoritmo alg I resolve o problema. B) Somente o algoritmo alg II resolve o problema. C) Nenhum dos dois algoritmos resolve o problema. D) Os dois algoritmos resolvem o problema. E) Nenhuma das outras respostas 9a questão (valor 1.0) Em um determinado curso um aluno é considerado aprovado quando sua nota final (NF) fica no intervalo (6.0 <= NF <= 10.0). Esta expressão é inválida em PETEQS e na maioria das linguagens de programação. Um programador tem de escrever uma expressão booleana em PETEQS que tenha como resultado verdadeiro sempre que a nota estiver no intervalo definido acima e falso no caso contrário. Ele escreveu as duas expressões mostradas a seguir: exp 1: (NF >= 6.0) E (NF <= 10.0) exp 2: (NF >= 6.0) OU (NF <= 10.0) Marque a opção correta. A) Somente a expressão exp I resolve o problema. B) Somente a expressão exp II resolve o problema. C) Nenhuma das duas expressões resolve o problema. D) As duas expressões resolvem o problema. E) Nenhuma das outras respostas 10a questão (valor 1.0) O que será impresso pelo algoritmo a seguir considerando que as entradas fornecidas pelo usuário foram 10.0 e 12.0, nesta ordem? Considere que o comando imprima não muda de linha ao final da impressão Início leia a leia b x1 ← a x2 ← b t ← x1 x1 ← x2 x2 ← t imprima x1, ‘ ‘, x2, ‘ ‘ x1 ← a x2 ← b x1 ← x2 x2 ← x1 imprima x1, ‘ ‘, x2 fim A) 10 12 10 12 B) 10 10 12 12 C) 12 10 12 12 D) 12 10 12 10 E) Nenhuma das outras respostas
Compartilhar