18 de maio de 2009

Comunicado: Código aberto

O termo código aberto, ou open source em inglês, foi criado pela OSI (Open Source Initiative) e se refere ao mesmo software também chamado de software livre, ou seja, aquele que respeita as quatro liberdades definidas pela Free Software Foundation. Qualquer licença de software livre é também uma licença de código aberto, a diferença entre os dois está no discurso. Enquanto a FSF usa o termo "Software Livre" para trazer um discurso baseado em questões éticas, direitos e liberdade, a OSI usa o termo "Código Aberto" para discursar sobre um ponto de vista puramente técnico, sem conflitar questões éticas. Esta nomenclatura e discurso foram forjados por Eric Raymond e outros fundadores da OSI para apresentar o software livre a empresas de uma forma mais agradável a visão das corporações.

Comunicado IMPORTANTE:
Galera da sala em especial, apesar de que eu concordo com o código aberto e com o software livre, apartir de agora postarei no blog conforme o professor deu a idéia, só um pequeno esboço dos programas, algumas funções, alguns laços, etc. Isso também ajudará o pessoal, porém, vai ser um pouco mais difícil. ;p
Venho lembrar que isso é só para as atividades cujo a data de entrega é superior a data de postagem aqui no blog, sendo assim, atividades que já passaram do prazo de entrega postarei normalmente.
"A lógica continua sendo incontestável!"

Abraços

13 de maio de 2009

Programação II

Atividades quarta, 13 de maio de 2009:

1 - Escreva uma hierarquia de herança para as classes Quadrilátero, Trapezóide, Paralelograma, Retângulo e Quadrado. Use Quadrilátero como a superclasse da hierarquia (com o maior número de níveis possível). Especifique as variáveis de instância e os métodos para cada classe. As variáveis de instância privadas do Quadrilátero devem ser os pares de coordenadas x-y dos quatro cantos do Quadrilátero. Crie a classe Ponto para representar cada par de coordenadas. Escreva um programa qua instancia objetos de suas classes e imprime a área de cada objeto (exceto o Quadrilátero).

Obs: Pesquise na Internet sobre as características de cada figura geométrica e implemente o método para cálculo de área somente na classe Trapezóide. Esse método deve ser reutilizado através de herança nas demais classes derivadas de Trapezóide.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

12 de maio de 2009

Ta muito quieto isso aqui!

Ninguém vai atualizar não?? ^^

6 de maio de 2009

Programação II

Atividades quarta, 6 de maio de 2009:

1 - Escreva um tipo enum Semáforo, cujas constantes (VERMELHO, VERDE, AMARELO) têm um parâmetro que indica a duração da luz. Escreva um programa para testar o enum Semáforo de maneira que ele mostre as constantes e suas durações.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

Só lembrando!

...
public boolean getNegaoVaiPagarACocaEFalarComAMina(float nota)
{
this.nota = nota;
if(this.nota ! = 8.5)
return true;
else
return false;
}
...

30 de abril de 2009

História de hoje: DOBRO? o.O

29 de abril de 2009

Projeto I

