4 de dezembro de 2010

15 de outubro de 2010

Buteco dos Deuses - Blog: "Um Sábado Qualquer"




E ae pessoal, faz tempo que ninguem chega perto desse blog heim. 2 meses sem postagens...
Hoje clikei por engano no botão do Blog na minha barra de favoritos (Fika do lado do botão do NeoBux.com(Money, Money, Money... Money xD)) e começei a rever os posts (Figura South Park, a da bandeira de "Trinidade e Tobago" foi a melhor. xDD) e tava pensando em postar novamente, so que tinha desistido... ai como por encorajamento de uma força maior (Deus, eu acho...) visitei o Blog "Um Sábado Qualquer" e me deparei com a Tira no topo da postagem, ai não tive como não postar... Essa mereçeu. xD

Olhem nas estatisticas do Blog: Muita gente ainda corre atraz de "Numeros Piramidais" e "Arvore Binaria". xD

27 de agosto de 2010

NAIGHT BRUITI

19 de julho de 2010

Internet X Atendimento Bancário

Estava eu na net e vi essa matéria que saiu no Jornal da Globo[1], diz que os brasileiros estão utilizando mais a internet do que o caixas eletrônicos para fazer as transações bancárias.
Fica uma pergunta, é seguro mesmo fazer tudo isso via internet, mesmo no computador pessoal? talvez isso seja uma paranóia minha, mas tenho minhas dúvidas.

E, aproveitando que o assunto é segurança, temos 2 podcasts em português, Stay Safe[2] e i sh0t the seriff[3]

[1] http://g1.globo.com/jornal-da-globo/noticia/2010/07/internet-e-maior-canal-de-atendimento-bancario-do-pais.html
[2] http://www.staysafepodcast.com.br/
[3] http://www.naopod.com.br/

17 de julho de 2010

Videos






Nesse segundo vídeo.. faz lembrar daquela frase do mundo canibal: "Ser gordo é: Cantar sem medo de ser feliz" .. se vai vendo... ele se encaixa em várias requisitos do Ser gordo é... bom, não temos nenhum preconceito, mas porrra!!!! PORRAAAAAAAAAAAAAAAAAAAAAAAA o que você tem na cabeça?!
Merdaaaaaa?!
E não tem só gordinho fazendo.. deve ter 30 magrelos fazendo pior... ahhhhhhhhhhhhhhhhh Meu Deuss!

Algumas imagens divertidas?


Imagina a amanhã! pqp


Tenso!



É isso que agente fica fazendo nas férias! :S moscando...

15 de julho de 2010

O que o dinheiro não faz?!

4 de julho de 2010

O porquê dos nossos números serem escritos como nós os conhecemos hoje!

3 de julho de 2010

Cavaleiros Jedi´s



Para ser considerado um Cavaleiro Jedi é necessário passar na disciplina de AED II.

Parabéns aos ex-Padawan e novos Jedi´s:

- Diogo
- Fernando
- Leandro



kkkkkkkkkk

21 de junho de 2010

Manos do rap / roupa / moro com a minha mãe -- AlanAlecsander



Hoje um brother fez um Vlog. Foi um teste e ficou muito bom, não sei se vai agradar a todos, se não agradar te agradar, poste nos comentário do YouTube sua critica!

Este vídeo é de total responsabilidade do autor, este blog não apoia nada e o unico objetivo é o humor. Todos os direitos reservador ao autor...

Enfim, assistam!!!!!!!!!!!!!!!!!!!

15 de junho de 2010

Avatar The Last Airbender

Trazendo três trailer para vocês, promete ser um filme bomm!



8 de junho de 2010

Maratona de Programação 2010


Salve, pessoal

Aqui estão as fotos da 2º Maratona de Programação da FCSAC na UNIVAP Urbanova - 2010

Gostaria de postar os nomes das duplas vencedoras, se alguém tiver esta informação.

6 de junho de 2010

Lego Hello World

Vejam esse vídeo, para descontrair.
=p





Fantástico!

3 de junho de 2010

Vivendo do Ócio em São José dos Campos!

1 de junho de 2010

A História do Hacking!

The History of Hacking
Via: Online MBA

27 de maio de 2010

Novo ataque usa a navegação por abas


A New Type of Phishing Attack from Aza Raskin on Vimeo.



Um pesquisador desenvolveu um novo tipo de ataque phishing que aproveita o modo com que os navegadores lidam com navegação por abas e permite a um atacante usar um script em execução em uma guia para mudar completamente o conteúdo em outra. O ataque, demonstrado por Aza Raskin, da Mozilla, poderia ser usado para ataques altamente direcionados contra os clientes de um banco específico, serviço de Webmail ou de cartão de crédito.

Fonte: Threatpost

25 de maio de 2010

Infográfico da força das senhas

Infográfico da força das senhas




Fonte: ISTF

Aos 38 anos, baixista da banda Slipknot é encontrado morto

http://cdn.sparkart.net/outsidethenine/images/content/paul.jpg



Paul Gray, baixista da banda Slipknot foi encontrado morto na manhã desta segunda-feira, 24.

Segundo o site "TMZ", o corpo foi achado por funcionários do hotel onde o músico, de 38 anos, estava hospedado.

Ainda de acordo com o site, a polícia não encontrou evidências de ato criminal no quarto onde Gray foi encontrado. Ainda assim, será aberta uma investigação para determinar as causas de sua morte. A autópsia acontece na terça-feira, 25.

[LUTO]

24 de maio de 2010

Semana da FCSAC

Nos dias 25, 26,27 e 28 de Maio será comemorada a Semana da FCSAC.

Dentro desta semana as atividades volta para a área de TI:

25/05/2010 – 19h (terça-feira)
Maratona de Programação

26/05/2010 – 19h (quarta-feira)
Palestra: Administre sua TI com as melhores práticas do mercado

27/05/2010 – a partir das 19h (quinta-feira)
Palestra: Acessibilidade na Web
Palestra: MySQL O Banco de Dados Software livre mais Popular no Mundo

Para a Inscrições nas palestras será utilizado o AVA

Mais informações:
www.univap.br/semfcsac/
www1.univap.br/cccomp/

22 de maio de 2010

Write the Future

Tem propagandas que ficam marcadas na memória por motivos que variam de acordo com a história pessoal de cada indivíduo. No entanto, algumas poucas obras de arte conseguem extrapolar isso e se fixarem na memória coletiva da população. A nova campanha da fornecedora de material esportivo Nike parece ter cravado suas duas chuteiras nesta restrita segunda opção.

O comercial, que tem pouco mais de três minutos, irá estrear durante a final da Liga dos Campeões neste sábado e tem arrancados suspiros das pessoas que já o viram na internet. A campanha, cujo tema é "Write the future" (Escreva o futuro), mostra craques patrocinados pela empresa, como Didier Drogba (Costa do Marfim), Wayne Rooney (Inglaterra), Cristiano Ronaldo (Portugal) e Ronaldinho (Brasil), em situaçõs nas quais eles podem ser alçados ao estrelato ou ao fracasso absoluto.

