Exercício de Revisão para Prova (2o Bimestre)

23 junho, 2009 (16:10) | exercícios | Por: admin

Os exercícios abaixo são uma revisão para a prova a ser realizada em Primeiro de Julho (QUARTA-FEIRA).

Esta prova, de duração de 1h e 10 min será na Sala de Desenho 13, térreo do bloco de exatas e será sem consulta.

Os exercícios marcados com * são os modelos mais prováveis de aparecerem em sua prova!

Exercícios Referentes a Funções Matemáticas

Ver Aula 05 e Exercício P04!

A) Defina o que faz a função matemática map. Exemplifique.

B) Diferencie as funções abs, ceil, floor e round.

C) Indique qual é o valor em x após a execução do código a seguir?

float a = 10, b = 20, c, x;
c = max(a, b);
x = map(c, 0, 100, 0, 200);

Após a execução o valor em x é igual a: ___

* D) Complete o código a seguir nos espaços indicados. Este código deve exibir uma área da tela na qual o seu mouse, representado por uma elipse deve estar restrita.

void draw()

{

 background(255); // Cor de fundo

 float mx = constrain(mouseX, __x1__, __x2__);

 float my = constrain(mouseY, __x3__, __x4__);

 rectMode(CORNERS); // Modo de desenho de retângulos

 rect(__x5__, __x6__, __x7__, __x8__); // Desenha um retângulo

 ellipse(mx, my, 5, 5); // Desenha uma elipse que acompanha o mouse

}

 

Os valores a serem completados são:

__x1__ =

__x2__ =

__x3__ =

__x4__ =

__x5__ =

__x6__ =

__x7__ =

__x8__ =

Exercícios Referentes a Estruturas de Repetição

Ver Aula 08 e Exercício P05

E) A estrutura de repetição for é formada por três partes:

for(PARTE1;PARTE2;PARTE3) {

}

Defina qual é o nome e função de cada uma destas partes.

* F) Identifique o erro nas estruturas de repetição abaixo e corrija os fragmentos abaixo:

a) (exemplo respondido!)

for(int var=0;var2<10;var = var + 1) {
  println(var);
}

RESPOSTA: O nome da variável é var. Na condição, está sendo referenciada a variável var2.

b)

for(var=0;var<10;int var = var + 1) {
  println(var);
}

c)(o código abaixo deveria repetir 10 vezes)

for(int var=0;var=10;var = var + 1) {
  println(var);
}

 

* G) Reconheça, nos framentos de código a seguir qual é a variável de controle, valor inicial desta variável, valor do incremento e valor final para cada uma das estruturas de repetição abaixo.

a)(exemplo respondido!)

for(int i=5;i<10;i=i+1) {
  println(i);
}

Resposta esperada:

  • Variável de controle: i
  • Valor inicial: 5
  • Incremento: 1
  • Valor final: 10

b)

for(int i=10;i<=200;i=i+2) {
  println(i);
}

c)

for(int num=1000;num>=800;num=num-2) {
  println(num);
}

d)

for(int num=1000;num>=100;num=num/2) {
  println(num);
}

e)

for(int x=1;x<=100;x=x*3) {
  println(x);
}

* H) Complete o teste de mesa em cada um dos exemplos abaixo:

a) (exemplo respondido!)

int a = 10;
for(int i=0;i<3;i++) {
  a = a + i;
}

a i
10 0
11 1
13 2
  3

b)

int a = 10;
for(int i=1;i<6;i=i+2) {
  a = a * i;
}

c)

int a = 5;
for(int i=1;i<=3;i=i+1) {
  if(i%2==1) {
    a = a + 1;
  } else {
    a = a + 2;
  }
}

d)

int b = 10;
for(int x=1;x!=4;x++) {
  b = b – x;
}

e)

int a=0;
for(int x=1;x<=2;x++) {
  for(int y=1;y<=2;y++) {
    a = a + (x * y);
  }  
}

 

* I) Cada um dos códigos abaixo gera uma figura.

Mostre (desenhe) o resultado da execução do código.

a) (exemplo respondido!)

size(100,100);
for(int i=100;i>0;i=i-30) {
  ellipse(50,50,i,i);
}

RESPOSTA ESPERADA:

exercicioCodigoA

b)

size(100,100);
rectMode(CENTER);
for(int i=100;i>=10;i = i / 2) {
  if(i%2==0) {
    ellipse(50,50, i, i);
  } else {
    rect(50, 50, i, i);
  }
}

c)

size(100,100);
for(int i=1;i<100;i=i*4) {
  line(i, 0, i, 100);
}

d)

size(50,50);
for(int i=0;i<3;i++) {
  for(int j=0;j<3;j++) {
    rect(i*10, j*10, 10, 10);
  }
}

Exercícios Referentes A Cores

Ver Aula 10

J) Diferencie a notação RGB e a notação HSB.

K) Observe o jogo de labirinto colocado a seguir. Faça com que quando o usuário chegue no ponto vermelho seja exibida uma mensagem de vitória e seja carregado outro labirinto. Gerador de labirintos: http://xefer.com/maze-generator

exercicioK

labirinto

Executar!

 

Exercícios Referentes A Vetores

Ver Aula 12

* L) Complete o teste de mesa em cada um dos exemplos abaixo.

a) (exemplo respondido!)

int[] v = new int[3];
for(int i=0;i<3;i++) {
  v[i] = i*i;
}

i a[0] a[1] a[2] a.length
0 0 0 0 3
1   1 4  
2        
3        

b)

int [] v = new int[4];
int a = 1;
for(int i=1;i<v.length;i++) {
  a = a * i;
  v[i] = a;
}

c)

int [] v = new int[4];
for(int i=0;i<v.length;i++) {
  if(i%2==0) {
    v[i] = i;
  } else {
    v[i] = -i;
  }
}

d)

int [] v1 = {4, 5, 6};
int [] v2 = { 1, 2, 3};
for(int i=0;i<v1.length;i++) {
  v1[i] = v1[i] + v2[i];
}

* M) Observe cada um dos códigos a seguir. Cada um deles implementa um programa diferente e que faz pouco sentido individualmente.

Transforme o código fornecido em um código que utilize vetores. Ou seja, algumas das variáveis devem ser transformadas em vetores.

a) (exemplo respondido!)

 

exercicioLCodigoA

Executar!

RESPOSTA:

exercicioLCodigoAResp

Executar!

b)

exercicioLCodigoB

Executar!

Resultado Esperado!

c)

exercicioLCodigoC

Executar!

Resultado esperado!

 

 

Comentários