Um rascunho do meu projeto, os Exercícios 4 e 5 versão 0.2:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(void)
{
FILE *in;
int gdriver = DETECT, gmode, errorcode;
int i,j;
int sign;
int tons;
int num;
float x,y;
float DadosX[300],DadosY[300];
float maxY = 0;//,maxY = 0;
float YScale = 0;//,XScale = 0;
float faixa[17];
float soma = 0;
float yData = 0,Y = 0;
char tipo[40];
char *b;
clrscr();
if ((in = fopen("C:/tc/BIN/clown.pgm", "rt"))== NULL)
{
fprintf(stderr, "Cannot open input file.\n");
return 1;
}
//Ler cabecalho
fgets(tipo,40,in);
printf("%s",tipo);
fgets(tipo,35,in);
printf("%s",tipo);
//Ler numeros
fscanf(in,"%s",&tipo);
x = atof(tipo);
printf("%3.0f ",x);
fscanf(in,"%s",&tipo);
y = atof(tipo);
printf("%3.0f = %3.0f\n",y,x*y);
fscanf(in,"%s",&tipo);
tons = atoi(tipo);
//maxX = tons;
printf("%d\n",tons);

for(j = 0;j <= 16; j++){
faixa[j] = 0;
}//FOR

do{
fscanf(in,"%s",&tipo);
num = atoi(tipo);
if feof(in) break;
if((num >= 0 ) && (num <= 15)) faixa[0]++;
if((num >= 16 ) && (num <= 30)) faixa[1]++;
if((num >= 31 ) && (num <= 45)) faixa[2]++;
if((num >= 46 ) && (num <= 60)) faixa[3]++;
if((num >= 61 ) && (num <= 75)) faixa[4]++;
if((num >= 76 ) && (num <= 90)) faixa[5]++;
if((num >= 91 ) && (num <= 105)) faixa[6]++;
if((num >= 106 ) && (num <= 120)) faixa[7]++;
if((num >= 121 ) && (num <= 135)) faixa[8]++;
if((num >= 136 ) && (num <= 150)) faixa[9]++;
if((num >= 151 ) && (num <= 165)) faixa[10]++;
if((num >= 166 ) && (num <= 180)) faixa[11]++;
if((num >= 181 ) && (num <= 195)) faixa[12]++;
if((num >= 196 ) && (num <= 210)) faixa[13]++;
if((num >= 211 ) && (num <= 225)) faixa[14]++;
if((num >= 226 ) && (num <= 240)) faixa[15]++;
if((num >= 241 ) && (num <= 255)) faixa[16]++;

}while (!feof(in));

printf("\t");

for(j = 0;j <= 16; j++){
if(faixa[j] > maxY ) maxY = faixa[j];
printf("Faixa: %d = %3.0f \t",j+1,faixa[j]);
if(j % 2 == 0) printf("\n\t");
soma = soma + faixa[j];
}//FOR

printf("\nSoma: %3.0f\n",soma);
printf("Maximo em X: %3.0f\n",maxY);
YScale = (400-40)/maxY;
printf("YScale: %f\n",YScale);
getch();
fclose(in);

// inicializar modo grafico
initgraph(&gdriver, &gmode, "C:\\tc\\bgi");
// read result of initialization
errorcode = graphresult();
if (errorcode != grOk) // an error occurred
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); // return with error code
}

//Inicializando grafico
//Linhas
line(40,40-15,40,400);
line(40,400,565,400);
//Setas
line(40-5,40-15,40+5,40-15);
line(40-5,40-15,40,40-15-15);
line(40,40-15-15,40+5,40-15);

line(565,400-5,565,400+5);
line(565,400-5,565+15,400);
line(565+15,400,565,400+5);

j = 15;
for(i = 0;i <= 16; i++){
//Linhas Pequenas
setcolor(7);
line(40+j+7,maxY*YScale+40,40+j+7,maxY*YScale+40+3);
//Numeros legenda
settextstyle(2, 0,4);
gcvt(i+1,sign,b);
outtextxy(40+j+1,maxY*YScale+40+3,b);

settextstyle(2, 0,4);
yData = faixa[i];
if(faixa[i]==0){
setcolor(7);
settextstyle(2, 0,4);
outtextxy(40+j+5,maxY*YScale+40-15,"0");
}else{
//Defindo Y
Y = (maxY*YScale)-((yData - maxY*YScale+40) * (YScale));
//Plotando no grafico
setcolor(i);
if((i == 0)||(i == 7)) setcolor(9);
if((i == 15))setcolor(4);
if((i == 16))setcolor(2);
rectangle(40+j,Y+40-1,40+j+15,maxY*YScale+40);
//Numeros
gcvt(faixa[i],sign,b);
outtextxy(40+j-5,Y+40-15,b);
}//ELSE
j = j + 30;

}//FOR

getch();
closegraph();
return 0;
}

