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;


}

31 de março de 2009

História de hoje: Sem Comentários!

30 de março de 2009

To trampando!

xD

27 de março de 2009

Ta faltando...

Gente!!!!!
Ta faltando o negão fazer alguma coisa para eu postar aqui!!
=/
ashuauhsauhshuahsuas

23 de março de 2009

Frente da Camiseta do Curso Versão 1.5 Beta

O que acharam? Sei lá to sem idéias e sem tempo! ;) Agora tem que pensar na frase! xD

(Clique na imagem para ampliar!)


20 de março de 2009

Projeto I

Possível solução das Atividades
Clique Aqui para Baixar

1 - Bandeira do Brasil

/***************************************************************************************

Universidade do Vale do Paraiba - Ciencia da Computacao

Materia : Projeto I - Exercicio I

Professor : Valdir Gil Pillat

Autor : Alberto Felipe Dias Rodrigues

Descricao : Trabalho em coordenadas e ultilizacao da biblioteca grafica (Bandeira do Brasil)

Data : 05 mar 2009

***************************************************************************************/

// Bibliotecas

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void estrela (int x, int y, int tam);

int main(void)
{

/* Declaracao das variaveis e inicializacao do gdrive como DETECT para forcar a
deteccao da controladora de video */

int gdriver = DETECT, gmode, errorcode;

/* gdrive indica a controladora e gmode indica o modo.
A string "" indica o diretorio */

initgraph(&gdriver, &gmode, "");

/* graphresult retorna o codigo de erro.
A constante grOk indica que houve ou nao erro */

errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}

/* LIMPA A TELA GRAFICA */

cleardevice();

// Retangulo verde

/* PADRAO E COR */
setfillstyle(SOLID_FILL, GREEN);

/* ALTERA A COR DE EXIBICAO DOS GRAFICOS*/
setcolor(GREEN);

rectangle(0,50,getmaxx(),getmaxy()-50);

/* PREENCHE UMA AREA NA TELA AO REDOR DE UM PONTO
ATE ENCONTRAR A COR ESPECIFICADA*/

floodfill(10,60,GREEN);

//****

// Losango amarelo

setfillstyle(SOLID_FILL, YELLOW);
setcolor(YELLOW);
line(23, getmaxy()/2,getmaxx()/2, 53);
line(getmaxx()/2, 53, getmaxx()-23, getmaxy()/2);
line(getmaxx()-23, getmaxy()/2, getmaxx()/2, getmaxy()-53);
line(getmaxx()/2, getmaxy()-53, 23, getmaxy()/2);
floodfill(50,245,YELLOW);

//****

// Circulo azul

setfillstyle(SOLID_FILL, BLUE);
setcolor(BLUE);
circle(getmaxx()/2,getmaxy()/2,150);
floodfill(325,255,BLUE);

//****


// Meio branco

setfillstyle(SOLID_FILL, WHITE);
setcolor(WHITE);

/* X CENTRO, Y CENTRO, ANGULO INICIAL, ANGULO FINAL, RAIO */

arc(getmaxx()/2-40,getmaxy()/2+240, 50, 111, 293);
arc(getmaxx()/2-40,getmaxy()/2+252, 48, 114, 270);
arc(getmaxx()/2,getmaxy()/2, 165, 182, 150);
arc(getmaxx()/2,getmaxy()/2, 340, 355, 150);
floodfill(getmaxx()/2,getmaxy()/2-40,WHITE);

//****

// Texto

setcolor(BLACK);
/* FONTE DIRECAO E TAMANHO */
settextstyle(TRIPLEX_FONT, HORIZ_DIR, 2);

