27 de maio de 2009

Programação II

Atividades quarta, 20 de maio de 2009:

1 - Implemente a hierarquia Forma apresentada na figura abaixo:










Cada FormaBidimensional deverá conter um método getArea para calcular a área da forma bi-dimensional. Cada FormaTridimensional deverá ter métodos getArea e getVolume para calcular a área e o volume da superfície tri-dimensional. Crie um programa que usa um array do tipo Forma para referenciar objetos de cada classe concreta da hierarquia. O programa deve imprimir um texto descritivo para cada objeto ao qual cada elemento do array se refere. Além disso, no loop que processa todas as formas no array, determine quando cada forma é uma FormaBidimensional ou uma FormaTridimensional. Se for bi-dimensional, imprima a área. Se for tri-dimensional, imprima a área e o volume.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

25 de maio de 2009

Provas Anteriores de Estatística (2)

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

Baixar Todos

Hoje é o dia dos nerds, geeks e da toalha ! \o/

Eu me considero um geek, mas vamos ver o que a wikipedia diz : Geek é uma expressão idiomática da língua inglesa, uma “gíria” que define pessoas peculiares ou excêntricas obcecadas com tecnologia, eletrônica, jogos eletrônicos ou de tabuleiro etc.

Em português, a tradução mas comum é “cromo”.

Um Nerd possui inteligência e capacidade mental natos, acima da media. É sociável, mas muito tímidos para popularidade.

Um Geek pode ser tão inteligente quanto um Nerd, porem, em alguns casos, essa é uma condição adquirida, pois a paixão pelo conhecimento e a avidez pela aprendizagem fazem com que geeks tornem-se especialistas em suas respectivas áreas tecnológicas. Muitos geeks preferem utilizar seus conhecimentos em benefício próprio, pois, geralmente, são muito populares em seus núcleos sociais e por serem exímios articuladores políticos, dominam muitos assuntos para jamais serem excluídos de uma boa conversa, pois adoram um debate erudito.

Veja se você também é um :

Características

*Na escola costuma(va) sentar-se nas cadeiras centrais e adora(va) corrigir seus professores e colegas;
*Adora computadores e, freqüentemente, são capazes de programá-los;
*Gosta de jogos de computador;
*Gosta de tudo relacionado à alta tecnologia e gadget;
*Gosta de ficção científica/fantasia em filmes, livros e jogos;
*São consumidores potenciais de tecnologia e tudo o que for relacionado, e está antenado aos últimos lançamentos;
*Internauta de carteirinha, passa maior parte do tempo em frente ao computador navegando na internet;
*Tem sede de conhecimento, e quanto mais conhecimento adquire, mais deseja conhecer.
*Gosta de leitura, na maioria das vezes se interessa por assuntos que a maioria não tem interesse ou desconhece o assunto;
*Encontra soluções fáceis para as coisas, por ser uma pessoa que sempre está pensando de forma acelerada;
*Tem o pensamento a frente das demais pessoas.




Nerd

Nerd é um termo que descreve, de forma estereotipada, muitas vezes com conotação depreciativa, uma pessoa que exerce intensas atividades intelectuais, que são consideradas inadequadas para a sua idade, em detrimento de outras atividades mais populares. Por essa razão, um nerd é muitas vezes excluído de atividades físicas e considerado um solitário pelos seus pares. Pode descrever uma pessoa que tenha dificuldades de integração social e seja atrapalhada, mas que nutre grande fascínio por conhecimento ou tecnologia.

Em português, a tradução mas comum é “cromo”.

É comum confundi-los com os nerds. Entretanto, existe uma diferença entre nerds e "CDF"s: enquanto no primeiro grupo encaixam-se os naturalmente interessados em algum assunto cultural (jogos, livros, filmes …), podendo não ir bem na escola; o segundo costuma referir-se a jovens em idade ginasial que nem sempre têm a escola como ponto central de suas vidas, mas despendem um bom tempo aos estudos, resultando em algumas características como obtenção de notas altas, questionamento sobre veracidade da informação passada, mas ainda podem manter-se comunicativos e sociáveis.




Sub-grupos

Há muitos ‘sub-grupos’ de nerds. Dentre eles, destacam-se:

*Geeks, aqueles cujo interesse volta-se especialmente para a tecnologia, ciência e informática;
*Gamers, os jogadores compulsivos de video games;
*Cards Gamers, os jogadores compulsivos de Cards Games (Yu-Gi-Oh, Magic, Pokemon);
*RPGistas, os jogadores de Role playing games (RPG), normalmente sobre temas medievais;
*Fanbase ou Fandom, um grupo caracterizado por ser fã de uma obra, ou conjunto de obras específicas como:
*Lord of the Rings Fans, do universo de O Senhor dos Anéis;
*Star Wars Fans, do universo de Star Wars;
*Trekkers ou Trekkies, do universo de Star Trek;
*Babylon V’ers, de Babylon V
*eXcers, de Arquivo X;
*Battlestar Galactica
*Trekdom
*Stargate
*Otakus, aficionados por animes, mangás e cultura japonesa;
*Anime music video
*Fanboy
*Fan fiction
*Fanon (fiction)
*Fanposter



Se quiser saber mais acesse :

http://pt.wikipedia.org/wiki/Nerd

http://pt.wikipedia.org/wiki/Geek



Dia do Orgulho Nerd, ou Dia do Orgulho Geek, ou ainda Dia da Toalha. Calma, não precisa entrar em pânico, eu vou explicar tudo. A primeira nomenclatura começou a ser adotada a partir de 2006 na Espanha, quando 300 malucos resolveram se juntar para comemorar sua nerdice fazendo um Pac Man humano no Día del Orgullo Friki. Este dia não foi escolhido por acaso, é o mesmo dia da estreia de Star Wars nos Estados Unidos em 1977, mas existe um motivo ainda mais importante, o Dia da Toalha.

O dia 25 de maio é conhecido como o Dia da Toalha em homenagem a Douglas Adams, um dos maiores escritores de ficção científica da história das galáxias, que infelizmente deixou nosso planeta em 2001. Em sua saga de livros O Guia do Mochileiro das Galáxias, Douglas Adams avisa que você pode esquecer de tudo, menos da sua toalha. Ela é o item essencial, porque sem ela você não vai conseguir sobreviver quando a Terra for finalmente destruída por alienígenas

“A toalha é um dos objetos mais úteis para um mochileiro interestelar. Em parte devido a seu valor prático: você pode usar a toalha como agasalho quando atravessar as frias luas de Beta de Jagla; pode deitar-se sobre ela nas reluzentes praias de areia marmórea de Santragino V, respirando os inebriantes vapores marítimos; você pode dormir debaixo dela sob as estrelas que brilham avermelhadas no mundo desértico de Kakrafoon;

Pode usá-la como vela para descer numa minijangada as águas lentas do rio Moth;

Pode umedecê-la e utilizá-la para lutar em combate corpo a corpo; enrolá-la em torno da cabeça para proteger-se de emanações tóxicas ou para evitar o olhar da Terrível Besta Voraz de Traal (um animal estonteantemente burro, que acha que, se você não pode vê-lo, ele também não pode ver você – estúpido feito uma anta, mas muito, muito voraz);

Você pode agitar a toalha em situações de emergência para pedir socorro;

E naturalmente pode usá-la para enxugar-se com ela se ainda estiver razoavelmente limpa.

Porém o mais importante é o imenso valor psicológico da toalha. Por algum motivo, quando um estrito (isto é, um não-mochileiro) descobre que um mochileiro tem uma toalha, ele automaticamente conclui que ele tem também escova de dentes, esponja, sabonete, lata de biscoitos, garrafinha de aguardente, bússola, mapa, barbante, repelente, capa de chuva, traje espacial, etc., etc.

Além disso, o estrito terá prazer em emprestar ao mochileiro qualquer um desses objetos, ou muitos outros, que o mochileiro por acaso tenha “acidentalmente perdido”. O que o estrito vai pensar é que, se um sujeito é capaz de rodar por toda a Galáxia, acampar, pedir carona, lutar contra terríveis obstáculos, dar a volta por cima e ainda assim saber onde está sua toalha, esse sujeito claramente merece respeito.”

Blog: Corrente do Conhecimento

21 de maio de 2009

Projeto I

O que deve ser feito na Atividade 6:

Abrir o arquivo original;
Abrir o arquivo novo;
Ler o cabeçalho do arquivo original;
Ler os números do arquivo original e ao mesmo tempo ir gravando os números no arquivo novo de acordo com as opções de Negativo ou de Alargamento de Contraste, cada uma dessas opções possuem um fórmula específica;

Exemplo do laço para ler e gravar:

//Depois que leu o cabeçalho:

do{
fscanf(arquivooriginal,"%s",&gravar);
numero = atof(gravar);

if feof(arquivooriginal) break;

if(opcao = = 1) fprintf(arquivonovo, "%.0f ",255-numero);
if(opcao = = 2) fprintf(arquivonovo, "%.0f ",255/6.4 * log(numero+128));

}while (!feof(arquivooriginal));

Obs. Opção 1 é para o Negativo e Opção 2 é para o Alargamento de Contraste.

Acho que isso já ajuda, visto que nos posts já tem as funções para abrir o arquivo original, abrir o arquivo novo,ler o cabeçlho e fechar os arquivos abertos.

Só lembrando para abrir os arquivos:

//Original - abrir um arquivo que já existe para a leitura
if ((arquivooriginal = fopen("C:/tc/BIN/clown.pgm", "rt"))== NULL)
{
fprintf(stderr, "Erro ao abrir o arquivo.\n");
return 1;
}

//Novo - abrir um arquivo que já existe e se não existir ele cria o arquivo

arquivonovo = fopen("C:/tc/BIN/clownNOVO.pgm", "wt");

Lista de Espera!

Já acabaram as vagas para o Google Developer Day 2009, agora só na lista de espera... :/

20 de maio de 2009

Google Developer Day 2009!


O Google Developer Day 2009 vai romper as barreiras dos aplicativos para a web. Nossos engenheiros e especialistas vão oferecer a você um dia repleto de sessões inesquecíveis sobre as últimas tecnologias do Google.
Desenvolvedores brilhantes estarão reunidos para trocar idéias. Venha conhecer outros profissionais, debater informações e compartilhar suas últimas descobertas e realizações.
Sessões Paralelas
Conheça em primeira mão com os engenheiros que estão na vanguarda do desenvolvimento de aplicativos para a web, as novas funcionalidades e os avanços das ferramentas e tecnologias do Google. As sessões serão divididas por assunto de interesse.

A pedido do Fernando postei aqui sobre o Google Developer Day 2009, é bem interessante, vi a agenda e parece que será bem legal mesmo e o melhor: "O Google Developer Day é gratuito e as vagas são limitadas, por isso, pedimos que preencha este formulário de inscrição e, assim que possível, enviaremos uma resposta sobre a disponibilidade para sua participação."
Contudo, como está escrito as vagas são limitadas e teremos que ver se iremos mesmo ou não o quanto antes!
Vamos reunir a galera e discutir esse assunto...
\o/

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;


}

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;

}

12 de março de 2009

Programação II

Atividades quarta, 11 março 2009:

1 - Fatorial: Fatoriais são usados frequentemente em problemas de probabilidade. O fatorial de um inteiro positivo n (escrito n! e pronunciado "n fatorial") é igual ao produto dos inteiros positivos de 1 até n. Escreva uma aplicação que calcula o fatorial de inteiros de 1 a 5. Mostre os resultados de forma tabular.

2 - Vendas:
Uma empresa vende 5 produtos cujos preços de venda no varejo são os seguintes: produto 1, R$2,98; produto 2, R$4,50; produto 3, R$9,98; produto 4, R$4,49 e produto 5, R$6,87. Escreva uma aplicação que leia uma série de pares de números como segue:
  • número do produto
  • quantidade vendida
Seu programa deverá usar a instrução switch para determinar o preço de varejo para cada produto. Ele deverá calcular e mostrar o valor total das vendas para cada um dos produtos vendidos. Use um loop controlado por sentinela para determinar quando o programa deverá parar e mostrar os resultados finais.

Obs: Não aceite produtos inválidos (com id fora da faixa 1 a 5).

3 - Diamante: Escreva uma aplicação que imprima a figura (diamante) abaixo. Você deve usar comandos de saída que imprimam um asterisco (*), um espaço simples ou um simples caractere de quebra de linha. Maximize o uso de repetição (com comandos for aninhados), e minimize o número de comandos de saída.

