30 de setembro de 2009

<span> ? </span> - 1


Sr.(a) [email]? o.O

29 de setembro de 2009

Semana de Provas!

TENSO!

24 de setembro de 2009

Engenharia de Software I - 03

Capítulo 4: Fase Requisitos de Software RS

Fase Requisitos de Software RS (SW I) - Download
Documento liberável DRS - Download

Banco de Dados I - 06

UML - Parte II

Exercício VI:

1 - Com suas palavras definam os 9 diagramas usados nas fases da UML:

Diagrama de use case: Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário e tem o objetivo de auxiliar a comunicação entre os analistas e o cliente. O cliente deve ver no diagrama de Use Cases as principais funcionalidades de seu sistema.

Diagrama de classes: Tem como objetivo descrever os vários tipos de classes ou objetos no sistema e o relacionamento entre eles. Um diagrama de classes contém entidades e relacionamentos.

Diagrama de objeto: É uma variação do diagrama de classes e utiliza quase à mesma notação. O diagrama de objetos é como se fosse o perfil do sistema em certo momento de sua execução.

Diagrama de estado: Um diagrama de estado mostra os possíveis estados de um objeto e as transações responsáveis pelas suas mudanças de estado.
Diagrama de seqüência: Consiste em um diagrama que tem o objetivo de mostrar como as mensagens entre os objetos são trocadas no decorrer do tempo para a realização de uma operação.

Diagrama de colaboração: A grande diferença entre um diagrama de colaboração e um de seqüência consiste no fato de que o tempo não é mais representado por linhas verticais, mas sim através de uma numeração.

Diagrama de atividade: O objetivo do diagrama de atividades é mostrar o fluxo de atividades em um único processo. O diagrama mostra como uma atividade depende uma da outra.

Diagrama de componente: Os diagramas de componentes representam, de forma estática, aspectos físicos do sistema sendo modelado. Os diagramas mostram um conjunto de componentes e seus relacionamentos.

Diagrama de execução: Exibe a arquitetura física do hardware e do software no sistema. Pode mostrar os atuais computadores e periféricos, juntamente com as conexões que eles estabelecem entre si e pode mostrar também os tipos de conexões entre esses computadores e periféricos.

2 - Faça um Diagrama de Use-case e um Diagrama de Classes de um sistema a sua escolha.
( Não sei se estão certos!) :P

Diagrama de Use-case - Biblioteca



Diagrama de Classes - Biblioteca




Obs. Ninguém vai conseguir entregar na data certa: Data de entrega: quarta, 24 setembro 2008, 22:55... =/

22 de setembro de 2009

Programação III, PROVA ADIADA!

Olá a Todos!!!

Adiada prova de Programação III que seria realizada no dia 03 (Três) de Outubro.

Devido ao fato de alguns alunos do curso realizarem, no dia 03 (Três) e 04 (Quatro) de Outubro, a prova do ENEM (Exame Nacional do Ensino Médio) a prova de Programação III será adiada para o dia 10 (Dez) de Outubro. Porém, no dia 03 de Outubro haverá aula normal cujo assunto será a interligação do Visual Basic 6.0 com Banco de Dados (Introdução).

Atenciosamente
Felipe Antonio Cardoso
Representante da matéria de Programção III.

15 de setembro de 2009

TAD Sequência com Arranjo Circular

Implemente o TAD sequência baseado em um arranjo variável usado de forma circular de maneira que as inserções no início e no fim da sequência executem em tempo constante.

Classes:

Posição:

public class Posicao
{
// indice no vetor
private int indice;

// referencia para o elemento
private Object elemento;

// construtor
public Posicao(int indice, Object elemento)
{
this.indice = indice;
this.elemento = elemento;
}

// retorna indice
public int index()
{
return indice;
}

// retorna elemento
public Object element()
{
return elemento;
}
}

Interador:

public class Iterador
{
// armazena elementos
private Posicao[] elementos;

// controla posicao no array
private int pos;

// construtor
public Iterador(Posicao[] elementos)
{
this.elementos = elementos;
pos = 0;
}

// retorna objeto corrente do array
public Posicao object()
{
return elementos[pos];
}

// verifica se tem proximo elemento
public boolean hasNext()
{
if(pos == elementos.length)
return false;

return true;
}

// move para o proximo elemento
public Posicao nextObject()
{
if(hasNext())
return elementos[pos++];

return null;
}

// volta ao começo
public void reset()
{
pos = 0;
}
}

Sequência:

