Baixe o app para aproveitar ainda mais
Prévia do material em texto
16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 1/6 ALGORITMOS 7a aula Lupa Vídeo PPT MP3 1a Questão Qual dos comandos abaixo está escrito de forma errada? for (X=10 ; X > 0 ; X--) for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) for (X=0 , Y=4 ; X < 10 ; X++ , Y--) for (X < 10 ; X=0 ; X++) for (X=0 ; X < 10 ; X++) Explicação: Está correto. Temos a inicialização, o teste e a parte do incremento for (X=0 ; X < 10 ; X++) Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente. for (X=0 , Y=4 ; X < 10 ; X++ , Y--) Está correto. Temos a inicialização, o teste e a parte dodecremento. for (X=10 ; X > 0 ; X--) Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente. for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) A sintaxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a inicialização estão trocados de lugar. for (X < 10 ; X=0 ; X++) 2a Questão Considere a estrutura for ( ; ; ), e assinale a afirmação correta: Não é executada, pois não tem condição de teste. Não é executada, pois não tem variável. Tem a sintaxe incorreta. Não é executada pois não tem incremento. É um laço infinito. 16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 2/6 Explicação: Verdadeiro É um laço infinito. Falso. É possível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. FAlso. É possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável. Falso. O teste pode ser feito dentro do for. Não é executada, pois não tem condiçãode teste. Falso. O incremento pode ser posto dentro do for. Não é executada pois não tem incremento. 3a Questão Laços de repetição são usados para que uma determinada sequência de comandos seja repetida um determinado número de vezes, sem a necessidade de reescrever tais comandos inúmeras vezes. Marque a alternativa que apresenta corretamente a representação de um laço de repetição codificado em C++. c) for( i>0, i<10,i++) { cout< < I;} e) for(i++, , int i) { cout<< I;} b) if(i>10) { if (i<100) i=0;} a) for(int i=0;i<10;i++) { cout<< i;} d) if(int i;i<10;i++) {cout< < I;} Explicação: Verdadeira a) for(int i=0;i<10;i++) { cout<< i;} Falso. O comando if não é de repetição. É um comando condicional. b) if(i>10) { if (i<100) i=0;} Falso. A 1a. parte do for é a inicialização e não um teste como feito c) for( i>0, 16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 3/6 na opção. Deve se usar ; separando a inicialização do teste lógico e da parte dos incrementos. i<10,i++) { cout< < I;} Falso. O comando if não é de repetição e a opção ainda usa o if de forma incorreta. d) if(int i;i<10;i++) {cout< < I;} FAlso. A 1a. parte do for é a inicialização e não um incremento como feito na opção. Deve se usar ; separando a inicialização do teste lógico e da parte dos incrementos. e) for(i++, , int i) { cout<< I;} 4a Questão Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++. for (int i=0; i <= 200; i++) for ( i=0; i <= 200; i++) for (int i=0, i <= 200, i++) for (int i=0; i < 200; i++) for (int i=0; i =< 200; i++) Explicação: Verdadeira for (int i=0; i < 200; i++) Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no teste do for. for (int i=0; i <= 200; i++) FAlsa. A variável i não foi declarada. for ( i=0; i <= 200; i++) Falsa. Não existe =< for (int i=0; i =< 200; i++) Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. for (int i=0, i <= 200, i++) 16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 4/6 5a Questão O que o trecho de programa em C++ abaixo imprime na tela ? int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; 2 3 4 6 2 4 6 8 10 2 3 4 5 6 1 3 5 7 9 3 5 7 9 Explicação: Analisemos o trecho : int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; Para cada x de 1 até 5, inclusive, faça : >>>> teste se x é divisível por 3 e por 5, analisando o resto da divisão com %. Se for divisível por ambos, imprime o valor de x + 2. Se não for por ambos, imprime o valor de x +1. Quando x for 6, não entraremos mais no loop. Vejamos passo a passo : >> para x igual a 1 : o teste do if falha. Então, imprimimos 2 >> para x igual a 2 : o teste do if falha. Então, imprimimos 3 >> para x igual a 3 : o teste do if falha. Então, imprimimos 4 >> para x igual a 4 : o teste do if falha. Então, imprimimos 5 >> para x igual a 5 : o teste do if falha. Então, imprimimos 6 >> para x igual a 6 : o teste do for falha. Logo, a resposta é 2 3 4 5 6 6a Questão 16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 5/6 A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa uma REPETIÇÃO : No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois. Explicação: Falso. É um condicional. No trânsito, se o sinal estiver vermelho, PARE, se não,PODE PASSAR. Verdadeiro. Tem o comando enquanto. Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Falso. É uma sequência Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. Falso. É um comando condicional ... tem se ... se não.. Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Falso. Comando sequencial. Calcule a média de um aluno somando as duasmaiores notas e dividindo a soma por dois. 7a Questão Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente: int conta, num=1, s=0; for(conta = 10; conta < = 40; conta= conta+10){ s= s+num; num= num +2; } 16 e 9 o valor de s está indefinido e o valor de num é 7 9 e 9 50 e 9 50 e 16 Explicação: Acompanhe o teste de mesa : num s conta conta <= 10 ? 16/10/2018 Conteúdo Interativo http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034…6/6 1 0 10 sim 3 1 20 sim 5 4 30 sim 7 9 40 sim 9 16 50 não Logo, s vale 16 e num vale 9 8a Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i; double x, y = 0; for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; y = y + x; } cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } A soma dos elementos pares A quantidade de elementos digitados O maior de todos os elementos digitados A soma de todos os elementos A média dos elementos digitados Explicação: Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um somatório, indicado na linha : y = y + x; Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou.
Compartilhar