Google

domingo, 27 de abril de 2008

Epa, Epa, Epa muita calma nessa hora....

Justamente falando, teremos que conter os ânimos por mais essa semana, nada de comemorar antecipadamente, pois como dizem "quem ri por último ri melhor" estamos todos muito confiantes, mas ainda falta mais 90 minutos para que seja tudo concluído. O palmeiras fez uma boa partida, mas levamos uma pressão danada da ponte após saída do El magool, mas o Luxa fez certinho, poupou ele pra jogar a final.
Kleber fez uma excelente partida, criou muitas chances de gols e numa bobeada da defesa adversária conseguiu incrementar o nosso contador.

void main()
{
if(jogador palmeiras==balancar rede)&&(rede==ponte)
palmeiras++;
if(placar palmeiras>=placar ponte)&&(tempo>=180minutos)
cout <<"palmeiras CAMPEÃO PAULISTA 2008";
else
cout<<"ZEBRA!!!!!"
}

Mas como lembrado por Luxa, temos que tomar cuidado para que esse mel não vire fel, e nada de entrar em campo, ja pensando que somos campeões, o negócio é bola na rede, pressionar o adversário e ai sim, partir pro abraço.





A galera anda muito cansada, está sendo uma seqüência de jogos, e ainda por cima jogos decisivos, nessa quarta as 21:45hs com transmissão ao vivo pela band diretamente de Recife o verdão encara mais um desafio, e temos que pelo menos mandar uma bolinha na rede pra complicar a vida da galera do Sport, confiança não falta, mas vai ser um jogo dificílimo. Então desde já desejamos boa sorte a todos, lembrando que o verde poupou alguns jogadores no primeiro jogo e agora vamos jogar completinho.

sexta-feira, 25 de abril de 2008

Apostilas de Inglês Oxford

Achei bem interessante e por isso quero compartilhar com vocês, as apostilas são da Oxford University Press e possuem o ensinamento a partir do nível básico até upper - intermediário, com exercícios e alguns jogos que são feitos online, vale a pena dar um olhada.

Oxford University press

segunda-feira, 21 de abril de 2008

Deixe uma msg para os Bambi!!!

Achei legal reservar este espaço para quem quiser deixar uma mensagem especial, para aquele bambi que te perturbou, a semana toda e agora está chorando e tentando arrumar alguma coisa para levar ao STJD, lugarzinho que eles adoram hauhauhauhau.... Valeu galera do verdão, falta pouco pra soltar o grito que está preso na garganta....
Valeu!!!!!

domingo, 20 de abril de 2008

Palmeiras não joga, dá espetáculo!!!!!


O que dizer dessa equipe, que mostra garra e muito amor a camisa?
Realmente é complicado, que tarde maravilhosa, sem gol de mão não conseguiram fazer nada e a imperatriz ficou apagada diante da belissíma atuação de Henrique e Gustavo(que se redimiu ótimamente do erro que teve no jogo anterior) parabéns aos dois.....

Léo Lima você é espetacular, que chute foi aquele!!!! sem chances pro cênico (reserva do marcão na copa de 2002 rs*), cheio de efeito enganando o bambi huahauhauhau.




Marcão você tampou o gol, ta merecendo voltar pra seleção!!!! NOSSO ETERNO PENTA CAMPEÃO!!!
E pra quem estava dizendo que o El magoool, era realmente mago porque tinha conseguido desaparecer no jogo anterior, veja a magia do reaparecimento hauahuauhau.