public class Sequencia
{
// no. max. de elementos
private final int MAX_ELEMENTOS = 100;

// array de posicoes
private Posicao[] sequencia;

// variaveis de controle
private int first;
private int last;
private int N;

// construtor
public Sequencia()
{
sequencia = new Posicao[MAX_ELEMENTOS];
first = 0;
last = 0;
N = MAX_ELEMENTOS;
}

// insere elemento na primeira posicao
public void insertFirst(Object o)
{
// calcula possivel indice
int pos = first - 1;

// verifica se menor que limite
if(pos < 0)
pos = N - 1; // circular

// verifica se sequencia esta cheia
if(pos == last)
{
aumentar();
// chama funcao novamente apos aumentar
insertFirst(o);
}
else
{
// cria nova posicao
Posicao posicao = new Posicao(pos, o);

// insere na posicao candidata
sequencia[pos] = posicao;
// atualiza indice da primeira posicao
first = pos;
}
}

// insere elemento na ultima posicao
public void insertLast(Object o)
{
// cria nova posicao
Posicao posicao = new Posicao(last, o);

// insere na ultima posicao
sequencia[last] = posicao;

int pos;

// atualiza indice da ultima posicao
pos = (last + 1) % N;

// verifica se sequencia esta cheia
if(pos == first)
aumentar();
else
last = pos; // atualiza indice da ultima posicao
}

// duplica tamanho da sequencia
public void aumentar()
{
// cria nova sequencia com dobro do tamanho
Posicao[] temp = new Posicao[2*sequencia.length];

// contadores auxiliares
int pos = first;
int i = 0;

// copia todos os elementos para nova sequencia
while(pos != last)
{
temp[i] = new Posicao(i, sequencia[pos].element());
i++;
pos = (pos + 1) % N;
}

// atualiza indices
first = 0;
last = i;
sequencia = temp;
N = sequencia.length;
}

public int size()
{
return (N - first + last) % N;
}

public Iterador elements()
{
// cria array de elementos a serem retornados
Posicao[] elementos = new Posicao[size()];

// contadores auxiliares
int pos = first;
int i = 0;

// copia todos os elementos para array de saida
while(pos != last)
{
elementos[i] = sequencia[pos];
i++;
pos = (pos + 1) % N;
}

// cria iterador auxiliar e passa elementos
Iterador iterador = new Iterador(elementos);

// retorna iterador
return iterador;
}

// insere elemento antes de posicao p
public void insertBefore(Posicao p, Object o)
{
// indice para ultima posicao (valor corrente)
int pos = last;

// desloca todos os elementos depois de p
do
{
sequencia[pos] = new Posicao(pos, sequencia[pos-1].element());
pos--;

// verifica limite inferior
if(pos < 0)
pos = N-1;
}
while(pos > p.index());

// insere novo elemento
sequencia[pos] = new Posicao(pos, o);

// atualiza indice para ultimo elemento
last = (last + 1) % N;

// verifica necessidade de crescimento
if(size() == N)
aumentar();
}

}

Testa Sequência:

public class SequenciaApp
{
public static void main(String args[])
{
Posicao p = null;
Iterador it;
Sequencia seq = new Sequencia();

seq.insertLast("Bola");
seq.insertLast("Caixa");
seq.insertLast("Chave");
seq.insertFirst("Lapis");

it = seq.elements();
while(it.hasNext())
{
p = it.nextObject();
System.out.println((String)p.element());
}

seq.insertBefore(p, "Controle Remoto");
System.out.println();

it = seq.elements();
while(it.hasNext())
{
p = it.nextObject();
System.out.println((String)p.element());
}
}
}

Banco de Dados I - 05

UML - Parte I

Exercício V:
Responder as perguntas abaixo:

1)Quais as fases do desenvolvimento de sistemas utilizados na UML? Explique-os.

2)A UML é composta por quais partes?

3) Quantas visões, diagramas e modelos de elementos são utilizados nas fases de análise de requisitos, análise e design?

4) Quais as visões que compõem um sistema? Explique 2 deles.

5)Quais são os diagramas utilizados pela UML? Explique 2 deles.
Possível Resolução

10 de setembro de 2009

Banco de Dados I - 04

Exercício IV-a:
Responda as questões abaixo:

1) Quem são os criadores do UML e quais metodologias cada um deles criou?

2) Quais os conceitos que Coad, Yourdon, Pressman apresentaram?

3) O que diz as metodologias de Booch, OMT, OOSE e Objectory?