Programação II

Atividades quarta, 29 abril 2009:

1 - Crie uma classe Retângulo. A classe tem atributos altura e largura, onde cada um tem o valor padrão 1. Ela tem métodos que calculam o perímetro e a área do retângulo. Ela tem métodos get/set para altura e largura. Os métodos set devem garantir que altura e largura são números de ponto flutuante maiores que 0.0 e menores que 20.0. Escreva um programa para testar a classe Retângulo.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

28 de abril de 2009

História de hoje: Sem Rasuras

25 de abril de 2009

Que horas são?

Resolução - Projeto I - 1º Bimestre

Exercício 2 - Baixar PDF

Exercício 3 - Baixar PDF

Resoluções do professor.

16 de abril de 2009

Programação II

Atividades quarta, 15 abril 2009:

1 - Uma academia de ginástica precisa avaliar o peso de seus alunos. Para isto, precisa calcular a partir da altura e do peso, o coeficiente de gordura. Este coeficiente é calculado através da seguinte fórmula:

coeficiente = peso / altura2

De acordo com o coeficiente, o programa deve dar o resultado segundo a tabela abaixo:

Valor entreResultado
0
15
muito abaixo do peso
16
20
abaixo do peso
21
25
peso ideal
26
30
acima do peso
31
...
muito acima do peso

Crie a classe Coeficiente com os atributos coeficiente, peso e altura (todos do tipo float) e com construtores que atendam às seguintes possibilidades:

- Nenhum parâmetro, inicializa com valores “padrão”;
- Parâmetros de peso e altura do tipo float;
- Parâmetros de peso e altura do tipo int;
- Parâmetros de peso e altura do tipo String;
- Parâmetro do tipo Coeficiente.

Crie métodos para alterar os atributos de peso e altura. Considere que os valores podem ser passados em qualquer um dos tipos: float, int ou String.

Crie métodos para retornar o valor dos atributos coeficiente, peso e altura (sempre do tipo float).

Crie um método igual(Coeficiente c), para verificar a igualdade entre o conteúdo de objetos da classe Coeficiente.

Crie um método toString() que retorna o resultado conforme a tabela acima.


2 - Defina em Java a classe PainelAtendimento cujos objetos representam os painéis eletrônicos normalmente encontrados em agências bancárias para indicar o número da senha da próxima pessoa a ser atendida (ou da última que está sendo atendida, caso todos os atendentes estejam ocupados). Todo painel deve ter como atributo o número da próxima ficha a ser atendida e o número do próximo atendente livre. Além disso, todo painel deve ter os seguintes métodos:


a) construtor, que recebe como parâmetro o número do primeiro atendente livre e o número de atendentes, inicializando o painel com o número do atendente recebido e indicando que a primeira ficha a ser atendida é a ficha 1;

b) indicarProximo, que recebe como parâmetro o número do próximo atendente livre, incrementa e retorna o número da próxima ficha a ser atendida (como as fichas são numeradas de 1 a 99, este método deve reiniciar a contagem assim que chegar a 99). Se este método não receber nenhum parâmetro, retorna o número da ficha que está sendo atendida no momento;

c) getProximas, que retorna como resultado o número de fichas a serem atendidas antes da contagem ser reiniciada;

d) getMelhorAtendente, que retorna o número do atendente que atendeu mais pessoas até o momento.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

14 de abril de 2009

Samana de Provas!!!

Vamos estudar galera!

13 de abril de 2009

Ano Internacional da Astronomia






Calendário Escolar 2009

Calendário Escolar 2009

9 de abril de 2009

Perguntas e Respostas [Ciência do Ambiente] by Diogo

É eu sei... Ele é Louco...

Grupo I


1) O que os colonizadores encontraram quando aqui chegaram?

R: Mata muito rica (Floresta, Mangue, etc).

2) Quais os principais processos de destruição que começaram a ser evidenciados neste período?

R: Solos degradados, empobrecidos cursos d´agua desestabilizados, florestas destruídas.

