Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMOS 8a aula Lupa Vídeo PPT MP3 Exercício: CCT0749_EX_A8_201802365591_V4 04/11/2018 20:08:08 (Finalizada) Aluno(a): 2018.3 EAD Disciplina: CCT0749 - ALGORITMOS 1a Questão Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que representa o uso do comando while para implementar a estrutura de um contador corretamente. int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } while (if cont =10){ } String cont = ""; { cont++; } while (cont!="") while (repita 10 vezes) { } while () { cout << "exibindo o número"; } Explicação: A estrutura geral do while quando se usa contador no teste do loop é a seguinte : while ( < condição... teste lógico ... com o contador > ) { < comandos> alteração do contador } Analisando ... Falsa. Faltou a condição ou teste lógico ou variável que pode ser true ou false. while () { cout << "exibindo o número"; } Verdadeira. Pode se r encaixada na explicação no início. int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } FAlsa. Não tem String em C++. Existe string, mas não String. Sintaxe incorreta no uso do while. String cont = ""; { cont++; } while (cont!="") Falsa. Sintaxe incorreta. Uso de repita sem sentido. while (repita 10 vezes) { } Falsa. Uso incorreto do if na parte relativa à condição do while. while (if cont =10){ } 2a Questão Considere o trecho abaixo sabendo que num é um variável inteira. num = 11; do { if (num % 2 == 0) cout << num << "\n"; num = num -1 ; } while (num != 0); Assinale a opção correta : O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 2, nesta ordem. O trecho entra em loop. O trecho fornecido pára quando num for diferente de zero e o único número exibido é o 10. O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 0, nesta ordem. o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos. Explicação: 1a. opção está correta. Veja o teste de mesa : num num % 2 é igual a zero ? num é diferente de zero ? 11 11 % 2 é 1. Logo, é falso o teste do if. 10 10 diferente de 0 ? sim 10 % 2 é zero ? sim. Imprime o 10 9 9 é diferente de 0 ? sim 9 % 2 é zero ? Não 8 8 é diferente de zero ? sim 8 % 2 é zero ? Sim. Imprime o 8 7 7 é diferente de zero ? sim 7 % 2 é zero ? Não 6 6 % 2 é zero ? Sim. Imprime o 6 e decrementa para 5 valor de num 6 é diferente de zero ? sim E assim continua ... irá parar quando num for zero... Note que está imprimindo os pares de 10 até 2, pois quando decrementa num para zero, o teste do do...while falha. Imprimirá os números 10 8 6 4 2 , um embaixo do outro. 2a. opção é falsa. Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já explicado no item anterior. 3a. opção é falsa. Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários níumeros como mostrado na explicação da 1a. opção. 4a. opção é falsa. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do outro. 5a. opção é falsa. Falso. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do outro. Ocorre a parada do loop quando num for zero. 3a Questão Considerando a seguinte sequencia de instruções, marque a alternativa que indica o comando correspondente para preenchimento da lacuna. ... cin>>matricula; ______________ (matricula<99) { cin>>matricula; } do case loop repeat for while Explicação: Falso. Nâo tem repeat em C++. repeat Falso. Não se encaixa a sintaxe do comando for. for Verdadeiro while Falso. Não existe comando do... case. do case Falso. Nâo existe comando loop. loop 4a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo: cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } 31 Nenhuma das alternativas. 30 15 29 Explicação: Fazendo passo a passo : cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } variável cont Teste cont < 30 ? Sim ou não ? 0 0 < 30 ? sim 1 1 < 30 ? sim 2 2 < 30 ? Sim 3 3 < 30 ? Sim 4 4 < 30 ? Sim 5 5 < 30 ? sim 6 6 < 30 ? sim 7 7 < 30 ? sim continuando até 29 29 < 30 ? Sim 30 30 < 30 ? Não. Falso. Não entra no while Note que entrou 30 vezes no corpo do while e a cada vez que entrou imprimiu ALGORITMO TELA ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO >>>>>>>>>>>>>>>>>> Logo, imprimiu 30 vezes a palavra ALGORITMO 5a Questão As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de código. Trata- se de uma forma de executar blocos de comandos somente sob determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que uma certa condição seja satisfeita. Sejam as seguintes afirmativas: I - Toda estrutura de repetição apresenta um teste no início e um na saída. II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de decisão, onde não haja testes ou condições. III - Toda estrutura de repetição apresenta um critério de parada. IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas iterações. Marque a alternativa que representa apenas as afirmativas CORRETAS: I e III III I I e IV II, III e IV Explicação: I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no início ou no fim. II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de decisão, onde não haja testes ou condições. Falso. São estruturas diferentes. III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas iterações. Falso. 6a Questão Leia atentamente o trecho de código abaixo e diga o que ele apresentará ao usuário no final : int main ( ){ int i = 0; double x, y = 0; cout << "Digite um numero: "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero: "; cin >> x; } y = y / i; cout << "Numero: " << x << "\n"; system("PAUSE"); return 0; } O último número digitado, ou seja, zero O maior de todos os elementos digitados O menor de todos os elementos digitados A quantidade de elementos digitados A média dos elementos digitados Explicação: A última impressão será o valor de x e o último valor de x é zero, pois foi o valor que parou a repetição. Terminada a repetição, um novo y é gerado e depois o valor de x é impresso. Ou seja, 0. 7a Questão Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? enquanto (num > 0) while (num != 0) for ( i = 0; i == num; i++) for (i = num; i > 0; i++) while (num == 0) Explicação: verdadeira while (num != 0) FAlsa. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0) FAlsa. Nesta opção está "enquanto num for maior que zero" enquanto (num > 0) Falsa. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == num; i++) FAlsa. Não inicializa ou testa corretamente. for (i = num; i > 0; i++) 8a Questão Qual a estrutura de repetição mais indicada para os casos em que é necessário que o bloco de código a ser repetido seja sempre repetido pelo menos uma vez? while{} for{} while do repeat until do{ }while Explicação: O comando do... while deixa fazer para depois testar. Logo, é feita apenas 1 vez. No caso do comando while ou for, é possível não entrarmos no bloco do loop nenhuma vez.
Compartilhar