4) Quais os principais objetivos da UML?

5) A UML pode ser utilizada por vários tipos de sistemas, quais são?

6) Utilizando a Internet, cite 4 softwares de mercado para modelagem de UML?
Possível Resolução

5 de setembro de 2009

Exercícios Programação III - 03 e 04

Execício 03 - Download

Crie um gráfico igual a figura abaixo, onde a equação da reta da linha verde é y=x*3 e a equação da reta da linha vermelha é y=x^2:



Execício 04 - Download

Calcular a equação do 2º grau e plotar o gráfico da função.

Banco de Dados I - 03

História dos Bancos de Dados
UML - Introdução


Exercício IV:
1) Quais as diferenças entre os Modelos de Banco de Dados Hierárquico, Redes, Relacional e OO ?

2) Olhando as regras de Codd, diga qual delas é a mais importante e por quê?

3) Olhando a História do Banco de Dados, o que podemos esperar para o futuro?

4) Quais os Bancos de Dados utilizados no Brasil e no Mundo. Colocar em ordem de utilização.
Possível Resolução

3 de setembro de 2009

Engenharia de Software I - Exercícios

Capítulo I

1 – A razão é que os sistemas estão cada vez mais complexos e o volume de dados cada vez maior e com freqüentes modificações, com isso dificultando a tomada de decisões através dos dados recolhidos sem um sistema para auxiliar e navegar entre esses dados.
2 - SUMIU! :(
3 – Programas de computador, procedimentos e documentação possivelmente associados e dados relativos ao funcionamento de um sistema computador.
4 - A aplicação de uma sistemática e disciplinada, quantificável para o desenvolvimento, operação e manutenção de software, ou seja, a aplicação da engenharia de software.
5 - Um padrão planejado e sistemático de todas as ações necessárias para fornecer confiança adequada ao software que está em conformidade com os requisitos técnicos estabelecidos. Um conjunto de atividades destinadas a avaliar o processo pelo qual os produtos são desenvolvidos ou fabricados.
6 - O conjunto completo de programas de computador, procedimentos e documentação possivelmente associados e dados designados para entrega a um usuário.
7 – Projeto é uma concepção mental ou idéia de um produto, geralmente representada por modelos. É a representação de um sistema de software criada para facilitar análise,
planejamento e tomada de decisão.
8 - Por Processo entende-se uma série de ações ou passos, planejados cuidadosamente, a serem seguidos pelos desenvolvedores de software, sistematizando, disciplinando e
permitindo gerenciar o desenvolvimento de sistemas computadorizados.
9 – Atividades Executivas são atividades executadas nas fases:
Fase Requisitos do Usuário – RU, Fase Requisitos de Software – RS, Fase Projeto Arquitetural – PA, Fase Projeto Detalhado e Produção – PD, Fase Transferência – TR, Fase Operações e Manutenção – OM.
10 – Atividades Gerenciais são atividades como:
Gerência de Projeto, Gerência de Configuração, Gerência de Verificação e Validação e Gerência de Qualidade.

Capítulo II

1 -
* Fase Requisitos Do Usuario - RU;
* Fase Requisitos Do Software - RS;
* Fase Projeto Arquitetural - PA;
* Fase Projeto Detalhado E Produção - PD;
* Fase Projeto Transferencia - TR;
* Fase Operações E Manutenção - OM;
2 -
* DRU - Documento Requisitos Do Usuário;
* DRS - Documento Requisitos Do Software;
* DRA - Documento Projeto Arquitetural;
* DPD - Documento Projeto Detalhado;
* MUS - Manual Do Usuário;
* DTR - Documento De Transferencia;
* DHP - Documento Historico Do Projeto
3 - Começa quando o DRU é liberado pelo usario para uma revisao formal e termina quando o produto é descartado.
4 - Começa na RS (definição dos requisitos de software) termina no PD (projeto detalhado)
5 - Para os usuários definirem o que eles desejam e para os desenvolvedores definirem o que eles entenderam que o usuário deseja.
6 - Uma abordagem em cascata é adequada quando existe um projeto simples com fases seqüencial, o que torna essa abordagem simplificada e popular, requisitos estáveis e de alta qualidade, a duração do projeto seja de no máximo 2 anos (ou 4000 horas) e permite retomar etapas para correção.
7 - Abordagem incremental é utilizada quando a liberação se faz necessário para estar acordado com os requisitos, fazer integração com sistema já existente ou parte do sistema e oferecer uma prévia que o software será suficiente para resolver o problema.
8 - Abordagem evolucionária é uma série de projetos menores, onde cada projeto aproveita a experiência da liberação anterior e deve ser usada quando requisitos do usuário são de difícil implementação, pois podem depender de tecnologias futuras ou não são totalmente conhecidos, alguns requisitos podem atrasar a liberação do software, portanto necessita um acompanhamento evolucionário para a integração.
9 - Abordagem em cascata é utilizada para o desenvolvimento de software em curto prazo, quando são necessárias apenas pequenas correções e aperfeiçoamento, essas que são feitas na fase de Operação e Manutenção (OP).
10 - A execução simultânea ocorre quando a elaboração do projeto está em andamento e novos requisitos de software são apresentados, resultando em um maior tempo de desenvolvimento e necessidade de uma nova elaboração do projeto. O recomendado para esse projeto seria abordado o Método Cascata com Liberação Incremental.

Capítulo III

1 – O responsável pelo RU é o próprio Usuário junto ao desenvolvedor, onde ele especifica o que o seu sistema deve fazer.
2 – É aceitável desde que o desenvolvedor faça esse documento junto com o usuário e com a aprovação do mesmo.
3 – Os tipos são: Capacidade, Define o que o software deve fazer; Restritivos, Coloca restrições de como o software deve ser construído e operado.
4- Os requisitos do usuário se estruturam da seguinte forma:
– Capturar os Requisitos do Usuário;
– Determinar o ambiente operacional;
– Especificar os Requisitos do Usuário;
– Escrever o Plano dos Testes de Aceitação;
– Escrever os planos para a fase Requisitos de Software;
– Rever os Requisitos do Usuário.
5 – a) O usuário deve ser capaz de gerar relatórios através do software, não o software por si só gerar um relatório.
b) A especificação em relação à boa interface com o usuário está muito genérica, irá depender do ambiente operacional do software.
c) Falhas não é um requisito de usuário, nenhum usuário irá pedir que seu software tenha uma média de falha em 3 horas.
d) Está correto.
e) Este argumento não é um requisito de usuário, é um requisito de software.
6- Cada requisito de usuário deve conter pelo menos as seguintes características: Identificador, Necessidade, Prioridade, Fonte e Estabilidade.
7 – As interfaces para sistemas externos devem estar descritas nas características de restrição no requisito de usuário.
8 – Um sistema com em média 700 requisitos é considerado um sistema de porte Médio enquanto deveria ser desenvolvido com até 20 pessoas.ano, com apenas 2 pessoas.ano pode ser desenvolvido um software de porte pequeno de até 100 requisitos.
9 – O objetivo é sempre mostrar a opção mais adequada para o usuário, mas se o mesmo insistir em utilizar a interface escolhida por ele, assim deve ser feito.
10 – Não se deve colocar especificações desse tipo em um documento de requisitos de usuário, deve ser colocado especificações com uma linguagem menos técnica.