Diamante

3 - Diamante 2: Modifique a aplicação anterior (Diamante) para ler um número ímpar na faixa de 1 a 19 fornecido pelo usuário e que especifique o número de linhas do diamante. Seu programa, então, deverá mostrar o diamante no tamanho adequado.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

11 de março de 2009

Projeto I

Possível solução da atividade 2 por Jonatas Balmant
Clique Aqui para Baixar

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

Universidade do Vale do Paraiba - Ciencia da Computacao

Materia : Projeto I - Exercicio II

Professor : Valdir Gil Pillat

Autor : Jonatas Balmant

Descricao : Trabalho de Manipulacao de Dados

Data : 10 mar 2009

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

//----( Bibliotecas )------------------------------------------------------------------

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

//----( Inicio do Programa )-----------------------------------------------------------

void main()
{

//----( Declaracoes )-----------------------------------------------------------

char szLinha[50];
char szTemp[10];
double dbMedias[3] = {0,0,0};
double hpF_hF[3] = {0,0,0};
int cont = 0;
int nLinha = 0;
char *p; //--- PONTERIO PARA szLinha ---
int i,j,tam;
FILE *in, *out;
clrscr();

printf("Iniciando Leitura de Arquivo...");

//---( ABERTURA DOS ARQUIVOS )---------------------------------------------

if((in = fopen("C:\\Arquivo.txt", "rt"))== NULL)

{
printf("Nao Achei o Arquivo");
return;

}
if((out = fopen("C:\\RESULT.txt", "wt"))==NULL)
{
printf("Nao Consegui Criar o Arquivo");
return;
}

//---( CABECALHO )--------------------------------------------------------------------------

memset(szLinha,'\0',sizeof(szLinha));
fgets(szLinha,11,in);
fputs(szLinha,out);
fgets(szLinha,19,in);
fputs(szLinha,out);
fgets(szLinha,38,in); szLinha[35] = '\0';
fputs(szLinha, out);
sprintf(szLinha,"\thpF2-h'F\n");
fputs(szLinha, out);

//---( DADOS )-------------------------------------------------------------------------------

while((fgets(szLinha, 35, in))!= NULL)
{
hpF_hF[0] = 0; hpF_hF[1] = 0; hpF_hF[2] = 0;
nLinha++;
p = szLinha; //--- PONTEIRO PARA LINHA ---
cont=0;
//--- LOOP ATE ENCONTRAR O SEGUNDO "TAB" DA LINHA, POSICIONANDO O PONTEIRO NO LOCAL CERTO PARA O INICIO DA COLETA DOS DADOS

for(i = 0; i < 20; i++)
{
p++;
if(p[0] == '\t')
{
cont++;
if(cont == 2) { p++; break; }
}
}
memset(szTemp,'\0',sizeof(szTemp));
for(j = 0; j < 3; j++)
{
cont = 0;
for(i = 0; i < 10; i++)
{
if((p[i] == '\t') || (p[i] == '-'))
break;
cont++;
}

if((p[0] == '\t') || (p[0] == '-'))
{
dbMedias[j] = dbMedias [j] + 0;
p+=2;
}
else
{
strncpy(szTemp, p, cont);
szTemp[cont] = '\0';
hpF_hF[j] = atof(szTemp);
dbMedias[j] = dbMedias[j] + atof(szTemp);
p = p + (cont+1);
}
}
tam = strlen(szLinha);
if(szLinha[tam-1] == '\n') szLinha[tam-1] = '\0'; //--- RETIRA O CARACTER '\n' ---
fputs(szLinha,out);
sprintf(szLinha,"\t%5.0f\n",(hpF_hF[2] - hpF_hF[0]));
fputs(szLinha,out);
}

//---( RODAPE )---------------------------------------------------------------------------

sprintf(szLinha,"Medias\t\t%.1f\t%.1f\t%.1f\t\t\t%7.1f",dbMedias[0]/nLinha,dbMedias[1]/nLinha, dbMedias[2]/nLinha,(dbMedias[2] - dbMedias[0])/nLinha);
fputs(szLinha,out);
fclose(in);
fclose(out);
textcolor(10);
cprintf("\nArquivo \'Resultado\' Gerado com Sucesso!!");
getch();
}