outtextxy(getmaxx()/2-100,getmaxy()/2-42, "O");
outtextxy(getmaxx()/2-87,getmaxy()/2-44, "R");
outtextxy(getmaxx()/2-74,getmaxy()/2-46, "D");
outtextxy(getmaxx()/2-61,getmaxy()/2-48, "E");
outtextxy(getmaxx()/2-48,getmaxy()/2-50, "M");
outtextxy(getmaxx()/2-28,getmaxy()/2-48, "E");
outtextxy(getmaxx()/2-8,getmaxy()/2-46, "P");
outtextxy(getmaxx()/2+5,getmaxy()/2-44, "R");
outtextxy(getmaxx()/2+18,getmaxy()/2-42, "O");
outtextxy(getmaxx()/2+31,getmaxy()/2-39, "G");
outtextxy(getmaxx()/2+44,getmaxy()/2-34, "R");
outtextxy(getmaxx()/2+57,getmaxy()/2-30, "E");
outtextxy(getmaxx()/2+70,getmaxy()/2-26, "S");
outtextxy(getmaxx()/2+81,getmaxy()/2-18, "S");
outtextxy(getmaxx()/2+92,getmaxy()/2-12, "O");

//****

// Estrelas

estrela(getmaxx()/2+40,getmaxy()/2-65,2);

estrela(getmaxx()/2+30,getmaxy()/2+30,2);
estrela(getmaxx()/2-80,getmaxy()/2+20,2);
estrela(getmaxx()/2-60,getmaxy()/2+40,2);
estrela(getmaxx()/2-40,getmaxy()/2+20,2);
estrela(getmaxx()/2,getmaxy()/2,2);
estrela(getmaxx()/2+20,getmaxy()/2+70,2);
estrela(getmaxx()/2-80,getmaxy()/2+80,2);
estrela(getmaxx()/2-90,getmaxy()/2+90,2);
estrela(getmaxx()/2-90,getmaxy()/2+50,2);
estrela(getmaxx()/2+40,getmaxy()/2+80,2);
estrela(getmaxx()/2+90,getmaxy()/2+55,2);
estrela(getmaxx()/2-50,getmaxy()/2+70,2);
estrela(getmaxx()/2-10,getmaxy()/2+77,2);
estrela(getmaxx()/2-30,getmaxy()/2+45,2);
estrela(getmaxx()/2-60,getmaxy()/2+55,2);
estrela(getmaxx()/2+60,getmaxy()/2+55,2);
estrela(getmaxx()/2+80,getmaxy()/2+50,2);
estrela(getmaxx()/2+90,getmaxy()/2+30,2);
estrela(getmaxx()/2+95,getmaxy()/2+70,2);
estrela(getmaxx()/2-50,getmaxy()/2+90,2);
estrela(getmaxx()/2-30,getmaxy()/2+90,2);
estrela(getmaxx()/2-20,getmaxy()/2+95,2);
estrela(getmaxx()/2,getmaxy()/2+80,2);
estrela(getmaxx()/2+10,getmaxy()/2+80,2);
estrela(getmaxx()/2,getmaxy()/2+100,2);
estrela(getmaxx()/2,getmaxy()/2+117,2);


getch();

/* Cancelamento do modo grafico inializado por intigraph()
liberando a memoria ultilizada para graficos */

closegraph();

return 0;

}

// Funcao para desenhar a estrela

void estrela (int x, int y, int tam)
{
int met=tam/2;
int alt=tam+3;

// Estrela

// Parte de cima da estrela

setfillstyle(SOLID_FILL, WHITE);
setcolor(WHITE);
line(x, y,x+tam, y);
line(x+tam, y, x+met, y-alt);
line(x+met, y-alt, x, y);
floodfill(x+1,y-1,WHITE);

// Parte direita de cima da estrela

line(x+tam, y, x+tam, y+tam);
line(x+tam, y+tam, x+tam+alt, y+met);
line(x+tam+alt, y+met, x+tam, y);
floodfill(x+tam+1,y+1,WHITE);

// Parte esquerda de cima da estrela

line(x, y, x, y+tam);
line(x, y+tam, x-alt, y+met);
line(x-alt, y+met, x, y);
floodfill(x-1,y+1,WHITE);

// Parte direita de baixo da estrela

line(x+tam, y+met, x+met, y+tam);
line(x+met, y+tam, x+tam+met, y+tam+alt);
line(x+tam+met, y+tam+alt, x+tam, y+met);
floodfill(x+tam,y+tam+1,WHITE);

// Parte esquerda de baixo da estrela

line(x, y+met, x+met, y+tam);
line(x+met, y+tam, x-met, y+tam+alt);
line(x-met, y+tam+alt, x, y+met);
floodfill(x,y+tam+1,WHITE);

floodfill(x+1,y+1,WHITE);

//****

}