Algoritmos e Estruturas de Dados I - Será?

interface estruturaLinear {
// verifica se a estrutura tem elementos
public boolean estaVazia();
// devolve a quantidade de elementos da estrutura
public int tamanho();
// insere um elemento no início da estrutura
public void inserir(Object p0);
// insere um elemento no fim da estrutura
public void inserirCauda(Object p0);
// remove um elemento do início da estrutura
public Object remover();
// remove um elemento do fim da estrutura
public Object removerCauda();
}

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

public class ArrayCircularList implements estruturaLinear {
protected Object[] array;
protected int start,end,number;

public void pArrayList(int maxsize){
array = new Object[maxsize];
start = end = number = 0;
}
public boolean estaVazia(){
return number == 0;
}
public boolean isFull(){
return number >= array.length;
}
public int tamanho(){
return number;
}
public void inserir(Object o){
if(number < array.length){
array[start = (++start % array.length)] = o;
number++;
}
}
public void inserirCauda (Object o){
if(number < array.length){
array[end] = o;
end = (--end + array.length) % array.length;
number++;
}
}
public Object remover(){
if(estaVazia())
return null;
number--;
int i = start;
start = (--start + array.length) % array.length;
return array[i];
}
public Object removerCauda(){
if(estaVazia())
return null;
number--;
return array[end = (++end % array.length)];
}
}

31 de agosto de 2009

WAR?


28 de agosto de 2009

Algoritmos e Estruturas de Dados I - Aula 02

