Archive for Janeiro, 2008

Acontecimento bizarro da semana

Bem, esse que vos escreve, hoje, estava junto com alguns amigos, se assim devo chama-los depois do ocorrido, e dois dos meus amigos começaram a puxar a cueca de um terceiro, o resultado vocês ja podem ter imaginado, eu ri da cara dos tres, os dois riram da cara do da cueca, e o da cueca gritava porque as bo… bem você pegou a ideia, o problema foi o acontecimento no decorrer, nós resolvemos assistir um dvd de um seriado, bem eu, o da cueca, e um dos dois sentamos no mesmo sofá, eles como tem duvidas sobre a própria sexualidade fizeram fiasco entre dividir o cobertor, eu preferi ficar sem dividir, e como eu não dividi, não tinha cobertor para mim, mas isso não vem ao caso, durante o mini fiasco pela divisão do cobertor o da cueca diz:

“Por que eu sempre tenho que ficar no lado gay” – ele estava sentado no meio, eu estava em uma ponta e o um dos dois estava na outra ponta do sofá, então que vem a resposta do um dos dois – “Porque você já esta acostumado” – depois disso o um dos dois coloca os pés sobre as pernas do da cueca então ele diz – “Hey! tira o seu pé dai, você já me machucou nessa área” – Bem, eu demorei um bom instante para parar de rir, e eles continuaram discutindo a relação até que cada um parou e simplesmente cruzou os braços assistindo televisão, e, dividindo o cobertor …

Add comment 18 Janeiro 2008

Alerta aos leitores

Se vocês lerem os textos ate o final E se eu não esquecer nenhuma palavra, vocês irão entender os textos. =D

Eu poderia ter nomeado esse post como frase da semana, mas como eu não acho que eu vá criar uma frase irónica toda semana ficou assim mesmo.

Add comment 18 Janeiro 2008

Free(), passagem por referência e a minha função

Continuando o artigo Entendendo ponteiros e a função malloc.

O uso de ponteiros permite modificar o valor de outras variáveis, então o que acontece se nós usarmos ponteiros ao invés de variáveis como parâmetros de uma função? O valor da variável que teve o seu endereço passado como parâmetro poderá ser modificado na função, afinal se uma variável em main teve o seu endereço passado como parâmetro para a função que atribui esse valor em um ponteiro será criado uma referência entre o ponteiro e a variável e quando for modificado o valor para o qual o ponteiro aponta o valor da variável também será modificado.

Para se fazer isso você deve lembrar que o uso do simbolo “&” fornece o endereço da variável na memoria para usar nos ponteiros e que para se declarar um ponteiro nós colocamos um “*” na frente do nome do ponteiro, lembrando disso é possível criar funções com passagem por referência.

Então você deve declarar a função dessa maneira:

exemplo(int *ponteiro);

Assim você vai estar criando um ponteiro para inteiros, não uma variável, e quando você for usar a função em main você deve usar assim:

int i;
exemplo(&i);

Afinal de contas, o valor de um ponteiro deve ser o endereço na memoria de um variável, e dentro da função você deve mudar o valor da variável para a qual o ponteiro aponta usando o “*” na frente do nome do ponteiro, isso é passagem por referencia, simples assim.

Aqui fica o exemplo da minha função primos, não é a melhor implementação, mas é funcional:

int primos(int num,int *vetor){

int i, aux, candidato, num_primos, loop, *ptr;

// definir os dois primeiros numeros primos
*vetor=2;
*(vetor+1)=3;

// definindo numero de primos conhecidos
num_primos=2;

// candidato comeca do proximo numero primo(5)
// candidato de 2 em 2 para evitar numeros pares
for(candidato=5;candidato<=num;candidato+=2){

  loop = 1;

// i=1 porque nao ha pares
  for(i=1;loop;i++){

// testando se o candidato e multiplo de algum numero
    if(candidato % *(vetor+i) == 0){

// sem verdadeiro, sair do loop pois nao e primo
      loop = 0;
    }
    aux = *(vetor+i);

// se o quadrado do numero primo for maior
// que o candidato esse sera primo
    if(aux*aux > candidato){

      loop = 0;
      *(vetor+num_primos)=candidato;
      num_primos++;
      }
    }
  }
return num_primos;
}

Um ponto importante sobre a memória alocada através da função malloc é que ela é persistente, isso significa que há duas maneiras de libera-la para uso novamente, dizendo para a memoria ser liberada ou fechando o programa e isso trás uma importante implicação, se você continuar usando a memória do computador e não liberta-la o resultado provavelmente vai ser um vazamento de memória, aqui entra a função free:

void free(void *pointer);

Desse jeito:

int *p;
p = (int *)malloc(sizeof(int)*5);
if(p == NULL){
exit(EXIT_FAILURE);
}
free(p);

Tudo o que nós precisamos fazer é passar o ponteiro desnecessário para a função free() que vai dizer ao sistema operacional que o espaço armazenado pela função malloc() pode ser reutilizado.