Das feras presentes na campanha, apenas Ronaldinho ficou de fora do Mundial, mas mostrou que é bom de propaganda e desfilou sua habilidade contra os marcadores, ganhando uma imitação do astro da NBA Kobe Bryant, ala-armador do Los Angeles Lakers. O diretor da campanha é Alejandro Inarritu, diretor de filmes como "21 gramas" e "Babel".

E o comercial não é feito só de boleiros. O tenista Roger Federer e o personagem de desenho animado Homer Simpson também dão o ar da graça. De resto não dá para explicar, só assistindo. Veja abaixo o vídeo!

Noticias da semana!

Noticias da semana!


Google Street View coleta SSID, MAC e Payload de redes WiFi

O Google possui um serviço muito interessante e polêmico chamado Street View. Em operação desde 2007, o Street View possibilita a visualização panorâmica de ruas e avenidas de várias cidades do mundo a partir das interfaces do Google Maps e Google Earth. No Brasil, o lançamento do Street View será no segundo semestre de 2010 e incluirá fotografias de Belo Horizonte, São Paulo e Rio de Janeiro.

Veja na integra, essa matéria é muito boa!
http://sseguranca.blogspot.com/2010/05/google-street-view-coleta-ssid-mac-e.html

Polícia Federal desenvolve sistema para aumentar segurança de grampos telefônicos


A Polícia Federal (PF) espera implementar, em breve, um novo sistema tecnológico para realizar interceptações telefônicas, os chamados grampos legais. Segundo o diretor-geral da instituição, Luiz Fernando Corrêa, o novo software, bem como os novos procedimentos que vem sendo discutidos com o Conselho Nacional de Justiça (CNJ), darão maior controle e segurança ao recurso de investigação, evitando vazamentos e facilitando o controle pelo Poder Judiciário e pelo Ministério Público.

http://www.internetlegal.com.br/2010/05/policia-federal-desenvolve-sistema-para-aumentar-seguranca-de-grampos-telefonicos/


Alemanha investigará "espionagem" da Google

Ministério Público alemão iniciou um processo criminal para investigar se a empresa infringiu a lei ao capturar dados de Wi-Fi.
O Ministério Público alemão iniciou um processo criminal para investigar se a Google violou leis de proteção de dados quando coletou fragmentos de informações via Wi-Fi enquanto capturou imagens para sua aplicação de mapas Google Street View.





http://idgnow.uol.com.br/seguranca/2010/05/20/alemanha-investigara-espionagem-da-google/

Seu navegador deixa rastros mesmo sem os cookies

Estudo confirma suspeita de especialistas: não importa o que você faça, seus dados estão desprotegidos.
Mesmo sem os cookies, navegadores populares como o Internet Explorer e o Firefox enviam aos sites informações sobre o usuário em 94% do tempo, concluiu uma pesquisa da EFF (Electronic Frontier Foundtion), depois de reunir dados por alguns meses.

http://idgnow.uol.com.br/seguranca/2010/05/18/seu-navegador-deixa-rastros-mesmo-sem-os-cookies/

Megan Fox está fora do elenco de 'Transformers 3'
RIO - A atriz Megan Fox, de 24 anos, está fora do elenco de "Transformers 3". Na quarta-feira, um assessor da musa americana disse à revista "People" que ela não vai estrelar o próximo filme da franquia por vontade própria, negando rumores de que a atriz teria sido demitida. Citando fontes anônimas, a "Variety" informou que o diretor Michael Bay já procura outra pessoa para interpretar a heroína Mikaela Banes ao lado do ator Shia LaBeouf.





Google corre risco de pagar multa milionária por coleta ilegal de dados
Empresa pode pagar US$ 10 mil para cada vez que pegou informações de redes Wi-Fi desprotegidas por meio do Google Street View.

O roubo de dados de redes Wi-Fi desprotegidas nos EUA pode custar caro ao Google nos EUA. Isso porque a empresa pode desembolsar até US$10 mil para cada ocasião que coletou tais informações por meio do Google Street View, segundo documentos da justiça norte-americana.
O Banco do Brasil decidiu investir na atualização da sua plataforma baseada em Linux visando a redução de custos, além de fornecer novas funcionalidades aos usuários das agências e aos clientes, e simplificar as rotinas de atualização e manutenção dos sistemas. Para tal, o banco optou por uma solução fornecida por meio de acordo mundial entre Microsoft e Novell. O valor do investimento não foi revelado.

http://www.tiinside.com.br/20/05/2010/banco-do-brasil-atualiza-plataforma-linux/ti/182218/news.aspx

20 de maio de 2010

Blaise Aguera y Arcas demonstra realidade aumentada em mapas



Muito bom! ( Aplausos! )

Mais um dia normal na aula de BD II





ps. Se alguém quiser as imagens no tamanho original, só pedir...

17 de maio de 2010

Como o paradigma da inovação desafiará os CIOs no futuro da TI

Complexidade virou sinônimo de modernidade. Ciclos cada vez mais curtos de lançamentos desafiam as empresas para manterem negócios longevos

O planeta vive um período de transformação profunda. O amanhã se modifica a cada fração de segundo. Em um ritmo cada vez mais intenso, inovações instantâneas chegam e trazem consigo impactos sistêmicos. Na mesma medida em que as novidades necessitam ser assimiladas - e isto exige um tempo de compreensão e reação -, as corporações precisam manter-se ágeis para não perder o tempo que as fará permanecerem competitivas nesta era de urgências. O melhor seria uma bola de cristal para ajudar a traçar estratégias que garantam a longevidade das organizações. Mas isto ainda não existe. Se prever o futuro é impossível, a saída, então, é tentar gerenciá-lo. 

Os atores desse jogo devem compreender seu papel na construção da história. Hoje, muitas empresas ainda acreditam que o futuro será igual ao ontem só que amanhã. Pegam dados de seu passado e projetam em um modelo para tentar antecipar seus próximos passos. Para coisas simples pode até funcionar. Contudo, para um mundo cada vez mais complexo, que vive transformações e desafios que incluem variáveis fora dos bancos de dados, já não basta.

Veja a matéria inteira: http://www.itweb.com.br/noticias/index.asp?cod=68216

11 de maio de 2010

Deputados terão folga remunerada (40 dias) durante a copa

 Você preocupado com a efetividade da escalação do Dunga, e os deputados terão folga remunerada (40 dias) durante a copa. Leia a matéria completa: 


http://www.correiobraziliense.com.br/app/noticia182/2010/05/11/politica,i=191646/DEPUTADOS+QUEREM+RECESSO+PARA+VER+A+COPA+EM+CASA.shtml

Não Faz Sentido! - Gente colorida!




kkkkkkkkkkkkkkkkkkkkk

Familia Restart! kkkkkkkkkkkkk

27 de abril de 2010

Segurança da Informação

Segue link de 2 sites que possuem podcast na área de segurança da informação.

http://www.staysafepodcast.com.br/

http://www.naopod.com.br/

estou escutando e achei bem interessante, da pra agregar uns conhecimentos na área.

20 de abril de 2010

Fotos Frenéticas de um Vulcao, causando na Europa... Parece brincadeira, mas não é!!!!!!



Achou que essa imagem foi feita no photoshop? Para sua surpresa e minha também, não foi feita nele, isso é real. :S

Vejam mais fotos no link abaixo:

http://www.boston.com/bigpicture/2010/04/more_from_eyjafjallajokull.html

Várias fotos mostrando a ira de um vulcão, o Eyjafjallajokull!! ( como pronuncia isso? Eijafjalllaaaajokulllllll? :S pqp não tinha um nome mais simples).

18 de abril de 2010

Hacker de 9 anos invade sistema de notas de escolas americanas

"Garoto burlou segurança de plataforma de aulas virtuais e conseguiu mudar senhas de professores e apagar aulas."

A segurança passo longe viu...

16 de abril de 2010

Vivendo do Ócio - Ao Vivo - "Som, luzes e terror"

12 de abril de 2010

O que vai cair além da nota no dia 19/04

O conteúdo da prova será todo o conteúdo do módulo 1 até o HTML do módulo 2.

"Resumo" da matéria, faça o download, clique aqui.

ps. É um resumo pequeno....

Se você souber tudo que tem no resumo você irá bem na prova, garanto! ... ou não...

Prova Adiada

Por Alberto Correia,

Bom dia pessoal, tudo bem?

só completando o que já conversei com alguns alunos, nossa prova não será hoje e sim na semana que vem, dia 12/04.

O conteúdo da prova será todo o conteúdo do módulo 1 até o HTML do módulo 2. Vou deixar o dia de hoje pra vocês tirarem dúvidas.

Os seminários não serão cobrados na prova.

Hoje teremos a apresentação do Grupo da semana passada.

Atenciosamente,

Alberto Correia

----------------------

Pessoal,


Errei a data, nossa prova será no dia 19/04 (segunda-feira que vem).

Desculpe-me pelo erro.

Att
Alberto Correia

9 de abril de 2010

Teste

SÓ PARA OS INTELIGENTES

Se não acertar nenhum desses exercícios

É bom você aprender logo a ZURRAR (voz do burro),
a ESCOICEAR (dar coices) e ficar RABUDO (que tem
grande rabo/cauda).

Boa sorte !!!



Exercicios para treinar o cérebro


Exercícios para cérebros enferrujados
Não deixe de ler..
De aorcdo com uma peqsiusa

de uma uinrvesriddae ignlsea,

não ipomtra em qaul odrem as

Lteras de uma plravaa etãso,

a úncia csioa iprotmatne é que

a piremria e útmlia Lteras etejasm

no lgaur crteo. O rseto pdoe ser

uma bçguana ttaol, que vcoê

anida pdoe ler sem pobrlmea.

Itso é poqrue nós não lmeos

cdaa Ltera isladoa, mas a plravaa

cmoo um tdoo.


Sohw de bloa.



Fixe seus olhos no texto abaixo e deixe que a sua mente leia corretamente o que está escrito..

35T3 P3QU3N0 T3XTO 53RV3 4P3N45 P4R4 M05TR4R COMO NO554 C4B3Ç4 CONS3GU3 F4Z3R CO1545 1MPR3551ON4ANT35! R3P4R3 N155O! NO COM3ÇO 35T4V4 M310 COMPL1C4DO, M45 N3ST4 L1NH4 SU4 M3NT3 V41 D3C1FR4NDO O CÓD1GO QU453 4UTOM4T1C4M3NT3, S3M PR3C1S4R P3N54R MU1TO, C3RTO? POD3 F1C4R B3M ORGULHO5O D155O! SU4 C4P4C1D4D3 M3R3C3! P4R4BÉN5!

8 de abril de 2010

Professor Tiburcio no Campus Party

Aula do professor Tiburcio direto do Campus Party 2010.

rs.. Palestra do Marcelo Tas que aconteceu no Campus Party 2010, ele tem um visão muito legal da INTERNET.

Ps.: o segundo video só os 40 segundo iniciais que é o final da "palestra"

att





5 de abril de 2010

No aula,

Hoje (05/04/2010) não haverá aula de Programação para Internet I com o prof Alberto Correia, será que deu tempo para avisar. =]

att

2 de abril de 2010

Árvores Genéricas - AED II

Árvores Genéricas - AED II

Escreva um programa em Java que leia uma seqüência de pares (chave: int, elemento: string) fornecidos pelo usuário e monte uma árvore de pesquisa genérica atendendo às regras da estrutura.

O programa deve permitir:

* Inserção, remoção e busca de elementos informados pelo usuário;
* Exibir a árvore na tela, de modo que a estrutura possa ser visualizada, ou seja, de maneira que possamos conferir a estrutura da árvore.

Estou colocando a resoluções que consegui fazer, não digo que esteja certo, mais pelos teste que fiz os erros encontrados foram solucionados.

Para ilustrar segue a arvoré resultante do exemplo:

([10, 22])
([3, 8, 9][11, 15, 16][])
([][4, 5, 7][][])([][12, 14][][17])
([][][][])([][13][])([][])
([][])




App

package ArvoreGenerica;

import java.util.ArrayList;

public class app {

public static void main (String arg[]){

ArrayList imp;
String r;

Arvore arv = new Arvore();
arv.novoFilho(22, "el:22");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(10, "el:10");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(15, "el:15");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(16, "el:16");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(9, "el:9");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(8, "el:8");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(3, "el:3");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(5, "el:5");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(7, "el:7");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(11, "el:11");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(4, "el:4");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(12, "el:12");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

arv.novoFilho(14, "el:14");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(13, "el:13");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
arv.novoFilho(17, "el:17");
imp = arv.ImpAravore();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");
r = arv.getElemento(9);
System.out.println(r);

r =arv.removeKey(10);
r =arv.removeKey(9);
r =arv.removeKey(3);
r =arv.removeKey(7);
r =arv.removeKey(4);
System.out.println("removido "+r);

imp = arv.ImpAravoreElemento();
for (int i=0;i System.out.println(imp.get(i));
System.out.println("-------------");

}
}


Arvore


package ArvoreGenerica;

import java.util.ArrayList;


public class Arvore {
//Nó raiz
private Nodo root;
//quantidade de nos
private int size;
//para armazenar os elementos quando usado os metodos de percorrer
private ArrayList lista;
//Altura é o nivel do nodo mais externo + 1
public int altura;

//Construtor sem Nó raiz
public Arvore(){
root = null;
size = 0;
lista = new ArrayList();
}

//Construtor passando o Nó raiz
public Arvore(int k, String x){
root = new Nodo(k,x,null);
size = 0;
lista = new ArrayList();
}

public Nodo getRoot() {
return root;
}

public void setRoot(int k, String x){
root = new Nodo(k,x,null);
}

public void setSize(int size) {
this.size = size;
}

public int Size() {
return size;
}

//Se possui algum filho o Nó é interno
public boolean isInternal(Nodo n){
if (n.possuiFilho())
return true;
return false;
}

//Se não possuir filho é Nó externo (folha)
public boolean isExternal(Nodo n){
if (n.possuiFilho()==false)
return true;
return false;
}

public boolean isRoot(Nodo n){
if (n.getPai()==null)
return true;
return false;
}

public boolean isEmpty(){
if (getRoot()==null)
return true;
return false;
}


/**
* Partindo da raiz irá verificar o valor do nó para adicionar o novo nó
* @param n
* @param v
*/
private void addOrder(Nodo n, int k, String x){
if (n.possuiFilho()==false)
n.setElemento(k, x, n);
else{
//informa a chave e recebe qual o filho
Filho f = n.getFilho(k);
//Se o filho for nulo insere este nete filho o novo nodo
//se o filho não nulo chama novamente o metodo addOrder
if (f.getElemento()==null){
Nodo novo = new Nodo(k,x,n);
f.setElemento(novo);
altura = novo.getNivel()+1;
}
else{
Nodo novo = (Nodo)f.getElemento();
addOrder(novo,k,x);
}

}
}

public void novoFilho(int k, String x){
if (isEmpty()==false){
addOrder(root,k,x);
}
else
setRoot(k,x);
this.size++;
}


public int getAltura(){
return altura;
}

private ArrayList ImpFilho(Nodo n, int lin, ArrayList imp){
lin++;

ListaFilho lF = n.getlFilhos();
Filho f = lF.getHead();
if (imp.size()==lin){
imp.add("");
}
imp.set(lin,imp.get(lin)+"(");
while (f!=lF.getTail()){
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getChave());

imp = ImpFilho((Nodo)f.getElemento(),lin,imp);
}
f=f.getProximo();
}
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getChave());
imp = ImpFilho((Nodo)f.getElemento(),lin,imp);
}
imp.set(lin,imp.get(lin)+")");
return imp;
}