obs: Não se esqueçam de mudar o DIR para a pasta BGI e de incluir a biblioteca gráfica do Turbo C.

2 - Arquivos

/***************************************************************************************

Universidade do Vale do Paraiba - Ciencia da Computacao

Materia : Projeto I - Exercicio II

Professor : Valdir Gil Pillat

Autor : Alberto Felipe Dias Rodrigues

Descricao : Trabalho de Manipulacao de Dados

Data : 12 mar 2009

***************************************************************************************/

// Bibliotecas

#include
<stdio.h>
#include <conio.h>
#include <string.h>

// Inicio do Programa

void main() {

// Declaracoes de variaveis

FILE *arqfunc;
FILE *arqfunc2;
char c1, c2, aux, f1[8], f2[8];
char szLinha[50];
int i1, i2, i = 0, ai1 = 0,ai2 = 0,ai3 = 0,af3 = 0;
double somai1 = 0.00, somai2 = 0.00, somad = 0.00;
float f3, somaf3 = 0.00;

clrscr();

// Abertura dos arquivos

arqfunc = fopen("2003I01F.SJC", "r");
arqfunc2 = fopen("NOVO.SJC", "w");

// Teste de erros

if ((arqfunc == NULL)||(arqfunc2 == NULL)) {
printf("Ocorreu um Erro nos arquivos!");
getch();
}
else {

printf("Arquivo lido com sucesso!\nGerando o arquivo NOVO...\n\n");

// Ler cabecalho e copiar cabecalho

memset(szLinha,'\0',sizeof(szLinha));

fgets(szLinha,11,arqfunc);
fputs(szLinha,arqfunc2);

fgets(szLinha,19,arqfunc);
fputs(szLinha,arqfunc2);

fgets(szLinha,38,arqfunc); szLinha[35] = '\0';
fputs(szLinha, arqfunc2);

sprintf(szLinha,"\thpF2-h'F\n");
fputs(szLinha, arqfunc2);

// Lendo os dados e copiando os dados

while (aux != EOF) {

if(getc(arqfunc) == EOF){
break;
}

i = i + 1;

aux = fscanf(arqfunc, "%s\t%s\t%d\t%f\t%d\t%c\t%c",&f1, &f2, &i1, &f3, &i2, &c1, &c2);

fprintf(arqfunc2, "%s\t%s\t", f1, f2);
if(i1==0){
fprintf(arqfunc2, "000\t%1.1f\t", f3);
}else{
fprintf(arqfunc2, "%d\t%1.1f\t", i1, f3);
}
if(i2==0){
fprintf(arqfunc2,"000\t%c\t%c\t", c1, c2);
fprintf(arqfunc2,"000\n");
}else{
fprintf(arqfunc2,"%d\t%c\t%c\t", i2, c1, c2);
fprintf(arqfunc2,"%d\n", i2-i1);
}

// Calculando as somas

if(i1==0){
ai1 = ai1 + 1;
}else{
somai1 = somai1+i1;
}
if(i2==0){
ai2 = ai2 + 1;
}else{
somai2 = somai2+i2;
}

if(f3==0){
af3 = af3 + 1;
}else{
somaf3 = somaf3+f3;
}

if((i1==0)||(i2==0)){
ai3 = ai3 + 1;
}else{
somad = somad + (i2-i1);
}


}//WHILE

// Finalizando, calculando as medias e imprimindo os valores das mesmas

fprintf(arqfunc2, "\nMedias\t\t%1.1f\t%1.2f\t%1.1f\t\t\t%1.1f", somai1/(i - ai1), somaf3/(i - af3), somai2/(i - ai2), somad/(i - ai3));

// Fechando os arquivos abertos

fclose (arqfunc);
fclose (arqfunc2);

printf("Arquivo NOVO gerado com sucesso!\n");
printf("\nFIM : Tecle algo ! ");
getch();

}//ELSE
}



