Buscar

Prova1_T05_TipoB_Respostas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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 admite­se 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.

Outros materiais