public ArrayList ImpAravore(){
ArrayList imp = new ArrayList();
Nodo n = getRoot();
if (n!=null){
int lin=0;
imp.add("("+n.getChave()+")");

imp = ImpFilho(n,lin,imp);
}else
imp.add("[Vasio]");
return imp;

}


private ArrayList ImpFilhoElemento(Nodo n, int lin, ArrayList imp){
lin++;

ListaFilho lF = n.getlFilhos();
Filho f = lF.getHead();
if (imp.size()==lin){
imp.add("");
}
imp.set(lin,imp.get(lin)+"(");
while (f!=lF.getTail()){
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getElemento());

imp = ImpFilhoElemento((Nodo)f.getElemento(),lin,imp);
}
f=f.getProximo();
}
if (f.getElemento()==null){
imp.set(lin, imp.get(lin)+"[]");
}
else{
imp.set(lin,imp.get(lin)+""+((Nodo)f.getElemento()).getElemento());
imp = ImpFilhoElemento((Nodo)f.getElemento(),lin,imp);
}
imp.set(lin,imp.get(lin)+")");
return imp;
}

public ArrayList ImpAravoreElemento(){
ArrayList imp = new ArrayList();
Nodo n = getRoot();
if (n!=null){
int lin=0;
imp.add("("+n.getElemento()+")");

imp = ImpFilhoElemento(n,lin,imp);
}else
imp.add("[Vasio]");
return imp;

}

