Buscar

Prova_T05_Final_17-06-13(segunda-feira)

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___
PROVA FINAL (vale 10,0 pontos)
• Leia atentamente cada questão, preenchendo as suas respostas no caderno de respostas, sem rasurar;
• Qualquer parte desta prova pode ser utilizada como rascunho.
(3,0 pontos)
1) Considere o seguinte programa em C++, execute-o e informe o que é impresso pelo mesmo:
#include <iostream>
using namespace std;
int x = 11;
int funcao1( int m, int n );
void funcao2();
int funcao3( int m[] );
int funcao4( int& m );
int main() {
    int a = 1, b = 2, c = 3;
    while( x > funcao1( b, c ) ) {
        cout << x + a;
        b += c;
        a = b;
    }
    cout << "\n";
    funcao2();
    a = 5;
    b = 0;
    int v[3];
    for (int i = 0; i < 3; i++)
        v[i] = i;
    a = funcao3( v );
    cout << a << x << v[0] << v[1] << 
v[2] << endl;
    b = 2;
    c = 5;
    x = funcao1( x, b );
    cout << x << c << funcao4( c ) << 
endl;
    return 0;
}
int funcao1( int m, int n ) {
    int p = m + n;
    if( p % 2 == 0 )
        return p + 1;
    else
        return p;
}
void funcao2() {
    x++;
    cout << x;
}
int funcao3( int m[] ) {
    int p = 1;
    for(int i = 0; i < 3; i++)
        m[i] += 3;
    p = m[p] ­ 2;
    return p;
}
int funcao4( int& m ) {
    m += x;
    return m;
}
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
ESCOLA DE CIÊNCIAS E TECNOLOGIA
ECT1203 – Linguagem de Programação – 2013.1
Avaliação Final – Turma 05
Prof. João Paulo
(2,0 pontos)
2) Faça um programa em C++ completo que receba do usuário 6 números inteiros positivos que representam o 
resultado de um sorteio lotérico. Em seguida, o programa deverá receber do usuário outros 6 números inteiros, que 
representam a aposta de um jogador. Por fim, compare os valores da aposta com os do resultado, armazene em um 
vetor apenas os números que o jogador acertou e faça a impressão desse vetor na tela.
Para essa questão, a pontuação será assim dividida:
• Leitura dos valores de entrada: 0,4 ponto
• Comparação dos números da aposta com os do resultado: 0,8 ponto;
• Armazenamento do números acertados num vetor: 0,6 ponto;
• Impressão do vetor com os números acertados na tela: 0,2 ponto.
(2,0 pontos)
3) Faça um programa em C++ completo que leia duas matrizes quadradas A e B, de ordem n. Assuma que a ordem 
n vale para todas as matrizes quadradas, sendo n informado pelo usuário. Logo em seguida, a leitura dos valores 
reais para as matrizes A e B serão realizadas. Em seu programa, deverá conter as seguintes implementações de 
funções:
a) Crie e implemente uma função que calcule a soma das duas matrizes, armazenando o resultado numa terceira 
matriz, que possa ser acessada pela função main(). Você decide o protótipo dessa função, desde que ela faça o que é
pedido nesse item;
b) Crie e implemente uma função que dada uma matriz (X), calcule a transposta dessa matriz (XT). Você decide o 
protótipo dessa função, desde que ela faça o que é pedido nesse item;
Após criar as funções anteriores, utilize-as para calcular, a partir da função main(), a seguinte expressão matemática
envolvendo as matrizes A e B:
S = A + BT
O seu programa deverá imprimir a matriz resultante S após cálculo.
Para essa questão, a pontuação será assim dividida:
• Leitura dos valores de entrada (matrizes A e B): 0,2 ponto
• Função da soma das matrizes: 0,6 ponto;
• Função que calcula a transposta de uma matriz: 0,6 ponto;
• Cálculo da expressão matemática e impressão da matriz resultante S: 0,6 ponto.
(3,0 pontos)
4) Faça um programa completo em C++ que:
a) Crie um tipo estruturado denominado Mercadoria, que possibilite o armazenamento das seguintes informações 
sobre as mercadorias de um supermercado.
• nome (string);
• codigo (int);
• custo (double);
• preco (double).
b) Utilizando o tipo definido no item anterior, escreva um programa que crie um vetor de 100 elementos do tipo 
Mercadoria, preencha todos os elementos do vetor com informações fornecidas pelo usuário e em seguida imprima 
na tela: 
• o nome do produto mais caro;
• a quantidade de produtos de nome “carne”;
• e o lucro que o supermercado teria caso vendesse todas as mercadorias. O lucro por cada produto é 
calculado pela diferença do preço pelo custo.
Para essa questão, a pontuação será assim dividida:
• Item (a): 0,5 ponto
• Leitura das 100 mercadorias no item (b): 0,5 ponto;
• Cada subitem do item (b) vale: 0,7 ponto.

Continue navegando