3) Qual a forma ou processo de exploração adotada pelos colonizadores?

R: Nomadismo predatório.

4) Qual o método de plantio adotado pelos agricultores da época (Séc. XIX)?

R: Queima das florestas, as cinzas forneciam condições de plantio.

5) Qual a forma que as colônias de exploração atuavam em diferentes regiões do planeta?

R: Elas caracterizaram-se pela brutalidade e pelo imediatismo, sofrendo profundos danos ambientais.

6) Qual o motivo ou razão do processo de exploração pelos colonizadores no Brasil ter sido agravado?

R: Foi agravado três fortes fatores:


  1. A sensação de inesgotabilidade de recursos.

  2. A postura parasita diante dessa abundância natural.

  3. O desprezo pela natureza tropical.
Grupo II

1) Qual a razão do abandono do porto em São Vicente no Litoral Paulista?
R: Ocupação desordenada pela urbanização provocou a devastação das florestas com intensa erosão na área do porto.

2) Qual a consequência da cultura cafeeira na região do Vale do Paraíba?

R: Ocupação das encostas, desmatamento, queimadas sem controle.

3) Quais as consequências do crescimento das cidades e da população promovida pelo ciclo da mineração?

R: Técnicas de cultivo rudimentar levaram ao esgotamento do solo, café de pouca qualidade e queda de produção.

4) Quais as consequências da expansão da cultura da cana de açúcar no nordeste e sudeste?

R: Devastação da Mata Atlântica para expansão de cultura e indústria da cana de açúcar.

5) Quais consequências ambientais da mineração do ouro e diamantes?

R: Encostas foram desflorestadas, desgastadas pela erosão, formando vorrosocas (sulcos profundos na terra), rios foram dragados e tiveram seus curso desviado e poluição por mercúrio.

6) Qual a razão do declínio da cultura do café no Vale do Paraíba?

R: Pelo motivo do esgotamento do solo e o café que era de grande quantidade e pouca qualidade houve a queda da produção.

7) Quais as consequências da ocupação cafeeira na região do Vale do Paraíba?

R: Esgotamento do solo e da extinção das florestas primária.


Grupo III

1) Qual a razão do avanço da degradação da Mata Atlântica no inicio do séc. XX?
R: Economia crescente, aumento da população e falta de combustível fóssil.

2) Quais as consequências da expansão da cultura da soja na região dos cerrados?

R: Bioma de cerrado que é nativo ser transformado em área de monocultura e consequência a degradação.

3) Porque a ocupação da floresta Amazônica corre o risco de promover mais uma vez um grande desastre ecológico?

R: Forma de exploração, a falta de fiscalização nas serrarias e pecuária extensiva.

4) Em que década do século XX inicia-se a ocupação da Amazônia e qual a área devastada no inicio daquela década?

R: Década 70, 1% de área devastada.

5) Quais os fatores que contribuíram para a devastação da mata de araucária?

R: Deve-se aos colonos europeus, que devastaram as florestas para obter madeira para construção e áreas para plantio de milho, trigo e videira.

6) Quais as razões da falta de iniciativa em explorar a Amazônia?

R: Falta de recursos falta de tecnologias para superar as dificuldades de exploração.

7) Quais as implicações ambientais promovidas pelas indústrias siderúrgicas?

R: A principal implicação era o desmatamento das florestas, pois a indústria siderúrgica necessitava da lenha para produzir o ferro gusa.


Grupo IV

1) Qual a razão para que o país, possua apenas 7% da Mata Atlântica e 2% da floresta de araucária?
R: Exploração desordenada, que aos olhos dos europeus eram recursos ilimitados, do período colonial aos dias de hoje.

2) Quais os benefícios do chamado “selo verde”?

R: a exploração racional, com planejamento e minimizando o impacto ambiental, garantindo paisagens saudáveis.

3) Quais seriam as alternativas na tentativa de reverter o modelo colonialista de exploração do território nacional?