obs: Lembrando que no arquivo de leitura nas colunas em que houverem espaços em branco, (quando não tem número) , em vez dos espaços em branco o professor deixou colocar "0" então, coloquem o "0" nos espaços em branco para que funcione.

3 - Gráfico 1

/***************************************************************************************

Universidade do Vale do Paraiba - Ciencia da Computacao

Materia : Projeto I - Exercicio I

Professor : Valdir Gil Pillat

Autor : Alberto Felipe Dias Rodrigues

Descricao : Trabalho em coordenadas, ultilizacao da biblioteca grafica e manipulacao de arquivos
(Grafico 1)

Data : 19 mar 2009

***************************************************************************************/

// Bibliotecas

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

int main(void)
{
FILE *arqfunc;
char c1, c2, aux, f1[8], f2[8];
char szLinha[50];
int i1, i2, i = 0,j;
float f3,ut;
double xScale,yScale;
double XData,YData,X,Y,Xtemp,Ytemp;
int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "");


errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}


cleardevice();


setfillstyle(SOLID_FILL, WHITE);
setcolor(WHITE);
settextstyle(SMALL_FONT, VERT_DIR, 6);
outtextxy(30, 180, "F0F2 em Mhz");
settextstyle(SMALL_FONT, HORIZ_DIR, 6);
outtextxy(getmaxx()/2-80, getmaxy()/2+200, "UT");
outtextxy(getmaxx()/2-160, getmaxy()/2-200, "SJC Aug 28, 2000");
outtextxy(getmaxx()/2+120, getmaxy()/2-100, "Legenda");
outtextxy(getmaxx()/2+140+15, getmaxy()/2-70-7, "F0F2");
outtextxy(getmaxx()/2+100, getmaxy()/2-220, "UNIVAP - ALBERTO");
setfillstyle(SOLID_FILL, BLUE);
setcolor(BLUE);
rectangle(getmaxx()/2+140, getmaxy()/2-70,getmaxx()/2+150, getmaxy()/2-60);
floodfill(getmaxx()/2+140+2, getmaxy()/2-70+2,BLUE);

setfillstyle(SOLID_FILL, GREEN);
setcolor(GREEN);

xScale = (400-85)/(24.0-0);
yScale = (400-85)/(20.0-0);

settextstyle(SMALL_FONT, HORIZ_DIR, 5);

// HORIZONTAIS

for(j=1;j<=20;j++){

if(j%2!=0){

line(85-3, 85+j*yScale, 85, 85+j*yScale);//impar

switch(j){
case 1: outtextxy(85-25, 85+j*yScale+7, "18");break;
case 3: outtextxy(85-25, 85+j*yScale+7, "16");break;
case 5: outtextxy(85-25, 85+j*yScale+7, "14");break;
case 7: outtextxy(85-25, 85+j*yScale+7, "12");break;
case 9: outtextxy(85-25, 85+j*yScale+7, "10");break;
case 11: outtextxy(85-15, 85+j*yScale+7, "8");break;
case 13: outtextxy(85-15, 85+j*yScale+7, "6");break;
case 15: outtextxy(85-15, 85+j*yScale+7, "4");break;
case 17: outtextxy(85-15, 85+j*yScale+7, "2");break;
case 19: outtextxy(85-15, 85+j*yScale+7, "0");break;
};//SWHICH

}else{

line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale); //par

}//ELSE

}//FOR

