Prévia do material em texto
Disciplina: CCT0749 - ALGORITMOS 201902619731 1a 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; cout << "Digite um numero: "; cin >> x; for (i=0; i<5; i++){ cout << "Digite um numero: "; cin >> y; if (y > x){ x = y; } } cout << "Numero: " << x << "\n"; system("PAUSE"); return 0; } O maior de todos os elementos digitados O menor de todos os elementos digitados A média dos elementos digitados A quantidade de elementos pares A quantidade de elementos digitados Respondido em 20/11/2019 10:26:22 Explicação: Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. 2a Questão 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) } 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) } Respondido em 20/11/2019 10:27:38 3a Questão 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 - F V - F - V F - F - V F - F - F F - V - V Respondido em 20/11/2019 10:27:57 4a 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++. b) if(i>10) { if (i<100) i=0;} c) for( i>0, i<10,i++) { cout<<i;}<i;}<i;}< body=""></i;}<i;}<i;}<> < I;} a) for(int i=0;i<10;i++) { cout<< i;}<i;}<i;}<="" body=""></i;}<i;} d) if(int i;i<10;i++) {cout<<i;}<i;}< body=""> < I;}</i;}<i;}<> e) for(i++, , int i) { cout<< I;} Respondido em 20/11/2019 10:28:48 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 na opção. Deve se usar ; separando a inicialização do teste lógico e da parte dos incrementos. c) for( i>0, 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;} 5a Questão O que o trecho de programa em C++ abaixo imprime na tela ? int x; for (x = 5; x > 0; x--) if (x % 3 == 0) cout << x - 1 << " "; else cout << x + 1 << " "; 6 5 3 2 1 6 5 2 3 1 5 4 3 2 1 5 6 3 2 1 6 5 2 3 2 Respondido em 20/11/2019 10:29:40 Explicação: int x; for (x = 5; x > 0; x--) if (x % 3 == 0) cout << x - 1 << " "; else cout << x + 1 << " "; Analisando o trecho dado e fazendo teste de mesa : x x > 0 ? (x % 3 == 0) ? 5 5 > 0 ? sim 5 % 3 é zero ? Não. Imprime 6 4 4 > 0 ? sim 4 % 3 é zero ? não. Imprime 5 3 3 > 0 ? Sim 3 % 3 é zero ? sim. Imprime 2 2 2 > 0 ? sim 2 % 3 é zero ? não. Imprime 3 1 1 > 0 ? sim 1 % 3 é zero ? não. Imprime 2 0 0 > 0 ? não TELA 6 5 2 3 2 6a 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; if ((x % 2) == 0){ y = y + x; } } cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } A soma de todos os elementos O maior de todos os elementos digitados A média dos elementos digitados A quantidade de elementos digitados A soma dos elementos pares Respondido em 20/11/2019 10:30:18 Explicação: Analisando o trecho do programa dado : int i; double x, y = 0; //inicializa y que irá acumular o somatório for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; //Lê o valor de x if ((x % 2) == 0){ //testa se x é par y = y + x; //Se x é par então acumula em y o valor de x, somando todos os valores das variáveis x que são pares } } cout << "Numero: " << y << "\n"; //Imprime y, que acumulou o somatório mencionado acima 7a Questão Analise o trecho de código em C++ abaixo : for (int x = 0; x < 10; x++) { if (valor[x] % 3 == 0 && valor[x] % 7 == 0) cout << valor[x]; } Imprimirá na tela todos os valores de um vetor que são ímpares. Imprimirá na tela todos os valores de um vetor que são pares. Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7. Imprimirá na tela todos os valores de um vetor. Imprimirá na tela todos os valores de um vetor que não são múltiplos de 5. Respondido em 20/11/2019 10:31:03 Explicação: Verdadeiro Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7. Falso. Imprimirá o valor 105, que é múltiplo de 3, 7 e 5. Imprimirá na tela todos os valores de um vetor que não sãomúltiplos de 5. Falso. Só imprimirá os múltiplos de 3 e 7. Imprimirá na tela todos os valores de um vetor. Falso. Imprimirá na tela o valor 21, que é ímpar. Imprimirá na tela todos os valores de um vetor que são pares. FAlso. Imprimirá na tela o valor 42, que é par. Imprimirá na tela todos os valores de um vetor que são ímpares. 8a Questão A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico sequencial de seleção de repetição de atribuição condicional Respondido em 20/11/2019 10:31:28 Explicação: A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico de repetição