terça-feira, 30 de março de 2010

Metabuscadores combinam forças de vários sites de pesquisa

Quando o assunto é pesquisa virtual, um nome surge quase que automaticamente na cabeça dos internautas: Google. Segundo dados da empresa de monitoração de tráfego Hitwise, a companhia detém 70,95% do mercado mundial de buscas.

Mas o que pouca gente sabe é que existem ferramentas que podem ser até mais eficazes que o próprio Google.

Poucos sabem que existem ferramentas que podem ser até mais eficazes que o Google

São os chamados metabuscadores, programinhas que varrem a internet em busca de informação utlizando vários sites de pesquisa ao mesmo tempo.

O Gluwi (gluwi.com.br) é uma alternativa brasileira num mercado dominado por sites estrangeiros. Ele pesquisa nos sites YouTube, Google, Wikipedia, Flickr e nos principais jornais do Brasil. Há ainda versões em inglês e espanhol.

A interface é limpa e amigável --o Gluwi mostra tudo na mesma aba do navegador, mas os resultados dos sites não se misturam -são exibidos em janelas separadas para facilitar a visualização. O aplicativo oferece ainda previsão do tempo e horóscopo.

Algumas opções

Para utilizar os bancos de dados do Google, do Yahoo! e do Bing simultaneamente, consulte o Dogpile (dogpile.com), o Clusty (clusty.com) ou o Metacrawler (metacrawler.com). O Clusty mostra resultados em português.

O Sidekiq (sidekiq.com) compila uma quantidade impressionante de ferramentas, além de facilitar a pesquisa avançada do Google, pré-inserindo códigos no campo de busca que podem ajudar bastante o usuário a encontrar arquivos específicos, como apresentações, livros e músicas.

