Exercício de Revisão para Prova (2o Bimestre)
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:
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
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!)
RESPOSTA:
b)
c)







Pingback de Introdução à Programação 1 e 2 (2009) » Notas e Presenças (1o e 2o Bimestres)
Data: 6 de julho de 2009 Hora: 18:46
[...] http://www.brunocampagnolo.com/2009ip/2009/06/23/exercicio-de-revisao-para-prova-2o-bimestre/ [...]