private String findElemento(int k, Nodo n, int cc){

Filho f = n.getFilho(k);

if (f.getElemento()!=null){
n = (Nodo)f.getElemento();
for(int i=0;i


Nodo


package ArvoreGenerica;

import java.util.ArrayList;

public class Nodo {
private ArrayList chave;
private ArrayList elemento;
private Nodo pai;
private ListaFilho lFilhos;
private int nivel;

public Nodo(int k, String x, Nodo Pai){
chave = new ArrayList();
chave.add(k);

elemento = new ArrayList();
elemento.add(x);

this.pai = Pai;

lFilhos = new ListaFilho();
lFilhos.insertFist(null);
lFilhos.insertFist(null);

if (Pai!=null)
nivel = Pai.getNivel()+1;
}

public boolean chaveMenor(int k){
if (chave.get(0)>k)
return true;
return false;
}

public boolean chaveMaior(int k){
if (chave.get(chave.size()-1)k){//Se a 1ª chave for maior do k, então insere no começo
this.chave.add(null);
this.elemento.add(null);
for(int i=this.chave.size()-1;i>0;i--){
this.chave.set(i,this.chave.get(i-1));
this.elemento.set(i, this.elemento.get(i-1));
}
this.chave.set(0,k);
this.elemento.set(0, x);
lFilhos.insertFist(null);
}
else
if (chave.get(chave.size()-1)chave.get(pos)){
pos++;
}
Filho f = lFilhos.getHead();
for (int i=0;i getChave(){
return chave;
}

public ListaFilho getlFilhos(){
return lFilhos;
}

}


ListaFilho


package ArvoreGenerica;

public class ListaFilho {
private Filho Head;
private Filho Tail;
private int Size;

public ListaFilho(){
Head = null;
Tail = null;
Size = 0;
}

public void insertFist(Object elemento){
Filho novo = new Filho(elemento);

novo.setProximo(Head);
Head = novo;
Size++;
if (Tail==null)
Tail=novo;
}

public void insertLast(Object elemento){
Filho novo = new Filho(elemento);
if (Tail!=null){

Tail.setProximo(novo);
Tail = novo;
Size++;
}
else
{
insertFist(elemento);
Tail=Head;
}
}

public Object removeFirst(){
Filho nodo = Head;
Head = nodo.getProximo();
Size--;
return nodo;
}

public Object removeLast(){
Filho nodo = Head;
while (nodo.getProximo()!=null){
Tail = nodo;
nodo = nodo.getProximo();
}
Tail.setProximo(null);
Size--;
return nodo;

}

public Object [] RetornaLista(){
Object [] lista = new Object[Size];

Filho nodo = Head;

int i=0;
while(nodo!=null){
lista[i]=nodo.getElemento();
i++;
nodo = nodo.getProximo();
}

return lista;

}

public Filho getHead(){
return this.Head;
}

public Filho getTail(){
return this.Tail;
}

public int getSize(){
return Size;
}
}


Filho


package ArvoreGenerica;

public class Filho {
private Object Elemento;
private Filho Proximo;

public Filho(Object elemento){
Elemento = elemento;
Proximo = null;
}

public Object getElemento(){
return Elemento;
}

public void setElemento(Object elemento){
Elemento = elemento;
}

public Filho getProximo(){
return Proximo;
}

public void setProximo(Filho proximo){
Proximo = proximo;
}
}

1 de abril de 2010

Google Wave agora é pra valer

Google afirma nesta quinta-feira que irá transportar todos os usuários do seu serviço de e-mail, Gmail, para a mais revolucionaria ferramenta criada pela empresa, Google WAVE.

Esta migração deverá afetar todos os usuários do Gmail e ocorrerá da mesma maneira que foi feita com o novo Orkut, onde usuários serão escolhidos pela empresa e poderão enviar convites para outros usuários, isso durante 3 meses e depois deste período todos os usuários serão migrados automaticamente.

Os especialistas afirmam que é uma ótima estratégia do Google, pois o Wave possui diversas ferramentas que revoluciona a forma de se comunicar pela WEB.

Caso deseja ser um dos primeiros a migrar sua conta do Gmail para o Google Wave acesse o link abaixo, onde também encontrará a reportagem completa.

Acesse o link

\º/ - primeiro post



Feliz 1º de Abril

30 de março de 2010

Java vs .NET

 Meio velinho esse texto mas vale apena ler!

Escrito por Paulo Krieser:

Prosseguindo com a sequência de colunas sobre as comparações entre linguagens de programação, neste artigo vamos comparar o Java ao .NET.

Antes que sigam as críticas, cabe esclarecer que o .NET não é uma linguagem, e sim uma plataforma da Microsoft que permite a utilização de diversas linguagens, como C#, Visual Basic, J# e ASP. Vamos focar então a comparação na construção de aplicações web, utilizando J2EE e o framework ASP NET da Microsoft, que é onde as duas linguagens mais competem.

Comecemos pela questão das licenças de uso, que influenciam diretamente no TCO (para referência aos fatores sendo comparados, consultar na minha coluna Fatores para Escolha da Linguagem de Programação). Apesar da Sun deter a marca Java, a mesma tornou a linguagem open source, permitindo aos usuários efetuar alterações convenientes. Para a plataforma .NET, existem algumas iniciativas free, como os projetos Mono e DotGNU. Porém, para se aproveitar todo o potencial da plataforma, é praticamente necessário se adquirir o servidor Microsoft juntamente com o ambiente de desenvolvimento Visual Studio. Sem estas ferramentas, além de não se aproveitar tudo o que se tem, a velocidade de desenvolvimento fica fortemente prejudicada. Além disto, nada na Microsoft é open source.

No item escalabilidade, as implementações das duas plataformas provêem mecanismos de balanceamento de carga, permitindo habilitar um cluster de máquinas para servir às cargas dos usuários que forem aumentando ao longo do tempo. A grande diferença entre o J2EE e o .NET é que desde que o .NET suporta apenas Win32, um número maior de máquinas se faz necessário, comparando ao J2EE, devido às limitações dos processadores.

Em um fator de extrema importância, como velocidade de desenvolvimento, o .NET leva grande vantagem. A sua IDE proprietária, o Visual Studio, é baseado em RAD (Rapid Application Development), aumentando a agilidade na construção de aplicações. O Visual Studio .NET inclui várias ferramentas interessantes em termos de produtividade, como por exemplo o Web Forms. Estima-se que um projeto criado do zero, leve-se de 10% a 20% menos tempo para entrar em produção quando desenvolvido em .NET.

O Microsoft .NET oferece independência de linguagem, permitindo os componentes serem escritos em VB.NET, C# e J#, por exemplo. Para fazer isto funcionar, o código-fonte nestas diferentes linguagens é traduzido para um código intermediário (análogo aos bytecodes do Java) chamado Microsoft Intermediate Language, abreviado IL. O Common Language Runtime (CLR), análogo ao JRE (Java Runtime Enviroment) do Java, interpreta o IL e traduz em código de máquina.

Com um conjunto de linguagens rodando sobre a plataforma .NET, os desenvolvedores diminuem a habilidade de compartilhar as melhores práticas, diminuindo a assertividade do compartilhamento de informações. Assim, especula-se que um conjunto de linguagens rodando em CLR pode levar a uma combinação de código espaguete que fica difícil de manter. Com a liberdade para se utilizar diversas linguagens, a aplicação torna-se mais complexa, necessitando de experts em diferentes linguagens, o que também faz aumentar o TCO e a entropia do sistema.

As duas tecnologias apresentam uma curva de aprendizado parecida, com a diferença de que o Java possui mais material para aprendizado na internet do que o .NET, que é proprietário e a principal fonte de conteúdo é o MSDN.

Analisando o último quesito, portabilidade, praticamente não há o que comparar. Como já dito na coluna anterior, o Java segue o princípio write once, run anywhere, permitindo executar as aplicações na virtual machine em praticamente qualquer ambiente. O .NET roda apenas no Windows, no seu hardware suportado, e no ambiente .NET. Há algumas implementações adicionais do .NET que rodam em outras plataformas, porém que não permitem o uso de todo o potencial do framework.

Concluindo a análise, a plataforma J2EE, possuindo uma interoperabilidade melhor, permite mais facilmente integrações com o legado através de web services e JCA (Java Connector Architecture) e uma maior facilidade de portabilidade, podendo rodar em qualquer sistema operacional. A grande vantagem do .NET é a sua incrível ferramenta de desenvolvimento, que incrementa bastante a velocidade na construção de aplicações. Porém, esta vantagem apresenta o custo das licenças de uso e de se ter uma plataforma proprietária e fechada, seguindo a iniciativa monopolística da Microsoft.

Para a escolha de qual tecnologia utilizar, deve-se analisar o que já se tem de legado e os skills da equipe que irá trabalhar no projeto, aproveitando os conhecimentos já existentes nas linguagens.

Não perca a próxima coluna, onde vamos comparar Ruby on Rails com PHP (vamos deixar o Java um pouco de lado).

Fonte : JavaFree.org

Tricampeão de concurso de hackers "detona" Apple e Microsoft


Tricampeão de concurso de hackers "detona" Apple e Microsoft

Segundo Charlie Miller, único a vencer três vezes o desafio Pwn2Own, as empresas não fazem coisas básicas na área da segurança.

Ele é capaz de, em alguns segundos, invadir computadores explorando as mais diversas plataformas. E não entende como empresas como Apple, Microsoft e Adobe, com muito mais dinheiro e equipe, não conseguem achar tantos bugs e fazer melhores produtos na área da segurança.

Único hacker a vencer três vezes a competição Pwn2Own, Charlie Miller descobriu, recentemente, 20 falhas no Mac OS, Office e Adobe Reader, com o uso de uma ferramenta simples (utilizada por desenvolvedores para testar bugs), que procura vulnerabilidades nos sistemas.

E afirma estar cansado da defasagem na área de proteção de sistemas.  “Nós encontramos um bug, eles corrigem. Isso não melhora a segurança do produto. Eles precisam investir direito na melhoria de seus programas”, afirma.
Algumas dessas brechas ele usou para invadir um MacBook com o Snow Leopard e navegador Safari e faturar 10 mil dólares na edição 2010 da competição de hackers.
Ele afirma que seu processo de busca de vulnerabilidades não tem nada de inovador. “Não precisa ser muito esperto. Faço  o trabalho básico e continuo achando problemas de segurança”, afirma.

Durante a conferência CanSecWest (na qual acontece o concurso de hackers), no Canadá, ele fez uma apresentação demonstrando como encontrar vulnerabilidades. E convidou Apple, Microsoft e outras empresas a ouvirem e usarem o que ele tinha a dizer.

Miller tomou a decisão de não compartilhar as informações sobre as vulnerabilidades que descobriu. Ele afirma que faz mais sentido ensinar as empresas a acharem essas brechas do que continuar a dar a eles o serviço pronto.

Fonte : MacWorldBrasil

25 de março de 2010

[Urgente] Apresentação, sábado agora do pradooo!

Para entregar no moodle até dia 27 às 12h

Preparar uma apresentação sobre métricas, considerando os pontos:
  1. O que são métricas de processo, projeto e produto?
  2. Quem são os responsáveis pela obtenção das métricas?
  3. Qual é a importância de se obter métricas?
  4. Como calcular algumas métricas?
  5. Qual é o produto do tabalho de obtenção de métricas?
  6. Como garantir que se tenha obtido métricas utilizáveis?
O contexto do trabalho é gerência de projeto de software. Portanto estude os capítulo 1 e 2 do material disponibilizado no AVA. O trabalho deve ser apresentado em sala de aula pela dupla. Cuidado com copie e cole. Posso utilizar o farejador de plágios.

22 de março de 2010

Petrobras inicia instalação do BrOffice neste mês e BB começa implantar software livre no banco Nossa Caixa

Petrobras inicia instalação do BrOffice neste mês

A Petrobras iniciou neste mês a instalação em todos seus computadores do pacote para escritório baseado em software livre BrOffice.org. Segundo informações da estatal, a instalação será feita em 90 mil computadores, atingindo cerca de 100 mil pessoas, e a previsão é que seja concluída em dois meses.

Segundo a coordenadora de projetos de tecnologia da informação da Petrobras, Márcia Novaes, além da economia que o software de código aberto trará para a empresa, o programa foi escolhido por já ter maturidade tecnológica suficiente para se adequar às necessidades da empresa. Ela conta ainda que também foi decidida a mudança do padrão interno de documentos para ODF, também baseado em padrão aberto e suportado pelo BrOffice.org.

Para que os funcionários se adaptem de forma mais rápida ao novo software, o analista líder do projeto na empresa, Gil Brasileiro, conta que a implantação será feita em três fases: a primeira será a instalação do BrOffice.org em todas as máquinas e avisar os funcionários da mudança, depois haverá uma campanha de estímulo ao uso do novo software e um treinamento dos usuários. Por fim, será feita a adequação das licenças dos outros programas instalados nos computadores da Petrobras, para que o programa de código aberto possa ser usado por todas as áreas da petrolífera.

Outro passo importante para a adoção do código aberto na empresa foi a escolha do navegador de internet Firefox, cuja implantação foi iniciada em 2008. Os computadores da Petrobras também já rodam o sistema operacional Linux.


Fonte: TI INSIDE


BB começa implantar software livre no banco Nossa Caixa


Com uma política de TI voltada para o uso preferencial de software livre, o Banco do Brasil anunciou que iniciou a implantação de software de código aberto no Banco Nossa Caixa, o qual adquiriu em 2008. Segundo a instituição financeira, o primeiro software a equipar as máquinas da Nossa Caixa será o pacote de escritório BrOffice.org, que possui funções equivalentes ao Office, da Microsoft. A suíte já foi instalada em mais de 16 mil estações da Nossa Caixa, o que possibilita também a edição de documentos no padrão aberto ODF (open document format).

O Banco do Brasil afirma que economia gerada com a adoção de software livre desde 2003 já ultrapassa R$ 100 milhões. A instituição usa Linux em mais de 80 mil estações de trabalho e 6 mil servidores de agências, enquanto o BrOffice.org está instalado em mais de 100 mil computadores.

Em comunicado, a companhia informa ainda que está equipando todo o parque de caixas eletrônicos com o sistema operacional Linux. O processo ainda está em andamento e no total irá equipar mais de 40 mil terminais. "Atualmente, mais de mil caixas eletrônicos híbridos – que atendem clientes do BB e da Nossa Caixa – operam com o sistema Linux", diz o Banco do Brasil.


Fonte
: TI INSIDE

15 de março de 2010

Kit do Brasileiro

KIT DO  BRASILEIRO
 
*Vai  transar?*
O governo dá  camisinha.







 


*Já transou?*
O  governo dá a pílula do dia  seguinte.



 
 
 

 




O*Teve  filho?*
O governo dá o Bolsa  Família.




 




*Tá  desempregado?*
O governo  dá Bolsa Desemprego.






 


*Não tem terra?*
O governo dá o Bolsa Invasão e ainda te  aposenta.
  

 







 








*Fez merda e foi preso?*

O governo dá o Auxílio Reclusão de $798,30 "por filho" para sustentar a família, já que vc não pode trabalhar para sustentar os filhos por estar preso.
Esse é  o maior dos absurdos !!!!





*Mas experimenta  estudar e andar na linha pra ver o que é que te  acontece!*
 









 










"Trabalhe  duro, pois milhões de pessoas que vivem do  Fome-Zero e do Bolsa-Família,  sem  trabalhar, dependem de  você" 

12 de março de 2010

Presentes

Este problema envolve determinar, de um grupo de amigos que estão se presenteando, quanto a mais cada pessoa dá do que recebe (ou vice-versa para aqueles que vêem presentear com cinismo).

Neste problema cada pessoa coloca de lado algum dinheiro para presentear alguns de seus amigos no grupo. Este dinheiro é dividido de forma igual entre todos os presentes que a pessoa dará.

Entretanto, em qualquer grupo de amigos, algumas pessoas são mais generosas que outras e algumas pessoas têm mais dinheiro que outras.

Dado um grupo de amigos, o dinheiro que cada um do grupo gastou com presentes, e uma (sub)lista de amigos que cada um presenteará, você deve escrever um programa que determina quanto a mais (ou a menos) cada pessoa do grupo deu do que recebeu. Note que o valor de todos os presentes dados são inteiros. Cada pessoa dá a mesma quantidade inteira de dinheiro a cada amigo que presenteia, e dá o máximo possível.

Entrada

A entrada é uma seqüência de grupos de pessoas. Cada grupo consiste de muitas linhas:

o número de pessoas no grupo,
a lista de nomes das pessoas do grupo,
uma linha para cada pessoa do grupo, com o nome desta pessoa, a quantidade de dinheiro que ela tem para presentear, o número de pessoas que ela presenteou e o nome dos amigos que ela presenteou.
Todo nome é formado por uma única palavra, só usa letras minúsculas e não possui mais que 12 letras. Dinheiro é um inteiro positivo menor que 2000. Todo grupo tem pelo menos uma pessoa. A entrada consiste de um ou mais grupos e é terminada por um 0.

Saída

Para cada grupo de amigos, deve ser impressa uma linha para cada pessoa do grupo. Cada linha deve conter o nome desta pessoa, seguido do ganho (ou perda) líquida da pessoa, ou seja, a diferença entre o que ela recebeu e o que deu. Os nomes em um grupo devem ser impressos na mesma ordem em que apareceram pela primeira vez na entrada.

A saída para cada grupo deverá ser separada do próximo grupo por uma linha em branco.

Exemplo

Entrada

5 dave laura owen vick amr dave 200 3 laura owen vick owen 500 1 dave amr 150 2 vick owen laura 0 2 amr vick vick 0 0 3 liz steve dave liz 30 1 steve steve 55 2 liz dave dave 0 2 steve liz 0

Saída

dave 302 laura 66 owen -359 vick 141 amr -150 liz -3 steve -24 dave 27

import java.util.Scanner;
import java.util.ArrayList;

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/

public class Presentes {
public static void main(String Args[]){

// Instancia Variáveis
int numPessoas;
ArrayList<Pessoa> Pessoas = new ArrayList<Pessoa>();
Scanner input = new Scanner(System.in);

// Solicita o número de pessoas
System.out.printf("\nDigite o número de pessoas: ");
numPessoas = Integer.parseInt(input.next());

// Laço para solicitar o nome das pessoas e instanciar seus objetos
for(int i=0;i<numPessoas;i++){
System.out.printf("\nDigite o nome da %d pessoa: ", i);
String nome = input.next();
Pessoa pessoa = new Pessoa(nome);
Pessoas.add(pessoa);
}

// Laço para percorrer a lista de pessoas
for(Pessoa pessoa: Pessoas){
// Imprime o nome da pessoa corrente do laço
System.out.printf("\n%s", pessoa.getNome());

// Solicita o valor dado pela pessoa
System.out.printf("\nDigite o valor a ser presenteado: ");
int valor = Integer.parseInt(input.next());
// Atualiza o valor dado no objeto
pessoa.setValorDado(valor);

// Solicita o número de pessoas presenteadas
System.out.printf("\nDigite o número de pessoas que serão presenteadas: ");
int numPessoasPre = Integer.parseInt(input.next());

// Laço para solicitar o nome das pessoas presenteadas
for(int i=0;i<numPessoasPre;i++){

// Solicita o nome da pessoa presenteada
System.out.printf("\nDigite o nome da %d pessoa: ", i);
String nomePre = input.next();

// Laço para percorrer a lista de pessoas a procura da pessoa presenteada solicitada
for(Pessoa pessoaPre: Pessoas){
// Verifica se a pessoa corrente é a pessoa solicitada
if(pessoaPre.verificaIgualdade(nomePre)){
// Adiciona a pessoa aos presenteados
pessoa.addPresenteado(pessoaPre);
// Sai do laço
break;
}
}
}
}

// Laço para percorrer a lista de pessoas atualizando o valor recebido
for(Pessoa pessoa: Pessoas){
// Recupera a lista de presenteados da pessoa corrente
ArrayList<Pessoa> Presenteados = pessoa.getPresenteados();
// Recupera o valor do presente
int valorPre = pessoa.getValorPresente();
// Percorre a lista de presenteados atualizando o valor recebido de cada um
for(Pessoa presenteado: Presenteados){
// Atualiza o valor recebido da pessoa corrente
presenteado.ValorRecebido(valorPre);
}
}

// Laçp para percorrer a lista de pessoas imprimindo o seu saldo
for(Pessoa pessoa: Pessoas)
System.out.printf("\n%s = %d", pessoa.getNome(), pessoa.getSaldo());
}
}

// Classe Pessoa
// Guarda dados como nome da pessoa, valor dado, valor recebido e uma lista dos presenteados por ela
class Pessoa{

// Propriedades
private String Nome;
private int ValorDado;
private int ValorRecebido;
private ArrayList<Pessoa> Presenteados = new ArrayList<Pessoa>();

// Construtores
protected Pessoa(){
this.Nome = null;
this.ValorDado = 0;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome){
this.Nome = Nome;
this.ValorDado = 0;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome, int ValorDado){
this.Nome = Nome;
this.ValorDado = ValorDado;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome, int ValorDado, ArrayList<Pessoa> Presenteados){
this.Nome = Nome;
this.ValorDado = ValorDado;
this.ValorRecebido = 0;
this.Presenteados = Presenteados;
}

// Métodos SET
protected void setNome(String Nome){
this.Nome = Nome;
}
protected void setValorDado(int ValorDado){
this.ValorDado = ValorDado;
}
protected void setPresenteados(ArrayList<Pessoa> Presenteados){
this.Presenteados = Presenteados;
}

// Métodos GET
protected String getNome(){
return this.Nome;
}
protected int getValorDado(){
return this.ValorDado;
}
protected ArrayList<Pessoa> getPresenteados(){
return this.Presenteados;
}

// Adiciona um novo presenteado na lista
protected void addPresenteado(Pessoa Presenteado){
Presenteados.add(Presenteado);
}

// Atualiza(Incrementa) o valor recebido pela pessoa
protected void ValorRecebido(int ValorRecebido){
this.ValorRecebido += ValorRecebido;
}

// Retorna o valor dado como presente para cada pessoa de sua lista
protected int getValorPresente(){
return ValorDado / Presenteados.size();
}

// Retorna o saldo da pessoa
protected int getSaldo(){
return ValorRecebido - ValorDado;
}

// Verifica igualdade de nome da pessoa
protected boolean verificaIgualdade(String Nome){
if(this.Nome.equals(Nome))
return true;
return false;
}
}

Números Piramidais

Os segredos das pirâmides vêm instigando cientistas e místicos há séculos, dando asas à imaginação das pessoas. Uma dessas curiosidades são os chamados números piramidais. Dizemos que um número inteiro é piramidal se for igual à soma de três números primos consecutivos. Assim, por exemplo, o número 15 é piramidal, pois 15 = 3 + 5 + 7 . O número 10 também é piramidal, já que 10 =2 + 3+ 5 . O número 23 é piramidal, pois 23 = 5 + 7 + 11 .

Neste programa você deverá receber uma seqüência de números inteiros maiores que 0, terminada por um zero, e deverá verificar se cada um dos números da seqüência é ou não piramidal.

Entrada

A entrada é composta por uma seqüência de números inteiros positivos, cada um maior que 0 e menor que 10000, cada um deles em uma linha. Na última linha haverá um zero.

Saída

Para cada linha da entrada você deverá imprimir uma linha na saída, colocando a mensagem O numero ... e piramidal ou O numero ... nao e piramidal. A linha com o número 0 não deve causar nenhuma impressão.

Exemplo:

Entrada:

15 7 6 97 0

Saída:

O numero 15 é piramidal O numero 7 não é piramidal O numero 6 não é piramidal O numero 97 é piramidal

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/
package NumerosPiramidais;

import java.util.ArrayList;
import java.util.Scanner;

public class piramide {

public static boolean VerifPrimo(int n){
for (int i=2; i<n; i++) {
if (n%i == 0)
return false;
}
return true;
}

public static void main(String arg[]){

ArrayList<Integer> num = new ArrayList();
Scanner input = new Scanner(System.in);

int i=-1;
while (i!=0){
i=input.nextInt();
if (i<0)
System.out.println("Numero Invalido, Menor que Zero");
else
if (i>0)
num.add(i);
}

int [] tresPrimos = new int[3];
for (i=0;i<num.size();i++){
int numAtual = num.get(i);

tresPrimos[0]=tresPrimos[1]=tresPrimos[2]=0;

boolean piramidal=false;
int n=numAtual;
while (n>0){
if (VerifPrimo(n)){
tresPrimos[2]=tresPrimos[1];
tresPrimos[1]=tresPrimos[0];
tresPrimos[0]=n;

//Só verifica se é piramidal Se existir valores nos tresPrimos
if ((tresPrimos[0]>0)&&(tresPrimos[1]>0)&&(tresPrimos[2]>0)){
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])==numAtual){
n=0;
piramidal=true;
}
else
//se a soma dos 3 numeros for menor que o Numero então já para
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])<numAtual)
n=0;
}
}
n--;
}
if (piramidal)
System.out.println("O numero "+numAtual+" e piramidal");
else
System.out.println("O numero "+numAtual+" nao e piramidal");
}

}
}