// VERTICAIS

line(85, 20*yScale+85+5, 85, 85); //esquerda
outtextxy(85-15, 20*yScale+85+15, "0,00");

for(j=1;j<=24;j++){

if((j==2)||(j==6)||(j==10)||(j==14)||(j==18)||(j==22)){

line(j*xScale+85, 20*yScale+85+3, j*xScale+85, 20*yScale+85);

}else if((j==4)||(j==8)||(j==12)||(j==16)||(j==20)||(j==24)){

line(j*xScale+85, 20*yScale+85+5, j*xScale+85, 85);

switch(j){
case 4: outtextxy(j*xScale+85-15, 20*yScale+85+15, "4,00");break;
case 8: outtextxy(j*xScale+85-15, 20*yScale+85+15, "8,00");break;
case 12: outtextxy(j*xScale+85-15, 20*yScale+85+15, "12,00");break;
case 16: outtextxy(j*xScale+85-15, 20*yScale+85+15, "16,00");break;
case 20: outtextxy(j*xScale+85-15, 20*yScale+85+15, "20,00");break;
case 24: outtextxy(j*xScale+85-15, 20*yScale+85+15, "24,00");break;
};//SWHICH

}// ELSE IF

}// FOR

setfillstyle(SOLID_FILL, BLUE);

setcolor(BLUE);

arqfunc = fopen("2003I01F.SJC", "r");

// Teste de erros

if (arqfunc == NULL) {
printf("Ocorreu um Erro no arquivo!");
getch();
exit(1);
} else {

// Ler cabecalho e copiar cabecalho

memset(szLinha,'\0',sizeof(szLinha));
fgets(szLinha,11,arqfunc);
fgets(szLinha,19,arqfunc);
fgets(szLinha,38,arqfunc); szLinha[35] = '\0';

// Lendo os dados e copiando os dados

while (aux != EOF){

if(getc(arqfunc) == EOF) {
break;
}

i = i + 1;

aux = fscanf(arqfunc, "%s\t%s\t%d\t%f\t%d\t%c\t%c",&f1, &f2, &i1, &f3, &i2, &c1, &c2);

ut = atof(f1);
if((ut == 0.0)||(f3 == 0.0)){
//
}

else{

XData = ut;
YData = f3;

X = XData * xScale + 85; //Posição do Ponto em X
Y = 85+20*yScale-(YData * yScale); //Posição do Ponto em Y

circle(X,Y,1);
if(i==1){
//
}
else {
line(Xtemp, Ytemp, X, Y);
}
Xtemp = X;
Ytemp = Y;

}//ELSE

}//WHILE

// Fechando os arquivos abertos

fclose (arqfunc);

}//ELSE

getch();
closegraph();
return 0;

}



obs: Não se esqueçam de mudar o DIR para a pasta BGI e de incluir a biblioteca gráfica do Turbo C.
Lembrando que no arquivo de leitura nas colunas em que houverem espaços em branco, (quando não tem número) , em vez dos espaços em branco o professor deixou colocar "0" então, coloquem o "0" nos espaços em branco para que funcione.
Também coloque o arquivo em questão na pasta BGI.

4 - Gráfico 2

/***************************************************************************************

Universidade do Vale do Paraiba - Ciencia da Computacao

Materia : Projeto I - Exercicio I

Professor : Valdir Gil Pillat

Autor : Alberto Felipe Dias Rodrigues

Descricao : Trabalho em coordenadas, ultilizacao da biblioteca grafica e manipulacao de arquivos
(Grafico 2)

Data : 19 mar 2009

***************************************************************************************/

// Bibliotecas

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