Agora duas notas, 1. A função free() não destrói o ponteiro, você poderá usa-lo novamente. 2. A função diz ao sistema operacional que aquele espaço da memória está livre, e que ele pode designa-lo a outro programa, e até isso não acontecer os dados não serão modificados e você não terá restrição de acesso a esse espaço da memória, mas mesmo assim, não use o vetor depois de passar o ponteiro pela função free() porque inevitavelmente alguma hora o espaço vai ser reutilizado.

1 comment 13 Janeiro 2008

é engraçado mas é assustador

Como de costume, final de semana = tempo livre, tempo livre = college humor, quando eu leio o primeiro texto “Cara conhece guria que ele estava perseguindo pelo facebook”, wtf!

Para quem não sabe o facebook seria a versão americana do orkut.

Sinceramente, eu sou geek, desocupado nos finais de semana, mas o pessoal que passa a tarde mandando scrap tem sérios problemas mentais … nada contra …

Add comment 13 Janeiro 2008

conseqüências da teoria do caos

De acordo com a teoria do caos o voar de um borboleta pode causar um tornado.

A teoria usa como base idéia de que pequenos acontecimentos podem gerar outros acontecimentos em cadeia cada vez maiores, explicando a frase a cima, mas e qual seria a conseqüência disso?

essa daqui

Add comment 12 Janeiro 2008

Ressuscite pixeis mortos!

Nesse site eles trazem uma tecnica que eu nunca tinha visto antes na minha vida!

é inacreditável, serio mesmo

Add comment 12 Janeiro 2008

Procurando por um passa-tempo?

Bem, se você é como eu, com tempo livre, e gosta de estrategia e logica, eu tenho algumas sugestões de passa-tempos.

Sudoku, e um jogo de logica bem simples, você terá um quadrado 9×9, nesse quadrado cada linha horizontal e vertical deve ter os números de 1 ate 9 sem repetição, o quadrado 9×9 também é dividido em outros nove quadrados 3×3 onde cada quadrado 3×3 deve ter os numeros de 1 ate 9 sem repetição, sabendo dessas duas simples regras você deve preencher os espaços em branco do quadrado 9×9. Jogue on-line, ou em uma versão em flash

As próximas sugestões são jogos web-based, eles são chamados assim porque você não precisa instalar nada no seu computador, tudo é baseado na internet:

Primórdio – desenvolvido por brasileiros se passa em um mundo fictício onde você governa um clã e vive em um território junto com outros nove clãs e o seu objetivo no jogo é ser o melhor, ou seja, ter a maior experiencia, tanto no seu clã como no seu território.

OGame – Você tem o seu próprio planeta em um determinado universo, aqui você deve desenvolver a tecnologia do seu planeta afim de conseguir mais recursos e um frota de naves espaciais para se defender e atacar inimigos.

Meteorus – No mesmo estilo do OGame.

Divirta-se com os joguinhos para passar o seu tempo ;D

Add comment 9 Janeiro 2008

Insonia

Outro dia eu escrevi sobre sites para se passar o tempo, como hoje eu tive a super idéia de dormir a tarde inteira, agora é quase meia noite e eu ainda não peguei no sono – de novo – o que se fazer nessa hora?

Exatamente! Ir ate o college humor e ver alguns vídeos =D, da uma olhada nesse vídeo maluco. Divirta-se com esse no mesmo estilo =D

Add comment 8 Janeiro 2008

Duas animações muito boas!

Já faz algum tempo que eu vi esses vídeos, eles são simplesmente muito bem feitos ainda há mais três episódios para serem acabados, enquanto eles não terminam  divirta-se!

site das animações:

www.sambakza.net

Add comment 6 Janeiro 2008

Um vídeo para pensar

Hoje eu tive tempo livre durante a tarde e resolvi ir ao google vídeos, eu não sou o maior fan do youtube … , e foi então que eu resolvi continuar a assistir as minhas recomendações de vídeo, o vídeo abaixo “Zeitgeist” é todo em inglês mas tem a legenda em português:

Bem, esse vídeo é bem extenso, com quase duas horas de duração. esse é um daqueles vídeos que me deixa intrigado, pensativo e interessado, a primeira parte do vídeo não foi nada de novo para mim, religião e o seu domínio sobre como as pessoas pensam, o fanatismo religioso que muitas pessoas tem … mas as 3 próximas partes de certa forma foram um tanto chocantes para mim, o vídeo parece seguir idéias de teorias de conspiração, mas como eu não tenho conhecimento suficiente para afirmar que o que consta no vídeo é verdadeiro ou falso eu não vou deixar nenhuma grande opinião alem de “pense!”

Add comment 5 Janeiro 2008

Previous Posts


 

Janeiro 2008
S T Q Q S S D
« Dez   Mai »
 123456
78910111213
14151617181920
21222324252627
28293031  

Principais mensagens

Tópicos recentes

Feeds