Atividade 3 - Strings

Utilizando linguagem C, resolva os problemas abaixo.
Cadastre e armazene em uma matriz o NOME, CURSO e IDADE de 10 alunos.
Ordene crescentemente a matriz de acordo com os nomes.


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

void main(void){

int i,j,k;
char matriz[3][10][30];
char temp[3][30];

for(i = 0; i < 3; i++)
{
printf("\nNome: ");
gets(matriz[0][i]);
printf("\nCurso: ");
gets(matriz[1][i]);
printf("\nIdade: ");
gets(matriz[2][i]);
}

for(i = 0; i < 3; i++)
{
for(j = 0; j < 2; j++)
{
if(strcmp(matriz[0][j], matriz[0][j+1]) > 0)
{
strcpy(temp[0], matriz[0][j]);
strcpy(temp[1], matriz[1][j]);
strcpy(temp[2], matriz[2][j]);

strcpy(matriz[0][j], matriz[0][j+1]);
strcpy(matriz[1][j], matriz[1][j+1]);
strcpy(matriz[2][j], matriz[2][j+1]);

strcpy(matriz[0][j+1], temp[0]);
strcpy(matriz[1][j+1], temp[1]);
strcpy(matriz[2][j+1], temp[2]);
}
}
}

for(i = 0; i < 3; i++)
{
printf("\n\tNome: %s", matriz[0][i]);
printf("\tCurso: %s", matriz[1][i]);
printf("\tIdade: %s", matriz[2][i]);
}

getch();

}