Apostila 03 : Vetores, Listas e Sequências - Download
Apostila 04 : Árvores - Download
Apostila 05 : Filas de Prioridade - Download

Atividades terça, 25 de agosto de 2009:

FIFO Ganho (ou Perda) de Capital

Quando um lote de ações de uma companhia é vendido, o ganho de capital (ou, às vezes, a perda) é a diferença entre o preço de venda do lote e o preço originalmente pago por ele. Essa regra é fácil de entender para um único lote, mas se vendermos múltiplos lotes comprados em tempos diferentes temos de identificar os lotes sendo vendidos. Um método usado para identificar que lotes são vendidos é usar uma estrutura que suporte o protocolo FIFO, na qual os lotes vendidos são aqueles que temos há mais tempo (este é o método usado em vários softwares de finanças pessoais). Por exemplo, suponha que compramos 100 lotes a $20 cada no dia 1, 20 lotes a $24 no dia 2, 200 lotes a $36 no dia 3 e vendemos 150 lotes no dia 4 a $30 cada. Aplicando o protocolo FIFO, significa que dos 150 lotes vendidos, 100 foram comprados no dia 1, 20 foram comprados no dia 2 e 30 foram comprados no dia 3. O ganho de capital neste caso seria 100.10+20.6+30.(-6), ou $940.

Escreva um programa que recebe como entrada uma sequência de transações da forma
  • compre x lotes a y cada
    ou
  • venda x lotes a y cada
assumindo que as transações ocorrem em dias consecutivos e que os valores x e y são inteiros. Dada esta sequência de entradas, a saída deve ser o ganho total (ou perda) de capital para a sequência completa, usando o protocolo FIFO para identificar os lotes.

Baixar Possível Resolução

Para baixar o JCreator clique aqui.

Banco de Dados I - 02

Engenharia da Informação
Engenharia da Informação - Leitura


Exercício I:
Pesquisa em Laboratório
Pesquise os Softwares de Banco de Dados atuais (no mínimo 8).
Nome:
Empresa:
Plataforma:
Duas empresas que utilizam:
Notícia atual:
% de Mercado:
Colocar a Bibliografia (Sites com data e hora de acesso)
Possível Resolução

Exercício II:
Considerando o assunto exposto, pesquise e responda:

1) O SI segundo o Suporte a Decisões é dividido em quais tipos? Explique-os e dê exemplos.
2) Quais as diferenças entre os SI: Pessoal, Gurpal ou Departamental, Organizacional e Interorganizacional.
3) Explique os SI Informatizados e Automatizados. Dê exemplos.
4) A Empresa que você trabalha tem quais tipos de Sistema de Informação? Explique suas escolhas.
Possível Resolução

Exercício III:
Imaginando que você é o Diretor de uma empresa dê sua opinião sobre estas frases abaixo (recebidas de seus subordinados):

1. Queixas:
a. “A construção de sistemas toma muito tempo e o custo é muito alto”.
b. “As dificuldades de manutenção são enormes”.
c. “Os administradores não conseguem obter as informações do computador quando são necessárias”.
d. “Os dados são redundantes e o acesso a estes é caótico”.
e. “Muitos programas são um emaranhado frágil de código”.
2. “A informática é uma ferramenta crítica na competição do mundo dos negócios, torna-se cada vez mais, fundamental desenvolver aplicações rapidamente e alterá-las também rapidamente”.
3. “É preciso construir, em pouco tempo, a um baixo custo, aplicações que são altamente complexas, de alta qualidade, e que atendam totalmente as necessidades dos usuários finais".
Possível Resolução

Engenharia de Software I - 02

Capítulo 3: Fase Requisitos do Usuário - RU

Fase Requisitos do Usuário - RU - Download
Documento Liberável DRU - Download

Post número 100!

Que venham mais outros 100! ^^

23 de agosto de 2009

Exercício da aula do dia 22/08/2009

Download do projeto aqui.

Exercício – Desenvolva uma interface que calcule a equação do segundo grau, onde seja possível entrar com os valores de "a", "b" e "c" via textbox. Neste mesmo programa desenvolva um programa que calcule o fatorial de um número. Este programa deve conter somente: 3 Textbox, 5 Labels, 1 command e 2 option ou 2 check:

Elementos:

Textbox 1 = "txtCoX2" - A ou - N
Textbox 2 = "txtCoX" - B
Textbox 3 = "txtConst" - C

Label 1 = "lbla" - A
Label 2 = "lblb" - B
Label 3 = "lblc" - C
Label 4 = "lblX1Val" - X1
Label 5 = "lblX2Val" X2