e com o gesto já deu pra entender, acabou viu!!!! hum e fica quietinho bambi cênico!!!!!
Voltaram até chorando depois do segundo huahauhau, mas o que será que aconteceu?
pra mim mais uma armação do time mais sem vergonha pra tentar preojudicar o verdão, pô tem que saber perder!!!! vocês devem tentar serem menos prepotentes.... querem a vitória acima de qualquer coisa, mesmo que seja de forma suja e mesquinha. Graças a Deus eu sou palmeiras, e não precisamos trapacear pra ganhar.... mas agora vamos falar do futuro já que bambi é carta fora do baralho.
Essa semana tem Copa do Brasil, um jogo difícil, mas se mantivermos o ritmo conseguiremos sair com a vitória, e depois pensar na macaca, que tem fama de aprontar para os grandes times, mas se tivermos cabeça fria e o mesmo empenho, a taça vai pro palestra, e a festa será muito grande...
Então torcida alviverde, vamos continuar apoiando o time do mesmo jeito que vem acontecendo que tudo dará certo.
Mais uma vez, parabéns a todos, desde diretoria que soube trazer o investimento e conseguiu aplicar, Luxa que realmente é um dos melhores do Brasil e a todo grupo que tem garra, união e amor no manto verde que estão defendendo.
Semana que vem tem mais.....
Melhores momentos




Esses caras nunca estão satisfeitos, nem mesmo com uma entrada exclusiva e poste personalizado ficaram contentes.

terça-feira, 15 de abril de 2008

Threads e Processos

Como vários "programas" podem rodar simultaneamente em um PC se ele possui um único processador?

Multiprogramação: o processador é chaveado entre diversos programas dando a cada um algumas dezenas de milissegundos de processamento produzindo a ilusão de paralelismo (pseudo-paralelismo).

Criação de processos

MS-DOS: suspende a execução do processo pai até que o filho termine sua execução.

UNIX: operação fork (cria cópia extra do processo pai) (pai e filho rodando em pseudo-paralelismo). No processo filho, fork retorna 0 (zero). No processo pai, fork retorna o identificador do processo filho.

Threads ou processos leves

fork() : uma cópia idêntica do processo pai é criada => cópia do código, das variáveis, recursos do SO (arquivos abertos, sinais, etc.) => dispendioso.

Threads (processos leves): fluxo de execução dentro do mesmo processo compartilhando dados e recursos do processo. Em UNIX (Linux), um thread:
* Existe dentro de um processo e usa os recursos do processo;
* Tem o seu próprio fluxo de controle independente enquanto existir o processo pai e o SO dá suporte a ele;
* Pode compartilhar os recursos do processo com outros threads igualmente independentes;
* Morre se o seu processo pai morre
Para um programador, o conceito de um "procedimento" ou "função" que roda independentemente do seu programa principal pode ser a melhor descrição de uma thread.

Um processo é criado pelo sistema operacional e contém informações sobre os recursos de um programa e seu estado de execução, incluindo:

* id do processo, do grupo de processos, do usuário e do grupo do usuário;
* ambiente;
* diretório de trabalho;
* instruções do programa;
* registradores;
* pilha do programa;
* heap (memória alocada dinamicamente);
* descritores de arquivos;
* ações para sinais recebidos;
* bibliotecas compartilhadas;
* ferramentas para comunicação entre processos (mensagens, pipes, memória compartilhada).

Threads usam e existem dentro destes recursos, mas são capazes de ser escalonados pelo sistema operacional e de rodar como entidades independentes dentro de um processo. Um thread pode ter um fluxo independente de controle e ser escalonado porque mantém:

* o seu próprio PC (contador de programa);
* o seu próprio ponteiro de pilha (stack pointer);
* os seus próprios registradores;
* as suas próprias propriedades de escalonamento (e.g. prioridades, etc.);
* o seu próprio conjunto de sinais pendentes e bloqueados;
* e seus próprios dados que lhe são específicos.

Um processo pode conter muitos threads, e todos eles compartilham os recursos dentro do processo e são executados dentro do mesmo espaço de endereçamento. Dentro de um programa com múltiplos threads há simultaneamente múltiplos pontos de execução.

Devido ao fato de threads dentro do mesmo processo compartilharem recursos:

* mudanças feitas por um thread a um recurso compartilhado do sistema (como alterar variável global ou fechar um arquivo) serão vistas por todos os outros threads;
* dois ponteiros que têm o mesmo valor, apontam para o mesmo dado;
* leitura e escrita das mesmas posições de memória são possíveis, e, portanto, há a necessidade de sincronização explícita pelo programador.

Fonte: ANDREW S. TANENBAUM - Sistemas Operacionais Modernos

Mas como implementar isso? Há alguns anos atrás achava que era impossível, mas agora vejo que não tem segredo algum nisso:
Exemplo de processos (fork - Unix):
void main(void)
{
pid_t pid;
pid = fork();
if (pid
<0)
perror("ERRO DE FORK\n");
else
if (pid>0)
{
do
{
<comandos do processo pai>
}while(aux==0);
}
else
{
<comandos do processo filho>
}
exit(0);
}

Versão para download
O processo pai cria outro processo (filho) idêntico e ficará aguardando até o filho terminar, ou seja retornar 0 (zero) para finalizar a execução dos processos. Na versão para download está implementado como tratar o retorno que é fornecido pelo processo filho.
Exemplo de threads:

int main(void)
{
pthread_t thread1;
pthread_t thread2;
char *message1 = "Hello World";
char *message2 = "Hello Brazil";
pthread_create(&thread1,NULL,(void*)&print_message_function,(void*)message1);
pthread_join(thread1,NULL);

pthread_create(&thread2,NULL,(void*)&print_message_function2,(void*)message2);
pthread_join(thread2,NULL);

exit(0);
}

void print_message_function(void *ptr)
{
char *message;
message=(char *) ptr;
printf("%s \n\n",message);
}
void print_message_function2(void *ptr)
{
char *message;
message=(char *) ptr;
printf("%s \n\n",message);
}


Versão para download

domingo, 13 de abril de 2008

Juíz 2 x 1 Palmeiras

Mais uma vez no tapetão, mas como não é do feitio dos palmeirenses ficarem chorando, parabéns para os bambis, que mais uma vez demonstraram o porque, do motivo que não apenas o verde reclama mas outros clubes também. Mas concerteza no palestra não vai ser assim e precisaremos apenas de uma vitória simples. Não será fácil, mas tem como reverter isso, isto é se for um jogo limpo...



qualquer semelhança é mera coincidência




quinta-feira, 10 de abril de 2008

Concentração total...

Enquanto não chega o grande e esperado Domingo.... vamos nos divertir um pouco galera do verdão!!!!





terça-feira, 8 de abril de 2008

Por quê não jogar no Palestra?

Até ontem estava inconformado e também muito curioso em descobrir porque não poderia disputar clássicos no Palestra e somente no Morumbi. E não é que nem a FPF sabiam isso!!!! Para eles o Palestra tinha sido vetado a receber jogos de grande porte por motivo de segurança, mas que diferença faz, será que não é a mesma coisa jogar no Pacaembu, Palestra ou Morumbi? apenas o Palestra apresenta risco.
Ainda bem que pelo menos uma pessoa de bom senso o Tenente Coronel Botelho que em entrevista afirmou qualquer estádio tem condições de receber jogos de semi finais desde que seja respeitada a capacidade de público. Então agora vamos depender do bom senso da FPF, irá haver muita pressão de ambos os lados, principalmente dos Bambis que dizem que o Morumbi é neutro (desde qdo isso é ser neutro!!!).
Então peço pelo bom senso do Sr. Marco Polo, que depois que o Tenente Coronel deixou essa bola quicanco, e isentou a responsabilidade que tinham jogado nas costas da PM, resolva da melhor forma possível.
Ser Palmeirense é isso torcer e lutar contra injustiça, contra tudo e contra todos chegaremos lá....

segunda-feira, 7 de abril de 2008

Concatenar duas strings

