SóProvas


ID
2614555
Banca
COPERVE - UFSC
Órgão
UFSC
Ano
2018
Provas
Disciplina
Programação
Assuntos

    Para a questão, considere a existência de uma linguagem de programação fictícia, chamada “K”, que possui os seguintes comandos:

• comando de atribuição, que atribui um valor a uma variável. Por exemplo, na linha “v1 = v2 + v3”, o comando está sendo usado para atribuir um valor para a variável v1, sendo esse valor o resultado da soma dos valores das variáveis v2 e v3;
• comando de seleção, que executa um comando caso o valor de uma expressão seja verdadeiro. Por exemplo, na linha “se (v1 == 5) {v2 = 7}”, o comando de atribuição será executado somente se a expressão “v1 == 5” for verdadeira, ou seja, se o valor da variável v1 for igual a 5;
• comando de repetição, que executa um comando exatamente N vezes. Por exemplo, na linha “repita 5 vezes {v1 = v1 + 3}”, o comando de atribuição será executado cinco vezes;
• comando de repetição, que executa um comando enquanto uma expressão for verdadeira. Por exemplo, na linha “enquanto (v1 <= 6 E v2 == 3) {v1 = v1 - 3}”, o comando de atribuição será executado enquanto as expressões “v1 <= 6” e “v2 == 3” forem verdadeiras, ou seja, enquanto o valor da variável v1 for menor ou igual a 6 e o valor da variável v2 for igual a 3.

Considere o problema de verificar se um número faz parte de um conjunto de números. Parte da solução deste problema está escrita a seguir, usando a linguagem K:

numero = 10 // número a ser pesquisado
numeros = [8,3,9,1,2,10,6] // conjunto de 7 números com índices 1 a 7
maxI = tamanho(numeros) // calcula o tamanho do conjunto numeros
presente = falso // resposta do problema

Assinale a alternativa que representa a parte do programa que está faltando para resolver o problema e que representa o algoritmo mais eficiente.

Alternativas
Comentários
  • Alternativas A e B resolvem o problema. Mas é solicitado o algoritmo mais eficiente; portanto, alternativa B é a resposta por ter uma condição de parada ao achar o número ("presente == falso").