O ChaCha ('[chacha.com]":http://chacha.com) e o Mahalo (mahalo.com´) seguem a linha do Yahoo! Respostas (br.answers.yahoo.com). A ideia é montar um banco de dados com informações geradas pelos próprios internautas.

Busca social

Se a intenção é saber o que as pessoas estão falando em tempo real sobre um determinado tema, o Who's Talkin (whostalkin.com) é o endereço certo. Ele é capaz de realizar buscas em sites como Twitter, Wordpress, Facebook e MySpace, entre dezenas de outros, e mostra apenas o que foi publicado no momento em que a pesquisa foi feita.


Fonte: Folha Online

domingo, 28 de março de 2010

Gênio russo esnoba prêmio de US$ 1 milhão após solucionar problema clássico

O matemático russo Grigory Perelman, 44, considerado um dos maiores gênios vivos do mundo, declarou ontem que não tem interesse em receber o prêmio de US$ 1 milhão a que tem direito por ter resolvido a chamada Conjectura de Poincaré.
Em seu apartamento infestado de baratas em São Petersburgo, Perelman afirmou, sem abrir a porta: “tenho tudo o que quero”, segundo informou o jornal britânico Daily Mail.
Na última semana, uma instituição dos Estados Unidos reconheceu que o estudioso russo demonstrou a Conjectura de Poincaré, que desafiava os matemáticos há mais de um século.
O matemático francês Jules Henri Poincaré (1854-1912) estimou que, de forma simplificada, qualquer espaço tridimensional sem furos seria equivalente a uma esfera esticada.
Poincaré e os matemáticos que vieram depois dele acreditavam que a proposta estaria correta, mas não conseguiram uma prova algébrica sólida para elevar a conjectura à categoria de teorema.
A complexidade do assunto levou o Instituto de Matemática de Clay a incluir o problema entre os “sete desafios do milênio”. Para cada desafio que fosse solucionado, o instituto prometeu pagar um prêmio de US$ 1 milhão (cerca de R$ 1,78 milhão).
Na semana passada, James Carlson, diretor do instituto, reconheceu a façanha de Perelman e anunciou que a Conjectura de Poincaré é o primeiro dos sete desafios a ter solução.

A vizinha Vera Petrovna afirmou ao jornal britânico que já esteve no flat do matemático. “Ele tem apenas uma mesa, um banquinho e uma cama com um lençol sujo que foi deixado ali pelos antigos donos – uns bêbados que venderam o apartamento para ele”.
“Estamos tentando acabar com as baratas nesse quarteirão, mas elas se escondem na casa dele”, acrescentou.
Esse não é o primeiro prêmio esnobado por Perelman. Há quatro anos, ele não apareceu para receber a medalha Fields da União Internacional de Matemática.


Fonte: http://noticias.uol.com.br/ultimas-noticias/internacional/2010/03/23/genio-russo-esnoba-premio-de-us-1-milhao-apos-solucionar-problema-classico.jhtm

Outra reportagem: http://www.planetauniversitario.com/index.php?option=com_content&view=article&id=13020:perelman-o-cientista-que-recusou-o-premio-de-us-1-milhao&catid=56:ciia-e-tecnologia&Itemid=75

Vaga para técnico de informática

Formação Acadêmica: Nível médio/ Curso técnico em informática, tecnologia
da informação ou áreas correlatas.

Experiência: Experiência na programação e manutenção de softwares capazes
de gerir recursos (controle da produção, seqüenciamento da produção)
destinados à produção. Noções de Gestão de Qualidade.

Atribuições do cargo: Realizar o suporte para manutenção e aprimoramento
do software SCIENTIA de controle de recursos, além da operação diária
mesmo.

Carga horária: 40 horas semanais

Salário: R$1.082,00 + Transporte + vale alimentação + Assistência Médica +
Acesso a clubes e colônias de férias + Convênio com farmácias, livraria+
desconto em cursos+Vitalmed, dentre outros benefícios.

Interessados devem enviar currículo para:

lorena.dantas@cathoconsultoria.com.br
mvianna@cathoconsultoria.com.br

quinta-feira, 25 de março de 2010

LTIII - Trabalho de MVC

Pessoal,
Está disponível no link a seguir o trabalho de MVC:
http://www.4shared.com/file/249315047/9de33834/TrabalhoDicionarioVisualConcei.html


Abaixo segue o conteúdo do arquivo:

Você está estagiando no GIA - Grupo de Informática Aplicada, e sua principal atividade é desenvolver software que auxiliem e apliquem os resultados das pesquisas.

O GIA está desenvolvendo um Dicionário Visual de Conceitos. A idéia desse dicionário é permitir que pessoas surdas tenham uma explicação on-line sobre determinada área de conhecimento. O dicionário disponibiliza um conjunto de conceitos fundamentais em determinada área. O usuário ao clicar na palavra é exibido um vídeo onde uma interprete de LIBRAS apresenta as definições do conceito selecionado.

Para melhor ilustração veja o dicionário visual desenvolvido pelo NEPES no endereço:
http://www.sj.cefetsc.edu.br/~nepes/dicionarios_ciencias.htm


A aplicação deve conter as seguintes funcionalidades:

1.    Cadastrar área de conhecimento;
2.    Cadastrar conceitos de determinada área de conhecimento;
3.    Listar as áreas de conhecimento disponíveis;
4.    Listar os conceitos relacionados a determina áreas de conhecimento;
5.    Exibir filme associado ao conceito selecionado;


Obs.
1.    O objetivo dessa atividade é a utilização adequada do MVC e dos padrões de projeto apresentados no item 2.

2.    Use os padrões de projeto: Front Controller, Command, Singleton

3.    Realmente o GIA está desenvolvendo um trabalho relacionado com o exposto acima. Irei escolher o melhor trabalho apresentado para ser adaptado e incorporado como ferramenta de um artigo. 

Bom trabalho.

domingo, 21 de março de 2010

Aprendendo JavaCC

"Java Compiler Compiler [tm] (JavaCC [tm]) is the most popular parser generator for use with Java [tm] applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar".

O  Java Compiler Compiler – javacc, poder ser obtido do site: https://javacc.dev.java.net/

O javacc é disponibilizado em um arquivo zipado. Na estrutura de diretório descompactado existe o arquivo javacc.jar dentro da subpasta lib. Além desse arquivo .jar existem diversos exemplos que devem ser estudados para facilitar o entendimento da ferramenta. Comece com os exemplos da subpasta: SimpleExamples e siga o arquivo README contido nessa pasta.

Para compilar esses exemplos via linha de comando siga uma das opções descritas a seguir. Nas opções 1 e 2 considera-se que vc está na pasta da gramática Simple1.jj que será compilada.
 
Opção 1: Crie uma variável de ambiente CLASSPATH, caso não exista. Inclua ou edite essa variável inserindo o caminho completo do arquivo javacc.jar. Deve ser incluído o nome do arquivo também. Considerando que o arquivo .JAR esteja na pasta c:\Java\javacc\lib. No classpath deve ser inserido: c:\Java\javacc\lib\javacc.jar. Compile a gramática Simple1.jj com o comando a seguir:
java javacc Simple1.jj

ou 

Opção 2: Indique via linha de comando o classpath:

java -cp c:\Java\javacc\lib\javacc.jar javacc Simple1.jj

ou

Opção 3: Descompacte o arquivo .jar em determinada pasta, com o comando a seguir:
jar -xf javacc.jar

Considerando que o arquivo .jar foi descompactado na pasta: c:\Java\javacc\lib e que vc está nessa pasta compile a gramática Simple1.jj na linha de comando da seguinte forma:

java javacc c:\Java\javacc\examples\SimpleExamples\Simple1.jj


Sugiro que seja seguida a opção 1 ou 2. Os comandos a seguir podem ser úteis para identificar alguns problemas que podem ocorrer nesse processo:

set classpath - exibe o classpath configurado

jar -tf javacc.jar - exibe todos os arquivos contidos no arquivo .jar


Recomendo os seguintes links:
JavaCC [tm]: Documentation Index
https://javacc.dev.java.net/doc/docindex.html

Possui uma gramática para pascal
http://blogs.sun.com/pascalcompilerinjavacc/entry/pascal_grammer_in_javacc

Esse artigo é muito bom e esclarece vários pontos
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-cooltools.html

Notação EFBN
http://pt.wikipedia.org/wiki/Formalismo_de_Backus-Naur

Plug-in do JavaCC para Eclipse
Downlload       :  http://sourceforge.net/projects/eclipse-javacc
Documentação:  http://eclipse-javacc.sourceforge.net/

Utilização do JavaCC na construção de um compilador
http://www.dicas-l.com.br/dicas-l/20040731.php

Boa leitura.

quinta-feira, 18 de março de 2010

Lista de Algoritmo: Instrução de Seleção mais uma

Pessoal,Está disponível para download no link a seguir outra lista sobre instrução de seleção.  

http://www.4shared.com/file/243806629/c9eee7d4/Lista_Instrucao_Selecao_III.html

Abaixo segue conteúdo da mesma:

1.    Uma companhia de seguros tem três categorias de seguros baseadas na idade e ocupação do segurado. Somente pessoas com pelo menos 18 anos e não mais de 70 anos podem adquirir apólices de seguros. Quanto às classes de ocupações foram definidos três grupos de risco. A tabela a seguir fornece as categorias em função da faixa de idade e do grupo de risco:

Idade     Baixo    Médio    Alto
18 a 24     7     8    9
25 a 40     4    5    6
41 a 70     1    2    3


Faça um programa que receba a idade e o grupo de risco (b. m ou a) e determine e imprima o código do seguro.

2.    Faça um programa que receba o valor do salário mínimo, o número de horas trabalhadas, o número de dependentes do funcionário e a quantidade de horas extras trabalhadas. Calcule e imprima o salário a receber do funcionário seguindo as regras abaixo:

a.    o valor da hora trabalhada é igual a 1/5 do salário mínimo;
b.    o salário do mês é igual ao número de horas trabalhadas vezes o valor da hora trabalhada;
c.    para cada dependente acréscimo de 32 reais;
d.    para cada hora extra trabalhada o cálculo do valor da hora trabalhada acrescida de 50%;
e.    o salário bruto é igual ao salário do mês mais os valores dos dependentes mais os valores das horas extras;
f.    cálculo do valor do imposto de renda retido na fonte segue a tabela abaixo:

IRRF            Salário Bruto
Isento           Inferior a 200
10%             de 200 até 500
20%            superior a 500

g.     o salário líquido é igual ao salário bruto menos IRRF;
h.    a gratificação segue a próxima tabela:


Salário Líquido     Gratificação
Até 350                 100 reais
Superior a 350      50 reais

i.    o salário a receber do funcionário é igual ao salário líquido mais a gratificação.

3.    Faça um algoritmo que leia 3 valores (A, B e C) e verifica se eles formam ou não um triângulo. Em caso positivo, calcular o perímetro do triângulo e em caso negativo, calcular a área do trapézio que tem A e B como base e C como altura. Para qualquer um dos casos, deve ser apresentada uma mensagem correspondente.


4.    Ler 2 valores A e B. Se A for igual a B devem ser lidos novos valores para A e B.Se A for menor que B calcular e imprimir a soma dos números ímpares existentes entre A(inclusive) e B(inclusive).Se A for maior que B calcular e imprimir a média aritmética dos múltiplos de 3 existentes entre A(inclusive) e B(inclusive). Considere que só serão informados valores inteiros positivos.

5.    Tendo como dados de entrada a altura e o sexo de uma pessoa (M - masculino e F - feminino), construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas: - para homens: (72.7*h)-58 - para mulheres: (62.1*h)-44.7

6.    Um banco concederá um crédito especial aos seus clientes, variável com o saldo médio no último ano. Faça um algoritmo que leia o saldo médio de um cliente e calcule o valor do crédito de acordo com a tabela abaixo. Mostre uma mensagem informando o saldo médio e o valor do crédito.

Saldo médio     Percentual
de 0 a 200        nenhum crédito
de 201 a 400    20% do valor do saldo médio
de 401a 600     30% do valor do saldo médio
acima de 601    40% do valor do saldo médio


7.    Um usuário deseja um algoritmo onde possa escolher que tipo de média deseja calcular a partir de 3 notas. Faça um algoritmo que leia as notas, a opção escolhida pelo usuário e calcule a média. 1 indica média aritmética e 2 média ponderada.

8.    Uma empresa concederá um aumento de salário aos seus funcionários, variável de acordo com o cargo, conforme a tabela abaixo. Faça um algoritmo que leia o salário e o cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento.  Mostre o salário antigo, o novo salário e a diferença.

Código  Cargo     Percentual
101        Gerente         10%
102        Engenheiro   20%
103        Técnico         30%

9.    Escrever um algoritmo que lê um conjunto de 4 valores i, a, b, c, onde i é um valor inteiro e positivo e a, b, c, são quaisquer valores reais e os escreva. A seguir:
a.    Se i=1 escrever os três valores a, b, c em ordem crescente.
b.    Se i=2 escrever os três valores a, b, c em ordem decrescente.
c.    Se i=3 escrever os três valores a, b, c de forma que o maior entre a, b, c fique entre os outros dois.

10.    Escrever um algoritmo que lê as 3 notas obtidas por um aluno nas 3 verificações e a média dos exercícios que fazem parte da avaliação. Calcular a média de aproveitamento, usando a fórmula: MA = (Nota1 + Nota2 x 2 + Nota3 x 3 + ME )/7 A atribuição de conceitos obedece a tabela abaixo:

Média      Conceito
 9,0         A
7,5 e < 9,0     B
6,0 e < 7,5     C
4,0 e < 6,0     D
< 4,0           E

O algoritmo deve escrever do aluno, suas notas, a média dos exercícios, a média de aproveitamento, o conceito correspondente e a mensagem: APROVADO se o conceito for A,B ou C e REPROVADO se o conceito for D ou E.

11.    Leia a velocidade máxima permitida em uma avenida e a velocidade com que o motorista estava dirigindo nela e calcule a multa que uma pessoa vai receber, sabendo que são pagos:
a.    50 reais se o motorista estiver ultrapassar em até 10km/h a velocidade permitida (ex: velocidade máxima: 50km/h; motorista a 60km/h ou a 56km/h);
b.    100 reais, se o motorista ultrapassar de 11 a 30 km/h a velocidade permitida;
c.    200 reais, se estiver acima de 31km/h da velocidade permitida.

12.    Um posto está vendendo combustíveis com a seguinte tabela de descontos:
        Álcool:          até 20 litros, desconto de 3\% por litro.
                            acima de 20 litros, desconto de 5\% por litro.
        Gasolina:        até 20 litros, desconto de 4\% por litro.
                             acima de 20 litros, desconto de 6\% por litro.

Escreva um algoritmo que leia o número de litros  vendidos, o tipo de combustível (codificado da seguinte forma: A - álcool, G - gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço da gasolina é de R$ 1,20 o litro e o álcool R$ 0,90.

segunda-feira, 15 de março de 2010

30 dicas para escrever bem ...

1. Deve evitar ao máx. a utiliz. de abrev., etc.

2. É desnecessário  fazer-se empregar de um estilo de escrita demasiadamente rebuscado. Tal prática advém de esmero excessivo que raia o exibicionismo narcisístico.

3. Anule aliterações altamente abusivas.

4. não esqueça as maiúsculas no inicio das frases.

5. Evite lugares-comuns como o diabo foge da cruz.

6. O uso de parêntesis  (mesmo quando for relevante) é desnecessário.

7. Estrangeirismos estão out; palavras de origem portuguesa estão in.

8. Evite o emprego de gíria, mesmo que pareça nice, sacou??...então valeu!

9. Palavras de baixo calão, porra, podem transformar o seu texto numa merda.

10. Nunca generalize: generalizar é um erro em todas as situações.

11. Evite repetir a mesma palavra pois essa palavra vai ficar uma palavra repetitiva. A repetição da palavra vai fazer com que a palavra repetida desqualifique o texto onde a palavra se encontra repetida.

12. Não abuse das citações. Como costuma dizer um amigo meu: "Quem cita os outros não tem ideias próprias".

13. Frases incompletas podem causar.

14. Não seja redundante, não é preciso dizer a mesma coisa de formas diferentes; isto é, basta mencionar cada argumento uma só vez, ou por outras palavras, não repita a mesma idéia várias vezes.

15. Seja mais ou menos específico.

16. Frases com apenas uma palavra? Jamais!

17. A voz passiva deve ser evitada.

18. Utilize a pontuação corretamente o ponto e a vírgula pois a frase poderá ficar sem sentido especialmente será que ninguém mais sabe utilizar o ponto de interrogação

19. Quem precisa de perguntas retóricas?

20. Conforme recomenda a A.G.O.P, nunca use siglas desconhecidas.

21. Exagerar é cem milhões de vezes pior do que a moderação.

22. Evite mesóclises. Repita comigo: "mesóclises: evitá-las-ei!"

23. Analogias na escrita são tão úteis quanto chifres numa galinha.

24. Não abuse das exclamações! Nunca!!! O seu texto fica horrível!!!!!

25. Evite frases  exageradamente longas pois dificultam a compreensão da idéia nelas contida e, por conterem mais que uma  idéia central, o que nem sempre torna o seu conteúdo acessível, forçam, desta forma, o pobre leitor a separá-la nos seus diversos componentes de forma a torná-las compreensíveis, o que não deveria ser, afinal de contas, parte do processo da leitura, hábito que devemos estimular através do uso de frases mais curtas.

26. Cuidado com a hortografia, para não estrupar a língúa portuguêza.

27. Seja incisivo e coerente, ou não.

28. Não  fique escrevendo (nem falando) no gerúndio. Você vai estar deixando seu texto pobre e estar causando ambigüidade, com certeza você vai estar deixando o conteúdo esquisito, vai estar ficando com a sensação de que as coisas ainda estão acontecendo. E como você vai estar lendo este texto, tenho certeza de que você vai estar prestando atenção e vai estar repassando aos seus amigos, que vão estar entendendo e vão estar pensando em não estar falando desta maneira irritante.

29. Outra barbaridade que tu deves evitar chê, é usar muitas expressões que acabem por denunciar a região onde tu moras, carajo!. .. nada de  mandar esse trem...vixi..entendeu bichinho?

30. Não permita que seu  texto acabe por rimar, porque senão ninguém irá aguentar já que é insuportável o mesmo final escutar, o tempo todo sem parar.

 ***************************************
Autoria atribuída ao prof. João Pedro da UNICAMP.

Circuito molecular transforma luz em eletricidade

Redação do Site Inovação Tecnológica - 24/02/2010


Esta é a primeira vez que cientistas demonstraram a possibilidade de usar as
ondas superficiais, chamadas plasmons de superfície, para induzir o
movimento de elétrons, produzindo eletricidade em nanoescala.

*Plasmons de superfície*

Cientistas da Universidade da Pensilvânia, nos Estados Unidos, criaram um
circuito molecular capaz de transformar luz em corrente elétrica utilizando
os plasmons de superfície, pacotes de energia que flutuam sobre a superfície
dos metais, em vez de viajar pelo seu interior.

Os plasmons de superfície estão na crista da onda de uma série de pesquisas
que estão criando a área da plasmônica, um campo emergente da tecnologia em
nanoescala frequentemente chamado de "luz por meio de fios" - veja mais em
Plasmônica: em busca da computação à velocidade da luz.

Esta é a primeira vez que cientistas demonstraram a possibilidade de usar o
fenômeno, que se verifica em nanoescala, para induzir o movimento de
elétrons, produzindo eletricidade.

*Aplicações*

Em 2005, um outro grupo de cientistas há havia descoberto que há uma
analogia entre fótons e elétrons. O fenômeno vem sendo explorado em diversas
áreas.

A descoberta da geração de eletricidade induzida pelos plasmons de
superfície abre caminho não apenas para novas formas de transformar a luz do
Sol em eletricidade, mas também de construir uma família inteiramente nova
de componentes potencialmente substitutos dos atuais componentes
eletrônicos, como os transistores, que poderiam ser acionados diretamente
por luz, em vez de eletricidade.

O dispositivo consiste de um conjunto de moléculas de ouro enfileiradas,
formando o que é conhecido tecnicamente como um transdutor, um dispositivo
capaz de transformar um tipo de energia em outro.

*Ler matéria na íntegra em*:
http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=circuito-molecular-transforma-luz-eletricidade&id=010115100224&ebol=sim

O professor está sempre errado - Jô Soares

O material escolar mais barato que existe na praça é o professor!
É jovem, não tem experiência.
É velho, está superado.
Não tem automóvel, é um pobre coitado.
Tem automóvel, chora de "barriga cheia'.
Fala em voz alta, vive gritando.
Fala em tom normal, ninguém escuta.
Não falta ao colégio, é um 'caxias'.
Precisa faltar, é um 'turista'.
Conversa com os outros professores, está 'malhando' os alunos.
Não conversa, é um desligado.
Dá muita matéria, não tem dó do aluno.
Dá pouca matéria, não prepara os alunos.
Brinca com a turma, é metido a engraçado.
Não brinca com a turma, é um chato.
Chama a atenção, é um grosso.
Não chama a atenção, não sabe se impor.
A prova é longa, não dá tempo.
A prova é curta, tira as chances do aluno.
Escreve muito, não explica.
Explica muito, o caderno não tem nada.
Fala corretamente, ninguém entende.
Fala a 'língua' do aluno, não tem vocabulário.
Exige, é rude.
Elogia, é debochado.
O aluno é reprovado, é perseguição.
O aluno é aprovado, deu 'mole'.
É, o professor está sempre errado, mas, se conseguiu ler até aqui
....agradeça a ele!

segunda-feira, 8 de março de 2010

IFBA abre concurso com 148 vagas para professor efetivo nos 16 campi

O Instituto Federal de Educação, Ciência e Tecnologia da Bahia (IFBA), antigo Cefet, abre inscrições, no dia 09 de março, para Concurso Público de Provas e Títulos referente a 148 vagas para os cargos de professor.

São várias vagas para a área de informática. Santo Amaro são 4 vagas.

Mais informações em:
http://www.portal.ifba.edu.br/noticias/ifba-abre-concurso-com-148-vagas-para-professor-efetivo-nos-16-campi.html

domingo, 7 de março de 2010

LTIII - Lista_Padrao_Projeto

Pessoal,
Esqueci de publicar também o conteúdo da lista. Segue abaixo.

1.Uma boa prática no desenvolvimento de aplicações é o registro de exceções, de informações de controle ou de segurança nas aplicações. Chamamos isso de Log da aplicação. Uma aplicação não precisa ter mais do que uma classe gerando e registrando as informações do log. Nesse contexto, o padrão de projeto Singleton pode ser implementado. Portanto, aplique esse padrão nas classes apresentadas a seguir. A classe Logger usa a variável ativo para indicar se as informações podem ser exibidas, enquanto que a classe Aplicacao é a classe que utiliza dois objetos de tipo Logger. A classe Windows é a principal.

public class Logger {
/* por default não imprime o log */
private boolean ativo = false;
public Logger() {}
public boolean isAtivo() {
return this.ativo;
}
public void setAtivo(boolean b) {
this.ativo = b;
}
public void log(String s) {
      if(this.ativo)
System.out.println("LOG :: " + s);
   
}
}

Agora a classe Aplicacao:
public class Aplicacao {
public static void main(String[] args) {
Logger log1 = new Logger();
log1.setAtivo(true);
log1.log("PRIMEIRA MENSAGEM DE LOG");
Logger log2 = new Logger();
log2.log("SEGUNDA MENSAGEM DE LOG");
}
}

Resultado da aplicação antes de aplicar o padrão:
PRIMEIRA MENSAGEM DE LOG

Ao aplicar o padrão, a classe aplicação deverá utilizar o mesmo objeto do tipo Logger nas duas chamadas ao método log, portanto o resultado da aplicação será:
PRIMEIRA MENSAGEM DE LOG
SEGUNDA MENSAGEM DE LOG
Passo 1: Torne o construtor de Logger privado;
Passo 2: Crie uma variável estática logger para conter uma referência única ao objeto de Logger; instancie a variável com null;
Passo 3: Crie um método estático getInstance. Se não existir uma referencia em logger crie uma instancia de Logger  e atribuia a logger, em seguida retorne logger; se existe retornar a referência para logger.

Passo 4: Na classe Aplicacao, substitua todos os “new Logger()” pelo uso do método estático getInstance criado no passo 3;
Passo 5: Teste o código.

2.    Considere que sua aplicação agora vai precisar especializar o comportamento de Logger. Teremos agora as classes: LoggerEventViewer  – que  registra os eventos no EventViewer; LoggerFile – que registra o evento em arquivo de sistema ou LoggerDatabase – que registra o evento em um banco de dados. Considere que a aplicação pode escolher qualquer uma dessas formas de registro de log. Mostre como esse problema pode ser resolvido utilizando o padrão de projeto Strategy. Utilize as classes: Logger e Aplicacao da questão anterior.

3.    Você foi contratado por uma empresa que desenvolve aplicações para edição e manipulação de imagens. Seu chefe apresentou para você as seguintes classes:
public class Visualizador{

        public void Visualizar(){
            Imagem img = nem Imagem();
            img.carregar();
            img.exibir();
            img.fechar();

        }
}

public class Imagem{
    public void carregar() {
           System.out.println("Imagem BMP:");
           System.out.println("Carregando imagem BMP...");
           System.out.print("...");
           System.out.print("...");
           System.out.print("");
    }

    public void exibir() {
           System.out.println("Exibindo imagem por 20 segundos.");
    }

    public void fechar() {
           System.out.println("Fechando imagem.");
    }
}

Essas classes são responsáveis por carregar imagens do tipo BMP. Seu chefe mandou que você alterasse o código de forma que a criação de novos visualizadores de imagem ficasse mais flexível. Crie as seguintes classes: VisualizadorJPG – que visualiza imagens do tipo JPG e ImagemJPG – que trata de imagens JPG. O código deve ser desenvolvido de forma que a criação de qualquer outro visualizador seja rápida e flexível. Para resolver esse problema altere o código acima usando o padrão Factory Method.

sábado, 6 de março de 2010

sexta-feira, 5 de março de 2010

Lista de Algoritmo: Instrução de Seleção

Turma,
Está disponível para download a lista de exercício de algoritmo no link:

http://www.4shared.com/file/234889732/e194092a/Lista_Instrucao_Selecao.html

Essa lista trata de instrução de seleção. Abaixo segue o conteúdo da mesma:

1.    Faça um algoritmo que receba dois números e imprima o menor dos dois.

2.    Faça um algoritmo que receba a idade de uma pessoa e imprima mensagem de maioridade ou não.

3.    Uma empresa decide dar um aumento de 30% aos funcionários cujo salário é inferior a 500 reais. Escreva um algoritmo que receba o salário de um funcionário e imprima o valor do salário reajustado ou uma mensagem caso o funcionário não tenha direito ao aumento. 

4.    Faça um algoritmo que receba a altura (H) e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando as seguintes fórmulas:
                    para homens: (72.7 * H) – 58
                   para mulheres: (62.1* H) - 44.7

5.    Elabore um algoritmo que receba uma senha do usuário e compare com a string: "ASDFG". Se os valores forem iguais, o seu algoritmo deve informar a mensagem "Acesso liberado", em caso contrário, a mensagem a aparecer é "Acesso negado".

6.    Escreva um algoritmo que leia um valor qualquer. A seguir, mostre uma mensagem dizendo em qual dos seguintes intervalos: [0,25] (25,50], (50,75], (75,100] o número está. Por exemplo, (25,50] indica valores maiores que 25 Ex: 25,00001 e menores ou igual a 50 Ex.49,0001; 49,99; 50.

7.    Faça um algoritmo que mostre se uma pessoa é ou não maior de idade.

8.    Receber valores de base e altura de um triângulo e verificar se são valores válidos (positivos maiores que zero). Em caso afirmativo, calcular a área do triângulo.

9.    Faça um algoritmo em que o usuário digite a sua idade. O algoritmo deve informa quantos anos o usuário falta para fica de maior. A idade do usuário deve ser menor que 18.

10.    Construa um algoritmo para calcular o total do custo da mão de obra de uma reforma que será realizada no seu apartamento. O pedreiro cobra R$10,00 a hora e o pintor R$8,00. Sendo informado o total de horas que serão utilizadas pelo pedreiro e o total de horas que serão utilizadas pelo pintor.

11.    Ler um numero entre 1 e 12, e escrever o mês correspondente. Caso o usuário digite um número fora deste intervalo, deverá aparecer um uma mensagem, informando que não existe mês com este número.

12.    Ler o salário fixo e o valor das vendas efetuadas pelo vendedor de uma empresa. Sabendo-se que ele recebe uma comissão de 3% sobre o total das vendas até R$ 1.500,00 mais 5% sobre o que ultrapassar este valor, calcular e escrever o seu salário total.

13.    Escreva um algoritmo que calcule o imposto de renda a partir da renda mensal informada pelo usuário. As regras são : Renda mensal até R$ 1164,00: Isento de imposto de renda. Renda mensal de R$ 1164,01 a R$ 2326,00: 15% de imposto de renda. Renda mensal superior a R$ 2326,01: 27,5% de imposto de renda

14.    Um triângulo cujos 3 lados sejam iguais é denominado TRIÂNGULO EQUILATERO.Um triângulo  onde apenas 2 lados sejam iguais é denominado TRIÂNGULO ISÓSCELES. Um triângulo onde todos os lados são diferentes é denominado TRIÂNGULO ESCALENO. Ao saber os lados de um triângulo, eles só formam um triângulo de verdade se não existe um lado que seja maior que a soma dos outros dois. Conhecendo estas condições, faça um algoritmo que leia os lados de um triângulo e informe o tipo de triângulo que ele forma.

15.    O departamento que controla o índice de poluição do meio ambiente mantém 3 grupos de indústrias  que são altamente poluentes do meio ambiente. O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1º  grupo são intimadas a suspenderem suas atividades, se o índice cresce para 0,4 as do 1º  e 2º grupo são intimadas a suspenderem suas atividades e se o índice atingir 0,5 todos os 3 grupos devem ser notificados a paralisarem suas atividades. Fazer um algoritmo que lê o índice de poluição medido e emitir a notificação adequada aos diferentes grupos de empresas, sabendo-se que a escala varia de 0.05.

16.    Escreva um algoritmo para ler as notas da 1ª e 2ª  avaliações de um aluno, calcular e imprimir a média semestral. Faça com que o algoritmo só aceite notas válidas ( uma nota válida deve pertencer ao intervalo [0,10]. Cada nota deve ser validada separadamente. Deve ser impressa a mensagem ”Nota inválida”caso a nota informada não pertença ao intervalo [0,10].

17.    Entrar com um número e informar se ele é divisível por 10, ou é divisível por 5, ou é divisível por 2 ou senão é divisível por nenhum destes.

18.    Uma empresa paga R$10.00 por hora normal trabalhada e R$ 15.00 por hora extra. Escreva um algoritmo que leia o total de horas normais e o total de horas extras trabalhadas por um empregado em um ano e calcule o salário anual deste trabalhador e o imposto devido pelo trabalhador. Considerando que o trabalhador deve pagar 10% de imposto se o seu salário anual for menor ou igual a R$ 12000.00. Caso o salário seja maior que este valor o imposto devido é igual a 10% sobre R$ 12000.00 mais 25% sobre o que passar de R$ 12000.00.

19.    Faça um algoritmo que informe se um dado ano é ou não bissexto. Obs: um ano é bissexto se ele for divisível por 400 ou se ele for divisível por 4 e não por 100.

20.    Com base na tabela abaixo, escreva um algoritmo que leia o código de um item e a quantidade deste item. A seguir, calcule e mostre o valor da conta a pagar.
Código    Especificação    Preço Unitário
1    Cachorro Quente     R$ 4.00
2    X-Salada         R$ 4.50
3    X-Bacon    R$ 5.00
4    Torrada simples     R$ 2.00
5    Refrigerante         R$ 1.50

21.    Uma empresa decidiu dar uma gratificação de Natal aos seus funcionários, baseada no número de horas extras e no número de horas que o funcionário faltou ao trabalho. O valor do prêmio é obtido pela consulta na tabela a seguir, em que:
H = (Número de horas extras) - (2/3 * (Números de horas-falta))

H (minutos)         Prêmio ($)
>2400             500
1800<= 2400    400
1200<= 1800    300
600<=1200     200
<=600     100 


22.    Faça um algoritmo que receba os coeficientes a, b e c de uma equação do 2 grau ax2 + bx + c = 0, calcule e mostre os valores de delta e das raízes da equação. O seu algoritmo deverá informar a condição de delta, se negativo, nulo ou positivo.

23.    Dado um número indicar se ele é primo.

24.    Dado um número indicar se ele é par ou impar.




Bons estudos.

Curso de informática para deficientes físico e surdos

CURSO DE INFORMÁTICA BÁSICA PARA PESSOAS COM DEFICIÊNCIA FÍSICA E/OU AUDITIVA - GRATUITO no SENAI BAHIA.

Pré – Requisitos:
· Idade Mínima 16 anos
· Ensino Fundamental Completo

Turno: Vespertino
Período: 05/04/2010 a 28/05/2010

Local: SENAI Cetind - Avenida Luis Tarquínio Pontes 938, Aracuí - Lauro de Freitas.

Informações: (71) 3534-8090

Fonte: COMBASE-I

quinta-feira, 4 de março de 2010

24 edições da Linux Magazine já têm artigos disponíveis para download

A Linux Magazine acaba de liberar para download todos os artigos das edições 22, 23 e 24. Com isso, todos os artigos das 24 primeiras edições da revista podem ser baixados individual e gratuitamente, em PDF.

A Linux Magazine acaba de liberar para download todos os artigos das edições 22, 23 e 24. Com isso, todos os artigos das 24 primeiras edições da revista podem ser baixados individual e gratuitamente, em PDF.
A edição 22, com tema de capa “Servidor à prova de invasão”, disseca a ação dos rootkits no Linux 2.6 e apresenta os frameworks de segurança “concorrentes” AppArmor e SELinux.
Com o tema de capa “LAMP”, a edição 23 faz uma introdução ao Apache com detalhes de configuração bem interessantes, além de apresentar alguns recursos mais avançados do MySQL como stored procedures, triggers e views. Ela também mostra como usar o módulo Tsearch2 do PostgreSQL para buscas mais rápidas, e ainda explica como usar o PHP como “cola” para toda a infraesturura de um website.
Por último (por enquanto), a Linux Magazine 24 (“Virtualização”) compara a fundo todas as principais tecnologias de virtualização disponíveis para GNU/Linux. Introduz o Xen 3, explica as vantagens da virtualização com o projeto livre Linux VServer e ensina a montar um cluster de servidores VMware. Baixe já os seus artigos e expanda sua biblioteca digital.” [referência: linuxmagazine.com.br]

Pesquisar neste blog

Google