int main(void)
{
FILE *arqfunc;
char i1[3], i2[3], c1, c2, aux, f1[8], f2[8];
char szLinha[50];
int i = 0, j;
float f3,ut, hf, hpf2;
double xScale,yScale;
double XData,YData,X,Y,Xtemp,Ytemp;
double xScale2,yScale2;
double XData2,YData2,X2,Y2,Xtemp2,Ytemp2;
int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "");


errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}


cleardevice();

setfillstyle(SOLID_FILL, WHITE);
setcolor(WHITE);
settextstyle(SMALL_FONT, VERT_DIR, 6);
outtextxy(30, 180, "h'f hpF2 em km");
settextstyle(SMALL_FONT, HORIZ_DIR, 6);
outtextxy(getmaxx()/2-80, getmaxy()/2+200, "UT");
outtextxy(getmaxx()/2-160, getmaxy()/2-200, "SJC Aug 28, 2000");
outtextxy(getmaxx()/2+120, getmaxy()/2-100, "Legenda");
outtextxy(getmaxx()/2+140+15, getmaxy()/2-70-7, "h'f");
outtextxy(getmaxx()/2+140+15, getmaxy()/2-40-7, "hpF2");
outtextxy(getmaxx()/2+100, getmaxy()/2-220, "UNIVAP - ALBERTO");
setfillstyle(SOLID_FILL, BLUE);
setcolor(BLUE);
rectangle(getmaxx()/2+140, getmaxy()/2-70,getmaxx()/2+150, getmaxy()/2-60);
floodfill(getmaxx()/2+140+2, getmaxy()/2-70+2,BLUE);
setfillstyle(SOLID_FILL, RED);
setcolor(RED);
rectangle(getmaxx()/2+140, getmaxy()/2-40,getmaxx()/2+150, getmaxy()/2-30);
floodfill(getmaxx()/2+140+2, getmaxy()/2-40+2,RED);

setfillstyle(SOLID_FILL, GREEN);
setcolor(GREEN);

xScale = (400-85)/24.0;
yScale = (400-85)/450.0;

xScale2 = (400-85)/24.0;
yScale2 = (400-85)/450.0;

settextstyle(SMALL_FONT, HORIZ_DIR, 5);

// HORIZONTAIS

line(85-5, 85, 24*xScale+85, 85); //20 superior
outtextxy(85-32, 85-yScale-10, "450");

for(j=1;j<=450;j++){

if(j%2!=0){

switch(j){
case 425: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 375: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 325: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 275: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 225: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 175: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 125: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 75: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;
case 25: line(85-3, 85+j*yScale, 85, 85+j*yScale);break;

};//SWHICH

}else{

switch(j){
case 450:
outtextxy(85-25, 85+j*yScale-10, "0");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 400:
outtextxy(85-25, 85+j*yScale-10, "50");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 350:
outtextxy(85-32, 85+j*yScale-10, "100");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 300:
outtextxy(85-32, 85+j*yScale-10, "150");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 250:
outtextxy(85-32, 85+j*yScale-10, "200");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 200:
outtextxy(85-32, 85+j*yScale-10, "250");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 150:
outtextxy(85-32, 85+j*yScale-10, "300");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 100:
outtextxy(85-32, 85+j*yScale-10, "350");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;
case 50:
outtextxy(85-32, 85+j*yScale-10, "400");
line(85-5, 85+j*yScale, 24*xScale+85, 85+j*yScale);
break;

};//SWHICH

}//ELSE

}//FOR

// VERTICAIS

line(85, 450*yScale+85+5, 85, 85); //esquerda
outtextxy(85-15, 450*yScale+85+15, "0,00");