3 de março de 2010

PHP ARTE

PHP ARTE seu curso de PHP online completamente gratuito passo a passo. Semanalmente estaremos colocando aulas para vocês seguindo o conteúdo programático para que você não se perca. Nossa intenção não é corrigir seu script ou criar um script para você, mas sim fazer com que você aprenda a criar e corrigir seus próprios scripts.

2 de março de 2010

Os Fulanos no Programa do Jô

Os Fulanos no Programa do Jô

Para descontrair.
=p




kkkkkkkkkkkkkkkkkkkkk

Reportagem sobre segurança na rede WiFi doméstica

Reportagem sobre segurança na rede WiFi doméstica

 

Estava vendo uns blogs com assuntos relacionados a Segurança, e achei esse vídeo da globo, que explica usn pontos importantes para você ter sua rede Wi-Fi segura, para que não haja intrusos vendo e lendo seus assuntos particulares. 

Espero que gostem.






Fonte: http://anchisesbr.blogspot.com/2010/02/seguranca-reportagem-sobre-seguranca-na.html

A Escala do Universo!

Aê pessoal!
Hoje de manha recebi um e-mail com esse conteudo de uma comunidade de astrônomos amadores que eu participo, muito interessante, espero que apreciem.

"Entre outras mil coisas da para ver a escala de 0,0000001 mm que é a que a precisão limite para se polir e ajustar espelhos de telescopios."
(To pensando se ainda vo fazer o meu. xD)

