Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome: ____________________________________________________________ Matr.: _______________ Subturma: T05___ Instruções para a Prova 1. Durante a prova, o(a) aluno(a) não deve levantar-se, ou realizar qualquer tipo de comunicação com outro aluno. Para ser atendido deverá levantar o braço e esperar. 2. As provas podem ser respondidas a lápis ou caneta esferográfica azul ou preta. A correção das questões respondidas a lápis não será passível de contestação. 3. Não é permitido o uso de qualquer outra folha de papel que não seja a prova. 4. Não é permitido consulta, utilização de qualquer tipo de material ou aparelho eletrônico. 5. Cabe única e exclusivamente ao aluno interpretar as questões da prova. 6. O aluno somente poderá retirar-se do local de realização das provas após 30 (trinta) minutos de seu início. 7. O aluno terá somente dois horários (100 minutos) para realização da prova. Esgotado esse tempo, a prova deverá ser entregue imediatamente ao professor ou fiscal da sala. 8. As respostas deverão obrigatoriamente serem preenchidas no espaço reservado (folha de respostas) e não deve ser rasurada. 9. Ao término da prova e somente junto ao professor ou fiscal, o aluno poderá destacar o gabarito para posterior conferência com o gabarito oficial. 10. A desobediência a qualquer uma dessas presentes instruções, poderá implicar na anulação da prova do(a) aluno. PROVA ESCRITA 1 (vale 6,0 pontos) (vale 1,0 ponto) 1) Execute o programa em C++ a seguir e informe os valores finais das variáveis x, y e z. #include <iostream> using namespace std; #include <iostream> using namespace std; int main() { int x = 1, y = 2, z = 5; for(int i = 0; i < 3; i++) { z; if( (z i)%2 != 0 ) x++; else y = 1; } return 0; } UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 – Linguagem de Programação – 2013.1 1ª Avaliação Escrita – Turma 05 Prof. João Paulo RASCUNHO Prova1_TipoB: com o nome gabarito com g minúsculo. (vale 2,0 pontos) 2) Execute o algoritmo a seguir e informe o que é exatamente impresso pelo mesmo. #include <iostream> using namespace std; int main() { int m[3][3], a = 20, b = 4; for( int i = 0; i < 3; i++ ) { for( int j = 0; j < 3; j++ ) { if( i < j ) m[i][j] = 1; else m[i][j] = 0; } } for( int i = 0; i < 3; i++ ) { a += 5; m[i][0] = a + b; ++b; } for( int i = 0; i < 3; i++ ) { for( int j = 0; j < 3; j++ ) { cout << m[i][j] << " "; } cout << "\n"; } return 0; } (vale 1,0 ponto) 3) Faça um programa em C++ que leia 10 valores inteiros, positivos e distintos e os armazene num vetor. Após leitura dos valores, o programa deverá informar a soma do maior valor par com o menor valor ímpar (soma = maior_par + menor_impar). Em caso de não haver um valor par ou ímpar, substituir este por zero na soma. Exemplos de execução: 5 8 3 2 12 6 4 9 7 17 maior_par = 12; menor_impar = 3; Soma = 12 + 3 = 15 7 9 11 13 15 17 19 21 1 3 maior_par = não tem; menor_impar = 1; Soma = 0 + 1 = 1 RASCUNHO (vale 2,0 pontos) 4) Faça um programa em C++ que leia para 50 alunos as seguintes informações: nome, nota1 e nota2. O programa deverá calcular a média ponderada de cada aluno, dada pela fórmula: media = (nota1*5+nota2*6)/11 De acordo com o valor da média, o aluno recebe um conceito: Conceito A: se média >= 9; Conceito B: se média >= 7 e média < 9; Conceito C: se média >= 4 e média < 7; Conceito D: se média >= 2 e média < 4; Conceito E: se média < 2; O programa deverá informar a quantidade de alunos com conceito A ou B e a quantidade de alunos com conceito C, D ou E. Além disso, o programa deverá imprimir as informações de cada aluno no seguinte formato (dados exemplos): NomeAluno Nota1 Nota2 Média Conceito Fulano 10 10 10 A Cicrano 6 4 4.9 C ... FOLHA DE RESPOSTAS (NÃO RASURAR!) 1) x = ___1_____ y = ___-1_____ z = ___2_____ 2) 29 1 1 35 0 1 41 0 0 3) //A CADA DOIS ERROS DE SINTAXE VERIFICADO NESSA QUESTÃO, PENALIDADE DE 0,1 PONTO, TOTALIZANDO NO MÁXIMO 0,3 PONTO (6 ERROS). #include <iostream> using namespace std; int main() { //A PARTE DA LEITURA VALE ATÉ 0,3 PONTO int n[10], maior_par = 0, menor_impar = 999999, soma; //Leitura do vetor e verificação dos valores for(int i = 0; i < 10; i++) { cin >> n[i]; //A PARTE DA VERIFICAÇÃO VALE ATÉ 0,6 PONTO //verificando se n[i] é maior que todos lidos e também se é par if( n[i] > maior_par && n[i] % 2 == 0) maior_par = n[i]; //verificando se n[i] é menor que todos lidos e também se é ímpar if( n[i] < menor_impar && n[i] % 2 == 1) menor_impar = n[i]; } //verificando se houve algum ímpar lido na variável menor_impar. //Se não houver, deve ser configurado como zero para cálculo na soma if( menor_impar == 999999 ) menor_impar = 0; //A PARTE DA IMPRESSÃO DOS RESULTADOS VALE ATÉ 0,1 PONTO soma = maior_par + menor_impar; //soma do maior par com o menor ímpar cout << "\n\nSoma = " << soma << endl; return 0; } FOLHA DE RESPOSTAS (NÃO RASURAR!) 4)//A CADA DOIS ERROS DE SINTAXE VERIFICADO NESSA QUESTÃO, PENALIDADE DE 0,1 PONTO, TOTALIZANDO NO MÁXIMO 0,5 PONTO (10 ERROS). #include <iostream> using namespace std; int main() { //ATENÇÃO: nesse código admitese que são 3 alunos, ao invés de 50 no problema original. //Lembrando que o número de alunos não altera a estrutura do problema. //A PARTE DA LEITURA VALE ATÉ 0,3 PONTO string alunos[3]; //Nomes dos alunos double notas[3][3]; //Nota1, Nota2 e Média de cada aluno char conceitos[3]; //Conceito de cada aluno //contadores (cont_AB: número de alunos que tem conceito A ou B; cont_CDE: número de alunos que tem conceito C, D ou E. int cont_AB = 0, cont_CDE = 0; //Leitura dos nomes e das notas for(int i = 0; i < 3; i++) { cin >> alunos[i]; //Lendo o nome do aluno i for(int j = 0; j < 2; j++) { //(j < 2) Ler somente as colunas 0 e 1, sendo respectivamente: nota1 e nota 2 cin >> notas[i][j]; //Lendo as notas (nota1 quando j=0 e nota2 quando j=1) } //A PARTE DO CÁLCULO DA MÉDIA E DA VERIFICAÇÃO DOS CONCEITOS VALE ATÉ 1,0 PONTO notas[i][2] = ( notas[i][0]*5 + notas[i][1]*6 ) / 11; //calculando a média de cada aluno em notas[i][2] //Calculando os conceitos de cada aluno if( notas[i][2] >= 9 ) conceitos[i] = 'A'; else if( notas[i][2] >= 7 && notas[i][2] < 9 ) conceitos[i] = 'B'; else if( notas[i][2] >= 4 && notas[i][2] < 7 ) conceitos[i] = 'C'; else if( notas[i][2] >= 2 && notas[i][2] < 4 ) conceitos[i] = 'D'; else conceitos[i] = 'E'; //média < 2 //A PARTE DA CONTAGEM DOS GRUPOS VALE ATÉ 0,5 PONTO //Incremento de contadores if( conceitos[i] == 'A' || conceitos[i] == 'B') cont_AB++; else cont_CDE++; //Conceito C, D ou E } //Imprimindo a quantidade de alunos entre os dois grupos de conceito: (A ou B) e (C, D ou E) //A PARTE DA IMPRESSÃO DOS RESULTADOS VALE ATÉ 0,2 PONTO cout << "\n\nQt. de alunos com conceitos A ou B: " << cont_AB << endl; cout << "\n\nQt. de alunos com conceitos C, D ou E: " << cont_CDE << endl; //Imprimindo os dados dos alunos no formato pedido cout << "\n\nNomeAlunoNota1 Nota2 Média Conceito" << endl; for(int i = 0; i < 3; i++) cout << alunos[i] << " " << notas[i][0] << " " << notas[i][1] << " " << notas[i][2] << " " << conceitos[i] << endl; return 0; } Folha do gabarito do Aluno • O aluno só poderá destacar esta folha ao término de sua prova e na presença do professor ou fiscal de sala; • Caso a área de resposta para a questão 4 na folha de respostas não seja suficiente, o aluno poderá utilizar esta folha para completar a sua resposta. Obviamente nesse caso, o aluno não levará esta folha; • Esta folha (ambos frente e verso) também pode ser utilizada como área para rascunho. Prova1_TipoB: com o nome gabarito com g minúsculo.
Compartilhar