for(j=1;j<=24;j++){

if((j==2)||(j==6)||(j==10)||(j==14)||(j==18)||(j==22)){

line(j*xScale+85, 450*yScale+85+3, j*xScale+85, 450*yScale+85);

}else if((j==4)||(j==8)||(j==12)||(j==16)||(j==20)||(j==24)){

line(j*xScale+85, 450*yScale+85+5, j*xScale+85, 85);

switch(j){
case 4: outtextxy(j*xScale+85-15, 450*yScale+85+15, "4,00");break;
case 8: outtextxy(j*xScale+85-15, 450*yScale+85+15, "8,00");break;
case 12: outtextxy(j*xScale+85-15, 450*yScale+85+15, "12,00");break;
case 16: outtextxy(j*xScale+85-15, 450*yScale+85+15, "16,00");break;
case 20: outtextxy(j*xScale+85-15, 450*yScale+85+15, "20,00");break;
case 24: outtextxy(j*xScale+85-15, 450*yScale+85+15, "24,00");break;

};//SWHICH

}// ELSE IF

}// FOR

arqfunc = fopen("2003I01F.SJC", "r");

// Teste de erros

if (arqfunc == NULL) {
printf("Ocorreu um Erro no arquivo!");
getch();
exit(1);
} else {

// Ler cabecalho e copiar cabecalho

memset(szLinha,'\0',sizeof(szLinha));
fgets(szLinha,11,arqfunc);
fgets(szLinha,19,arqfunc);
fgets(szLinha,38,arqfunc); szLinha[35] = '\0';

// Lendo os dados e copiando os dados

while (aux != EOF){

if(getc(arqfunc) == EOF) {
break;
}

i = i + 1;

aux = fscanf(arqfunc, "%s\t%s\t%s\t%f\t%s\t%c\t%c",&f1, &f2, &i1, &f3, &i2, &c1, &c2);

ut = atof(f1);
hf = atof(i1);
hpf2 = atof(i2);

if((ut == 0.0)||(hpf2 == 0.0)){
//
}

else{
setfillstyle(SOLID_FILL, RED);
setcolor(RED);

XData2 = ut;
YData2 = hpf2;

X2 = (XData2 * xScale2) + 85; //Posição do Ponto em X
Y2 = (85+(450*yScale))-(YData2 * yScale2); //Posição do Ponto em Y

circle(X2,Y2,1);
if(i==1){
//
}
else {
line(Xtemp2, Ytemp2, X2, Y2);
}
Xtemp2 = X2;
Ytemp2 = Y2;

}//ELSE

if((ut == 0.0)||(hf == 0.0)){
//
}
else{
setfillstyle(SOLID_FILL, BLUE);
setcolor(BLUE);

XData = ut;
YData = hf;

X = (XData * xScale) + 85; //Posição do Ponto em X
Y = (85+(450*yScale))-(YData * yScale); //Posição do Ponto em Y

circle(X,Y,1);
if(i==1){
//
}
else {
line(Xtemp, Ytemp, X, Y);
}

Xtemp = X;
Ytemp = Y;

}//ELSE

}//WHILE

// Fechando os arquivos abertos

fclose (arqfunc);

}//ELSE

getch();
closegraph();
return 0;

}



obs: Não se esqueçam de mudar o DIR para a pasta BGI e de incluir a biblioteca gráfica do Turbo C.
Lembrando que no arquivo de leitura nas colunas em que houverem espaços em branco, (quando não tem número) , em vez dos espaços em branco o professor deixou colocar "0" então, coloquem o "0" nos espaços em branco para que funcione.
Também coloque o arquivo em questão na pasta BGI.

18 de março de 2009

Programação II

Atividades quarta, 18 março 2009:

1 - Esfera: Escreva uma aplicação Java completa, para solicitar ao usuário um double como o raio de uma esfera, e chamar o método volumeEsfera para calcular e retornar o volume da esfera. Use a seguinte declaração para calcular o volume:

double volume = (4.0/3.0) * Math.PI * Math.pow(raio, 3)

2 - Contador: Escreva a classe Contador que encapsule um valor usado para contagem de itens ou eventos. Essa classe deve esconder o valor encapsulado de programadores-usuários, fazendo com que o acesso ao valor seja feito através de métodos que devem zerar, incrementar e retornar o valor do contador.