Segue o link:

http://www.newgrounds.com/portal/view/525347

Flw até a proxima.

26 de fevereiro de 2010

O que Abadía e Hello Kitty têm em comum ?

O que Abadía e Hello Kitty têm em comum ?

Você nunca mais verá a Hello Kitty com olhos inocentes. A culpa é do traficante colombiano Juan Carlos Ramírez Abadía. Quando foi preso em São Paulo, em agosto do ano passado, os delegados da Polícia Federal ficaram intrigados com a quantidade de imagens da gatinha japonesa que ele guardava nos computadores. Eram quase 200 imagens, quase todas enviadas por e-mail.

A surpresa maior foi a descoberta de que a Hello Kitty não era só uma Hello Kitty. Havia mensagens de voz e de texto escondidas nas imagens. Algumas delas podem mudar o destino de Abadía no Brasil: elas contêm ordens para movimentar cocaína entre países e para sumir com pessoas na Colômbia, segundo análise feita pelo DEA, a agência antidrogas dos EUA. Para os americanos, Abadía continuou a comandar o tráfico na Colômbia mesmo após se mudar para o Brasil.

A mulher de Abadía, Yessica, é fanática por Hello Kitty. Um dos quartos da casa em que ela vivia em Aldeia da Serra (Grande SP) tinha cadeiras, relógios e papel de parede da Hello Kitty.

O DEA ajudou a PF porque o Brasil não teria toda a tecnologia necessária para fazer a investigação. A técnica de computação usada para esconder uma mensagem de voz em uma imagem é conhecida como esteganografia. A Al Qaeda utilizou essa técnica para preparar os atentados de 2001.

Hello Kitty não era o único disfarce para as ordens de Abadía. Algumas mensagens continham fotos de crianças.

As ordens podem mudar a situação de Abadía no Brasil porque ele é réu num processo em que é acusado de lavagem de dinheiro, formação de quadrilha e falsificação de documentos.

A eventual comprovação de que ele continuou a comandar o tráfico a partir do Brasil pode levar o procurador-geral da República, Antonio Fernando Souza, a rever o parecer favorável à extradição do colombiano.

Caso fique provado que Abadía traficou no Brasil, o pedido feito pelos EUA ao Supremo Tribunal Federal poderá ser negado. Toda a argumentação pró-extradição é baseada na hipótese de que Abadía não praticou crimes graves no Brasil.

Nos Estados Unidos, o traficante é acusado de tráfico internacional e de ter ordenado a morte de 15 pessoas. A pergunta óbvia é: se ele praticou os mesmos crimes no Brasil, por que mandá-lo para os EUA?

Pesa na balança pró-extradição a informação de que Abadía enviou toneladas de cocaína para os EUA, o que lhe rendeu uma fortuna de US$ 1,8 bilhão, segundo estimativa do DEA.

Há outros indícios de que Abadía continuou a comandar o Cartel do Vale do Norte, na Colômbia, depois que chegou ao Brasil, em 2004, vindo de veleiro da Venezuela. Esse cartel é considerado pelos EUA como o mais poderoso da Colômbia.

A agência antidrogas dos EUA diz ter registros de que três aviões de Abadía foram abatidos na Colômbia, México e Caribe entre 2005 e 2007, quando ele vivia no Brasil. Cada um dos aviões abatidos transportava de duas a quatro toneladas de cocaína, segundo a agência. A tonelada é vendida por US$ 3 milhões nos EUA.

Os aviões derrubados haviam sido comprados no Brasil por Abadía, de acordo com os policiais americanos. Todos registram passagens pelo Campo de Marte, em São Paulo.

Os agentes citam o depoimento do próprio Abadía à Justiça para reforçar a informação de que os aviões eram comprados no Brasil. Abadía contou que o piloto André Luiz Telles Barcellos, que trabalhava para ele, comprou no Brasil um King Air B90, posteriormente vendido ""para um terceiro na Venezuela". O King Air cumpre um dos requisitos do narcotráfico: pousa em pistas de terra. Outro avião que o traficante teria usado era o Gulfstream G1.

Barcellos confirmou que levou o avião à Venezuela. A PF não pediu detalhes à Venezuela sobre a suposta venda.

O DEA acusa o presidente Hugo Chávez, da Venezuela, de ser conivente com o narcotráfico. Chávez, que expulsou o DEA do país, diz que os americanos usavam o tráfico como pretexto para espionar.
.
Fonte: Folha de São Paulo