Primeira Prova ­ Programação Aplicada de Computadores ­ 09/2
Prof. Andréa Maria Pedrosa Valli
Aluno: ______________________________________________________________
Questão 1) (2.0 pontos) Responda as seguintes perguntas :
a) Quais são as desvantagens em se criar novos tipos de dados usando struct? Qual é o papel da interface na programação orientada a objetos? b) Qual é a vantagem em ocultar informações na programação orientada a objetos? Explique. Questão 2) (2.0 pontos) Mostre a saída do programa abaixo, indicando o escopo das variáveis.
#include <iostream>
using namespace std;
void exemplo();
int x = 10; int y = 20;
int main() {
int x = 30; cout << "xg = " << x << " yg = " << y << endl;
{ int x = 40; cout << "xb = " << x << " yb = " << y << endl;
} exemplo();
exemplo();
return 0;
}
void exemplo() {
static int x = 50; x = x + 1;
y = y + 1;
cout << "xe = " << x << " ye = " << y << endl;
} Questão 3) (3.0 pontos) Faça o que se pede:
a) Corrija os erros de sintaxe e mostre qual é o conteúdo do array ao final da execução do seguinte código:
int a[4];
for ( int i = 0 , I < 4 , i++ ) {
if ( i < 3) {
a[i] = i*2; }
a[3] = i }
b) Qual é o problema com as linhas de codigo abaixo?
const int a=5;
a = 10;
c) Corrija os erros do programa abaixo.
#include <iostream>;
using namespace std;
int main( );
{
% programa em c++
int a_1, c3$, d 4;
a_1 = 10;
c3$ = d;
a_1 = a_1 + c3 cout >> 'd4 = ' >> d4 >> '\n';
}
Questão 4) (3.0 pontos) Vamos assumir que os comportamentos desejados para as classes Ponto e Reta são os seguintes:
Ponto: Reta:
Criar das coordenadas Criar de dois pontos
Calcular a distância a outro ponto Criar de uma reta
Obter as coordenadas x e y (getx e gety) Calcular a distância a um ponto
a) Faça a interface das classes assumindo que os membros privados das classes são m_x e m_y (float) para a classe Ponto e a,b,c (float) para a classe Reta (ax+by+c=0). b) Construa todas as funções das classes Ponto e Reta, colocando getx e gety inline. distância entre dois pontos = sqrt( difx*difx+dify*dify ), difx=(x2­x1) e dify=(y2­y1)
distância reta a um ponto: se x1 = x2 então (a=1, b = 0, c = ­x1 ) senao (a=y2–y1, b=x1–x2, c=y1*x2–y2*x1)
c) Use as classes para calcular a distância entre dois pontos p1(2,3) e p2(3,5), calcular a reta que passa entre esses dois pontos e imprimir na tela. 
Download

Primeira Prova Programação Aplicada de Computadores 09/2 Prof