Baixe o app para aproveitar ainda mais
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.
Compartilhar