Para concatenar duas strings de diferentes variáveis em apenas uma é bem simples, basta utilizar a função strcat que irá fazer isso facilmente.
Mas as vezes ficamos pensando para que serve isso? então vou dar um exemplo prático de algo que precisei fazer.
O meu programa gera um arquivo.txt, e quando eu executo o programa ele é gerado dentro do diretório em que estou executando o programa, mas eu precisaria que fosse gerado dentro do diretório "log/".
Então esse probleminha foi resolvido da seguinte maneira:

char local_arg[50] = "log/"; /*faço receber o endereco do diretorio*/
char *name_arg = argv[1]; /*recebe o nome do file por argumento na linha de comando*/
strcat(local_arg,name_arg); /*concatena os dois na primeira variável */
ofstream datafile(local_arg); /*gero um file log/nome_arquivo*/

Desse modo quando eu executar o meu programa da seguinte maneira:

./dincal file

ja irá concatenar esse file que esta sendo passado como argumento na linha de comando com o endereco da pasta log, sendo o mesmo copiado dentro da pasta que necessito.

domingo, 6 de abril de 2008

Pra sempre Palmeiras!!!


Parabéns Palmeiras!!!

Futebol contagiante e empolgante isso é Palmeiras. Méritos ao grande Luxemburgo, que é uma prova viva de motivação, se você estiver meio desanimado recomendo que assista as entrevistas do grande Luxa. Mas uma coisa muito importante tenha humildade.
Agora é muita concentração e não cair nas provocações e armações dos bambis, não duvido que logo surja ao por ai....
O palmeiras seguiu o regulamento e está tranquilo quanto a jogadores pendurados por cartão amarelo, mas já está surgindo especulação para zerar os cartões na final, isso é coisa dos bambis que tem mais de 10 jogadores pendurados, agora além de querer mandar na arbitragem, vão mandar na FPF!!!!!! vamos ter o bom senso e seguir o regulamento.

Fica Valdívia

Como o Valdívia disse que não sairia do verdão antes de ganhar um título, todos estão entrando na campanha fica Valdívia, já que este título está cada vez mais perto de acontecer. Então vamos torcer pra que o Valdívia fique pelo menos até o final da temporada, já que é tão difícil segurar um jogador durante muito tempo, e futebol é isso o verde também precisa fazer dinheiro e torcer para que tenhamos alguém com o mesmo estilo de jogo e dedicação dele. Realmente mostrou que é palmeiras de coração.

Roxo de raiva ou vergonha?

Estou achando que não está dando muito certo esse novo uniforme dos gambás, mas pelo menos pra nós temos uma nova nova piada pra fazer a cada final de semana hauhauhauhua. Dependia do peixe, mas também não foi capaz de fazer a sua parte, é isso é Curintcha.....



Palmeiras X Barueri

Que jogo, bela atuação de Denílson, se continuar assim realmente vai acabar sendo titular. E o Marcão não sei nem o que falar atualmente acho que está entre um dos melhores goleiros do Brasil, tudo isso porque ainda ficou um tempão afastado, mas ja está totalmente no ritmo novamente, obrigado por tudo Marcão, realmente merece ser imortalizado no palestra, com uma estátua.

Gols da Rodada




quinta-feira, 3 de abril de 2008

Pode vir quente, que estamos fervendo!!!




Desempenho do verde

O Palmeiras está cada vez mais motivado e todos estão na expectativa de um título, era apenas um sonho que está cada vez mais próximo de ser realizado, ainda falta muita coisa, o Palmeiras irá tentar fazer a sua parte contra o Barueri, na arena Barueri e torcer por um tropeço ou empate do Guaratinguetá para terminar a primeira fase como líder e obter as vantagens. Teremos uma semana pra descansar, já que conseguimos eliminar o jogo de volta na Copa do Brasil, e o pessoal irá fazer retiro em Atibaia (isso que é vida boa hehe) já que felizmente estão fazendo por merecer.
A nova atuação do Luxa em que ninguém é reserva, utilizando todos os jogadores em quase todas as partidas está sendo muito bem aplicado no verdão, e motivando demais a galera, e ainda por cima o time não se torna dependente de apenas à um jogador como andou ocorrendo um tempo atrás.

