Baixe o app para aproveitar ainda mais
Prévia do material em texto
29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 1/8 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 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: " << y << "\n"; system("PAUSE"); return 0; } INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA EM C Lupa Calc. PPT MP3 EEX0006_A8_202003539181_V1 Aluno: DOUGLAS NUNES BEZERRA Matr.: 202003539181 Disc.: INT PROG ESTD EM 2020.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. A média dos elementos digitados O menor de todos os elementos digitados A quantidade de elementos digitados A quantidade de elementos pares O maior de todos os elementos digitados Explicação: int i = 0; //inicializa a quantidade de elementos digitados diferentes de zero double x, y = 0; // y inicializa o somatorio dos valores de entrada cout << "Digite um numero: "; cin >> x; //Lê o primeiro valor while (x != 0){ //Enquanto o valor de entrada não for zero i = i + 1; //conta mais um número lido y = y + x; //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados em x cout << "Digite um numero: "; cin >> x; //Lê o proóximo número } y = y / i; //Divide a soma dos números lidos não nulos por i ( i é o total de números lidos não nulos) cout << "Numero: " << y << "\n"; //Imprime a média armazenada em y javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); javascript:abre_frame('2','8','','66AXQ1FRO6CCHGJQHAWA',''); javascript:abre_frame('3','8','','66AXQ1FRO6CCHGJQHAWA',''); 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 2/8 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: Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O valor final de soma e o valor final de num, são respectivamente int contador, num = 1, soma = 0; for (contador = 1; contador <= 20; contador += 5) { soma = soma + num; num = num + 3; } Logo : O programa calcula a média dos números digitados (diferente de zero) 2. III I e III I e IV II, III e IV I 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. 3. 22 e 10 22 e 20 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 3/8 Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR. Sabendo disso, qual seria o trecho de repetição adequado para esse programa? 22 e 13 o valor de soma está indefinido e o valor de num é 10 12 e 10 Explicação: Analisando o trecho : int contador, num = 1, soma = 0; for (contador = 1; contador <= 20; contador += 5) { soma = soma + num; num = num + 3; } Fazendo teste de mesa : contador num soma contador <= 20 1 1 0 sim 6 4 1 sim 11 7 5 sim 16 10 12 sim 21 13 22 21 <= 20 ? Falso. Os valores finais das variáveis estão em vermelho. Logo, a resposta é 22 e 13 4. for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; cin >>sexo; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 4/8 Considere a estrutura for ( ; ; ), e assinale a afirmação correta: cout <<"Qual o sexo? "; cin >>qtdeF; if (sexo==F && sexo==f) { qtdeF--; } else if (sexo==M || sexo==m) { qtdeM--; } } for (int cont=1;cont<=100;cont++) { cin <<"Qual o sexo? "; cout >>qtdeF; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M &&| sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>sexo; if (sexo==F || sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } 5. Não é executada pois não tem incremento. Não é executada, pois não tem condição de teste. Tem a sintaxe incorreta. Não é executada, pois não tem variável. É um laço infinito. Explicação: Verdadeiro É um laço infinito. 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 5/8 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ção de teste. Falso. O incremento pode ser posto dentro do for. Não é executada pois não tem incremento. 6. 50 e 9 o valor de s está indefinido e o valor de num é 7 16 e 9 9 e 9 50 e 16 Explicação: conta num s conta <= 40 ? 10 1 0 sim 20 3 0 + 1 , que dá 1 sim 30 5 1 + 3, que dá 4 sim 40 7 4 + 5, que é 9 sim 50 9 9 + 7, que é 16 Falso ! Valor final de s é 16 e o valor final de num é 9 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 6/8 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++. Imagine que você precisa criar um laço capaz dereceber o nome e as notas bimestrais de um teste e uma prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual das opções a seguir apresenta as linhas de código do laço? 7. for (int i=0, i <= 200, i++) for (int i=0; i <= 200; i++) for (int i=0; i =< 200; i++) for ( 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++) 8. while (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } for (cont=1;cont<=30;cont+=2) { cout <<"Informe as notas do aluno "; cin <<"Teste: "; cout >>Teste; 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 7/8 cin <<"Prova: "; cout >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cin <<"Você está na média!"; } else { cin <<"Você está abaixo da média!"; } } for (cont=30;cont<=0;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media<7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } for (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } do (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } Não Respondida Não Gravada Gravada javascript:abre_colabore('36805','196418989','3930066684'); 29/05/2020 Estácio: Alunos simulado.estacio.br/alunos/?user_cod=2774097&matr_integracao=202003539181 8/8 Exercício inciado em 27/05/2020 18:57:44.
Compartilhar