Command 1 = "cmdcalcular" - Calcular

Option 1 = "opt1" - Equação 2° Grau
Option 2 = "opt2" - Fatorial

Código:



Private Sub cmdcalcular_Click()
If opt2.Value = True Then
Dim valor, cont As Integer
Dim total As Double
total = 1
valor = Val(txtCoX2.Text)
If valor = 0 Then
MsgBox "Digite um valor valido", vbExclamation
Else
For cont = 1 To valor
total = total * cont
Next cont
lblX1Val.Caption = total

End If

Else

If opt1.Value = True Then
Dim A As Single
Dim B As Single
Dim C As Single
Dim Discriminante As Single
Dim X1 As Single
Dim X2 As Single
Dim n As Integer
Dim mensagem As String

A = Val(txtCoX2.Text)
B = Val(txtCoX.Text)
C = Val(txtConst.Text)

If A = 0 Then
MsgBox "O valor do coeficiente A não pode ser igual a zero.", vbCritical, mensagem
Exit Sub
End If

Discriminante = (B ^ 2 - 4 * A * C)

If Discriminante < 0 Then
lblX1Val = ""
lblX2Val = ""
MsgBox ("Esta equação não possui raizes reais !."), vbCritical, mensagem
Else
X1 = (-B + Sqr(Discriminante)) / (2 * A)
X2 = (-B - Sqr(Discriminante)) / (2 * A)
If Discriminante = 0 Then
lblX1Val = X1
lblX2Val = X1
MsgBox ("Esta equação possui duas raizes reais iguais."), vbInformation, mensagem
Else
lblX1Val = X1
lblX2Val = X2
MsgBox ("Esta equação possui duas raizes reais."), vbInformation, mensagem
End If
End If

End If
End If

End Sub


Private Sub opt1_Click()

txtCoX2.Text = ""
txtCoX.Text = ""
txtCoX.Visible = True
txtConst.Text = ""
txtConst.Visible = True
lblX1Val.Caption = ""
lblX2Val.Caption = ""
lbla.Caption = "A"
lblb.Visible = True
lblc.Visible = True
End Sub

Private Sub opt2_Click()

txtCoX2.Text = ""
txtCoX.Text = ""
txtCoX.Visible = False
txtConst.Text = ""
txtConst.Visible = False
lblX1Val.Caption = ""
lblX2Val.Caption = ""
lbla.Caption = "N"
lblb.Visible = False
lblc.Visible = False
End Sub

Private Sub txtConst_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
txtConst.Text = Left(txtConst.Text, (Len(txtConst.Text) - 1))
SendKeys "{END}"
End If
If KeyAscii < 43 Or KeyAscii > 57 Or KeyAscii = 47 Or KeyAscii = 44 Then KeyAscii = 0
End Sub

Private Sub txtCoX_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
txtCoX.Text = Left(txtCoX.Text, (Len(txtCoX.Text) - 1))
SendKeys "{END}"
End If
If KeyAscii < 43 Or KeyAscii > 57 Or KeyAscii = 47 Or KeyAscii = 44 Then KeyAscii = 0
End Sub

Private Sub txtCoX2_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
txtCoX2.Text = Left(txtCoX2.Text, (Len(txtCoX2.Text) - 1))
SendKeys "{END}"
End If
If KeyAscii < 43 Or KeyAscii > 57 Or KeyAscii = 47 Or KeyAscii = 44 Then KeyAscii = 0
End Sub

19 de agosto de 2009

Como resolver o Cubo de Rubik Facilmente!

=]

Programação III no Moodle

Link: http://200.144.97.11/~moodle/course/view.php?id=271

Camisetas do Curso Versão 2.0

Escolha o modelo e informe o seu tamanho:

Modelo 02.01:
Modelo 02.02:
Modelo 02.03:

(Clique na imagem para ampliar!)

Horário II

17 de agosto de 2009

Engenharia de Software I - 01

Downloads:

O Processo, o Projeto e o Produto - Download
Ciclo de Vida de Software - CVS - Download

Banco de Dados I - 01

Downloads:

Sistema de Informação - Download
Classificação (SI) - Download

Aula 01 - Programação III

Download da aula clique aqui.

Exercício 1 – Crie um formulário com três campos texto, um botão e dois labels, crie uma
função que calcule a equação do segundo grau e mostre os resultados nos labels:


Private Sub cmdResolver_Click()