Melhores Momentos da goleada verde





Sem chororô

Não creio que agora até isso será banido do futebol brasileiro, esse tipo de provocação acredito que seja algo que faz parte do espetáculo do futebol em todo o mundo. Existem pessoas que não aceitam nenhum tipo de brincadeira, realmente essas pessoas deveriam ficar em casa e nem ir ver um jogo em um estádio de futebol.
Só os palmeirenses sabem como foi gostoso ver o Valdívia fazendo o chororô diante dos gambás e dos bambis hauhauhauuha, será que tem dedo de algum desses caras?
Mas vai ter um jeito novo de comemorar, agora é só esperar pela criatividade dos jogadores.

quarta-feira, 2 de abril de 2008

Retornando um vetor através de uma função

Parece ser bem fácil, mas visitando alguns fóruns de programação C percebi que várias pessoas tinham essa dúvida, de como retornar mais de um valor através de uma função. Para se retornar um único valor é bem simples:


double valor()
{
double x = 10;
return 10;
}

No programa principal lê-se o valor da seguinte maneira:

int main()
{
double y;
y = valor();
}

Agora se vc quiser retornar mais de um valor? parece complicado, mas com o tempo isto se tornará simples.
Programa principal: teste.c

#include <stdio.h>
#include "saida.h"

int main()
{
double *m;
m = saida();

printf("%lf M[0]\n", m[0]);
printf("%lf M[1]\n", m[1]);
}

Lib: saida.c

double *saida()
{
double *u;
u = (double*) malloc(2 * sizeof(double));
u[0] = 10;
u[1] = 20;

printf("%lf U[0]\n", u[0]);
printf("%lf U[1]\n", u[1]);

return u;
}

Include: saida.h

#ifndef SAIDA_H
#define SAIDA_H

extern double *saida();

#endif

download

para compilar no gcc:

gcc -o teste saida.c teste.c

depois executar da seguinte forma:

./teste

A mesma idéia é utilizada para fazer o mesmo utilizando matrizes.

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

float **Alocar_matriz_real (int m, int n)
{
float **v; /* ponteiro para a matriz */
int i; /* variavel auxiliar */
if (m
< 1 || n < 1) { /* verifica parametros recebidos */
printf ("** Erro: Parametro invalido **\n");

return (NULL);
}

/* aloca as linhas da matriz */
v = (float **) calloc (m, sizeof(float *));
if (v == NULL)
{
printf ("** Erro: Memoria Insuficiente **");

return (NULL);
}

/* aloca as colunas da matriz */
for ( i = 0; i
< m; i++ )
{
v[i] = (float*) calloc (n, sizeof(float));
if (v[i] == NULL)
{
printf ("** Erro: Memoria Insuficiente **");
return (NULL);
}
}
return (v);

/* retorna o ponteiro para a matriz */ }

float **Liberar_matriz_real (int m, int n, float **v)
{
int i; /* variavel auxiliar */
if (v == NULL)
return (NULL);

if (m
< 1 || n < 1)
{
/* verifica parametros recebidos */
printf ("** Erro: Parametro invalido **\n");
return (v);
}

for (i=0; i<m; i++) free (v[i]); /* libera as linhas da matriz */
free (v); /* libera a matriz */

return (NULL); /* retorna um ponteiro nulo */
}

void main (void)
{
float **mat; /* matriz a ser alocada */
int l, c; /* numero de linhas e colunas da matriz */
... /* outros comandos, inclusive inicializacao para l e c */
mat = Alocar_matriz_real (l, c);
... /* outros comandos utilizando mat[][] normalmente */
mat = Liberar_matriz_real (l, c, mat);
...
}

Postagens populares