R: Investir na conservação permanente do meio ambiente, exploração racional, fiscalização eficiente de ordem governamental.

4) Qual seria uma forma de proteção das florestas que proporcionaria retorno econômico?

R: Conservar para o desenvolvimento criando pontos de ecoturismo.

5) Qual a razão do fracasso dos ciclos econômicos e suas principais consequências?

R: Esgotamento de recursos naturais ou ecossistemas devido à exploração irracional, como consequências o assoreamento de rios, decadência, abandono da agricultura.

6) Porque os recursos naturais são importantes para o futuro das nações e como se situa o Brasil neste contexto?

R: Em um futuro próximo a importância de um país será decidida através da, proporcional posse de biodiversidade e recursos naturais, portanto, o Brasil esta em uma situação, relativamente confortável, desde que saibamos utilizar esses recursos sem desperdício.

7) Quais as consequências do modelo exploratório no plano social e étnico?

R: Uma pequena parcela beneficiada e a grande maioria não beneficiada.


8 de abril de 2009

Programação II

Atividades quarta, 1 abril 2009:

Aproveite a classe Contador implementada em exercício anterior e modifique, se necessário, conforme as seguintes especificações:

Cada instância dessa classe deve ter a seguinte interface:
  • Contador (int maximo); // construtor
  • void incrementa();
  • void zera();
  • int obtemValor();
  • bool verificaOverflow();
O construtor cria um objeto do tipo Contador com um número máximo de contagem, por exemplo, maximo = 9999. Um objeto Contador quando criado tem o valor inicial zero. A operação incrementa() aumenta o contador de 1, e se o contador chega ao número máximo de contagem, ele é automaticamente zerado e o contador se lembra que um evento de overflow ocorreu. A operação zera() atribui ao contador o valor zero e limpa o indicador de overflow; obtemValor() retorna o valor atual do contador, e verificaOverflow() retorna true se um evento de overflow ocorreu e false, caso contrário.

Em seguida, escreva um programa em Java que conta o número de conceitos (notas: A, B, C, D, E) do histórico de um aluno de pós-graduação da UNIVAP.

No seu programa, crie as seguintes classes:

  • Nota: Representa um conceito (A,B,C,D,E). Deve possuir construtor e métodos get/set para edição do valor;
  • Disciplina: Deve armazenar nome e nota, além de ter um construtor que recebe o nome e métodos get/set para editar a nota;
  • Aluno: Deve armazenar a matrícula do aluno e seu histórico. O histórico deve ser um array das disciplinas que o aluno cursa. A classe também deve ter métodos get/set para editar o nome, além de método para adicionar disciplinas e outro para obter o histórico (como array de disciplinas);
  • ContadorTeste: Aplicação principal que demonstra a utilização das demais classes. Deve instanciar um aluno, inserir várias disciplinas e os respectivos conceitos. Finalmente deve imprimir a contagem dos conceitos considerando o histórico do aluno.
Obs: Um objeto Contador deve ser utilizado na contagem dos conceitos.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

6 de abril de 2009

Vídeos de Cálculo by Diogo


Cálculo I




Cálculo I [2]




Integral Definida




Só falta agora ele fazer os vídeos dos exercícios! ^^

3 de abril de 2009

Provas Anteriores de Estatística

Prova Estatística 01 - Baixar
Prova Estatística 02 - Baixar
Prova Estatística 03 - Baixar
Prova Estatística 04 - Baixar

Baixar Todos

Exemplos Programação II

Contador estatistica[] = new Contador[5];


for(int i=0;i
estatistica[i] = new Contador(10);

....


switch(conceito)
{
case Nota.A: estatistica[0].incrementa();
break;
case Nota.B: estatistica[1].incrementa();
}

////////

estatistica[conceito].incrementa();


int numA = estatistica[Nota.A].obtemValor();
int numB = estatistica[Nota.B].obtemValor();

class Nota
{
public static final int A = 0;
public static final int B = 1;


}