A = Val(txtCoX2.Text)
B = Val(txtCoX.Text)
C = Val(txtConst.Text)

If A = 0 Then
MsgBox "O valor do coeficiente A não pode ser igual a zero.", vbCritical, mensagem
Exit Sub
End If

cmdNovoCalculo.Enabled = True

Discriminante = (B ^ 2 - 4 * A * C)

If Discriminante < 0 Then
lblX1Val = ""
lblX2Val = ""
MsgBox ("Esta equação não possui raizes reais !."), vbCritical, mensagem
Else
X1 = (-B + Sqr(Discriminante)) / (2 * A)
X2 = (-B - Sqr(Discriminante)) / (2 * A)
If Discriminante = 0 Then
lblX1Val = X1
lblX2Val = X1
MsgBox ("Esta equação possui duas raizes reais iguais."), vbInformation, mensagem
Else
lblX1Val = X1
lblX2Val = X2
MsgBox ("Esta equação possui duas raizes reais."), vbInformation, mensagem
End If
End If

End Sub

Divirta-se

12 de agosto de 2009

Projeto II - Grupos e Fases

Fase 1: XML:
Marcos
André
Dimas

Fase 2: Visualização de Dados:
João Paulo
Fernando
Ricardo

Fase 3: Imagens:
Felipe
Felipe Cardoso
Diogo

Fase 4: Integração:
Leandro
Dalton
Alberto

Fase 5: Documentação:
Todos

\o/ ¬o/

Algoritmos e Estruturas de Dados I - Aula 01

Apostila 01 : Análise de Algoritmos - Download
Apostila 02 : Pilhas, Filas e Deques - Download

5 de agosto de 2009

Programação III

Link da página do currso:

http://www1.univap.br/valdirgp/ProgramacaoIII/index.html

4 de agosto de 2009

Solzinho!

Pequena é melhor...

3 de agosto de 2009

Volta as aulas...

Como já era esperado:

Comunicado à Comunidade da UniVap


No próximo dia 03 de agosto, reiniciam-se nossas atividades
acadêmicas. As mesmas seguirão o cronograma previamente
estabelecido pela Univap... Para ler mais clique aqui.

20 de julho de 2009

Voltaremos em Agosto! :p

Título diz tudo!

p.s: Alguém já está com saudades?

26 de junho de 2009

Descobri o autor da pergunta!

Fui hoje na faculdade, para ver a nota de Ciência do Ambiente, o professor ainda não tinha corrigido as provas quando cheguei lá, sendo que o dia do exame é hoje, como saberemos se ficamos de exame ou não sem antes saber a nota? Boa pergunta não?

Pois bem, não é esse o assunto do post, descobri que o autor da 11° pergunta da prova de Ciência do Ambiente foi o nosso grande coordenador o Valdir! O.o
Éééé o professor de ciência do ambiente disse: "Ele (Valdir) falou para dar essa pergunta que o pessoal ia gostar..." e ainda deu uma risadinha! ¬¬'

AHSAushASAshASHUAhsuAhsasahsaahushuahasas

Sacanagem isso!
Eu não gostei da pergunta!

Quem acha que ele inventou essa pergunta??

24 de junho de 2009

Resumo da Reunião

Não tem resumo!
Não tivemos tempo para perguntar a nossa super pergunta.
¬¬'
Eles juraram que marcando uma reunião com todas as pessoas dos dois cursos essa reunião iria durar só 40 minutos.
Jamais!

ps. A parte do RUI "m" foi vacilo...

21 de junho de 2009

E fica a pergunta: "Qual a nova denominação da área de trabalho?"

A pergunta que não quer calar!

Gente nem procurando no google eu achei a resposta para tal pergunta, então, se não tem no google pode esquecer, né?
Terça teremos a grande reunião e podemos usar isso como argumento "nem no google tem", ta certo que nínguem vai pegar DP nessa matéria... Isso por que podia apagar, senão o negão pegava DP. huashuahusuahsuhahushuas

Mas eu queria realmente saber, então quem conseguir descobrir, por favor, nos digaaaaaaaa!!!

Boa sorte prá quem pego exame! ^^

19 de junho de 2009

Perguntas e Respostas [Ciência do Ambiente] (2)