Escreva ainda uma aplicação em Java que demonstre o uso de instâncias da classe Contador.


Baixar Possível Resolução

Para baixar o JCreator clique aqui.

Costas da Camiseta do Curso Versão 1.5 Beta

O que acharam?

(Clique na imagem para ampliar!)


17 de março de 2009

Camiseta do Curso Versão 1.0 Beta

O que acharam?

(Clique na imagem para ampliar!)


POG

Descubra o que é POG

16 de março de 2009

Saiu!!

Como já era esperado o placar do paintball:

City 17 x 5 Roça

Foi muito bom e divertido fuzilar o negão e os demas integrantes do fracassado time da roça (sem constrangimentos), temos que marcar mais vezes...

Mas é claro que só o mês que vem!

1 x 0 prá nóis!

p.s. Dói!

13 de março de 2009

Projeto I

Possível solução da Atividade 2 por Leandro Hossaki
Clique Aqui para Baixar


Lembrando que no arquivo de leitura nas colunas em que houverem espaços em branco, (quando não tem número) , em vez dos espaços em branco o professor deixou colocar "-" então, coloquem "-" nos espaços em branco para facilitar um pouco.

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main(){
FILE *Arq, *ArqNew;

char Str1[10], Str2[10], Str3[5], Str4[5];
char Str5[5], Str6[5], Str7[5], a[50];
int i, count_hpF2 = 0 , count_hF = 0 , count_foF2 = 0;
float hpF2, hF, foF2, Soma_hF = 0, Soma_foF2 = 0, Soma_hpF2 = 0, Soma_Sub = 0, Sub;
clrscr();
Arq = fopen("C:\\TC\\ARQUIVO\\ARQ.SJC","r");
ArqNew = fopen("C:\\TC\\ARQUIVO\\ARQNEW.SJC","w");

if(!Arq){
printf("Erro ao abrir o arquivo.");
getch();
exit(1);
}
if(!ArqNew){
printf("Erro ao criar o arquivo.");
getch();
exit(1);
}
// Copia o Cabeçalho
for(i=1;i<=11;i++){
fscanf(Arq,"%s",&a);
fprintf(ArqNew,"%s\t",a);
if((i==2) || (i==4))
fprintf(ArqNew,"\n");
}
fprintf(ArqNew,"hpF2-h'F");
fprintf(ArqNew,"\n");

// Começa a leitura do arquivo
while(!feof(Arq)){

if(getc(Arq) == EOF){
break;
}

fscanf(Arq,"%s %s %s %s %s %s %s",&Str1, &Str2, &Str3, &Str4, &Str5, &Str6, &Str7);
fprintf(ArqNew,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t",&Str1, &Str2, &Str3, &Str4, &Str5, &Str6, &Str7);
hF = atof(Str3);

hpF2 = atof(Str5);
if(hF){

Soma_hF = Soma_hF + hF;
count_hF = count_hF + 1;
if(hpF2){
Soma_hpF2 = Soma_hpF2 + hpF2;
count_hpF2 = count_hpF2 + 1;
Sub = hpF2 - hF;
Soma_Sub = Soma_Sub + Sub;
}

}
if(atof(Str4)){
Soma_foF2 = Soma_foF2 + atof(Str4);
count_foF2 = count_foF2 + 1;
}

if(Sub){
fprintf(ArqNew,"%.0f\n",Sub);
}

else{
fprintf(ArqNew,"-\n");
}

hF = NULL;
hpF2 = NULL;
Sub = NULL;
}

fprintf(ArqNew,"Medias \t \t%.2f",Soma_hF/count_hF);
fprintf(ArqNew,"\t%.2f",Soma_foF2/count_foF2);
fprintf(ArqNew,"\t%.2f",Soma_hpF2/count_hpF2);
fprintf(ArqNew,"\t \t \t%.2f",Soma_Sub/count_hpF2);

fclose(Arq);
getch();
return 0;

}