Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. 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; } 15 31 29 Nenhuma das alternativas. 30 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 2. Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, imagine que você precisa escrever um programa em C++ que receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. Contabilize também os votos nulos, que são aqueles diferentes de A ou B. Ao final, é preciso exibir o candidato vencedor, os votos para o candidato A, os votos para o candidato B e os votos nulos. Qual das alternativas a seguir apresenta o trecho de código adequado à solução desse problema? cout<< "Digite o número do aluno: "; cin>> num; do (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cout<< "Digite o número do aluno: "; cin>> num; while (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cout<< "Digite o número do aluno: "; cin>> num; while (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; case (voto == A) { contA++; } case (voto == B) { contB++; } case { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cout<< "Digite o número do aluno: "; cin>> num; for (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cin<< "Digite o número do aluno: "; cout>> num; do while (num!=0) { cin<< "Digite a letra de seu candidato: "; cout>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cin<< "Digite o número do aluno: "; cout>> num; } 3. Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas: ( ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático. ( ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código; ( ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir; V - F - V V - F - F F - F - V F - V - V F - F - F 4. A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir: Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? for (int cont=0; cont <= 10; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=10; cont <= 0; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=0; cont <= 10; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=10; cont <= 200; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (cont++; cont <= 10; int cont=0) { cout << "Estamos na " << cont << "a. rodada..."; } 5. Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você deseja escrever um programa que, a partir da quantidade de calorias consumidas em uma refeição, informe se você ultrapassou esse valor ou permaneceu dentro do limite. Para fazer o cálculo do consumo total, você precisará que seja digitado o valor calórico de cada elemento. Como não se sabe exatamente quantos alimentos diferentes foram consumidos, considere que será digitado 0 quando não houver mais consumo a ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e informar se foi ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura repetitiva adequada para este problema? while (cont!=0) { cont++; totCalorias+=0; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } do (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } for (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } while (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } while (calAlimento!=0) { cont++; totCalorias+=calAlimento; cin<< "Informe as calorias do alimento " << cont <<": "; cout>> calAlimento; } 6. Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma sequência de números e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, qual das alternativas a seguir ajuda a resolver o problema proposto? faca { se (num%2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } enquanto (num!=0) enquanto (num==0) { se (num/2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } enquanto (num>0) { se (num%2!=0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } faca { se (num%2!=0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } enquanto (num>0) enquanto (num!=0) { se (num%2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } 7. Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a expressão Bom dia. int a = 8; while ( ____ ) { cout << "Bom dia\n"; a = a -2; } a == 0 a > 0 a <= 0 a < 0 a >= 0 Explicação: Analisando o trecho temos que : · a variável a funciona como contador e começa com 8. · a variável a varia de 2 em 2. Assim: · quando a é 8 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-2 = 6) · quando a é 6 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-2 = 4) · quando a é 4 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-2 = 2) · quando a é 2 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-2 = 4) porém como já imprimiu 4 vezes ele para. · quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima. Logo, a opção certa é : a > 0, pois quando a for zero (a=0), a repetição irá terminar. Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia. 8. 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 while repeat for 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
Compartilhar