1- Como você conceituaria uma sociedade sustentável do ponto de vista ambiental?
R: Atende as necessidades atuais de uma população em relação a alimentos, água e ar limpos, abrigo e outros recursos básicos sem comprometer a capacidade de gerações futuras atenderem as suas necessidades.
2- O que você entende por sustentabilidade ambiental?
R: É a capacidade dos diversos sistemas da Terra de se adaptarem as condições ambientais em mudança.
3- Como as atividades humanas degradam o capital natural?
R: Ao usar recursos renováveis mais rápido do que a natureza consegue renová-los, ex: ar, água e solo.
4- O que você entende por crescimento econômico e desenvolvimento econômico?
R: Crescimento: É o aumento da capacidade de um país em fornecer bens e serviços a sua população.
Desenvolvimento: É a melhoria dos padrões de vida da população proporcionado pelo crescimento econômico.
5- O que é degradação ambiental?
R: É quando excedemos a taxa de reposição natural de um recurso, ex: erosão, desmatamento.
6- O que você entende por capital natural da Terra?
R: São todos os recursos e serviços naturais que mantém a nossa e outras espécies.
7- Explique o significa da expressão “tragédia dos recursos públicos”.
R: É a má utilização dos recursos renováveis que estão livres a todos, ou seja, a utilização excessiva dos recursos, fazendo com que a natureza não consiga repor esses recursos.
8- Quais as conseqüências do crescimento exponencial das atividades humanas, par com os recursos naturais?
R: O consumo de combustível fóssil e o desmatamento mudam o clima da Terra, podendo arruinar algumas áreas agrícolas, modificar as reservas hídricas, alterar e reduzir a biodiversidade e influenciar a economia de diversas partes do mundo.
9- O que você entende por renda biológica e qual a relação desta com a sustentabilidade?
R: São os recursos naturais da Terra que beneficia a todos os seres, esses recursos sustentam a vida e a economia do planeta, sendo assim o caminho para a sustentabilidade e viver com a renda sem comprometer o capital natural.
10- Explique de forma sintética os mecanismos ou ações em que os indivíduos fazem a diferença para o alcance da sustentabilidade?
R: Para alcançar a sustentabilidade alguns indivíduos trabalham juntos para resolver um problema, outros encontram formas de criar materiais com recursos alternativos, outros atuam cobrando e persuadindo autoridades eleitas a acabar com o desmatamento.
11- Faça um breve relato sobre a história dos dois reis e o jogo de xadrez e qual sua relação com a população mundial?
R: O foco desta história é exemplificar de forma simples o crescimento exponencial que começa a devagar e em poucas repetições se torna um número gigantesco. Este mesmo crescimento acontece com a população mundial que cresce cada vez mais rápido, que demorou várias décadas pra chegar à população atual e que agora demora poucos anos para dobrar.
12- Do ponto de vista dos recursos naturais o que você entende por produção sustentável?
R: É uma produção que poupa ao máximo a utilização dos recursos naturais, sem reduzir seu suprimento disponível.
13- O crescimento econômico sempre resulta em desenvolvimento econômico?
R: Não, pois nem toda a população é beneficiada pelo crescimento da economia.

18 de junho de 2009

Semana de Provas...

Vamos estudar galera...

Falando nisso, você sabia...

* ... Que a identidade secreta do Dr. Abobrinha é Pompeu Pompilho Pomposo?
* ... Que raios e trovões?
* ... Que o Dr. Vitor está chegando?
* ... Que "porque sim" não é resposta?
* ... Que assobiou a Caipora chegou?
* ... Que eu assistia CRTB?

16 de junho de 2009

Estatística

3 coisas para se lembrar antes da prova:

μ = ∑ (x . P(xi))
δ² = ∑ (x² . P(xi))- μ²
δ = √ δ ²

e ^ -u . u ^ k / k!

P(x = k) = nCk . p ^ k . q ^ n - k
nCk = n! / K! (n-k)!

11 de junho de 2009

Eletricidade Aplicada

Resumo da matéria by Diogo!

Clique AQUI para baixar.

;)

4 de junho de 2009

História de hoje: A Fita!? - Ainda não acredito!

Lista Complementar - Estatística

Para fazer o download CLIQUE AQUI.

Para descontrair...

Você sabia que:

* ...Que o carbono foi preso em uma cadeia alicíclica?
* ...Que quando o Carbono foi preso ele disse que tinha direito a 4 ligações???
* ...Que 12 átomos de Carbono e uns 20 de Hidrogênio foram à igreja?
* ...e Que os átomos anteriores estavam se benzeno??
* ...Que você não entendeu a piada??
* ...Que quem escreveu isso foi um cara muito inteligente???

29 de maio de 2009

XNA Creators Club Online

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.