Lugar_RSI

AvatarLugar do Real, do Simbólico e do Imaginário
Aqui não se fala dos conceitos de Lacan e a palavra lugar deve ser pensada em sua definição matemática

I'm alive

Quando você começa a aprender uma linguagem de programação, C++, por exemplo, um dos primeiros exercícios é o programa:

#include "stdlib.h"
#include "stdio.h"
int main()
{
printf("Hello World\n");
system("pause");
return 0;
}

que põe na tela a frase Hello World.
Eu acrescentaria o printf I'm alive. E pior (ou melhor) é que meus amigos e fontes de leitura estão mais alive que eu; escrevem sem cessar. No meu agregador o Estadão tem 816 ítens não lidos. A Folha online e o JB online têm mais de 1000. Alguns amigos têm de 10 a 14 posts que não consegui ler. É certo que marcarei tudo como lido, sem ler. E sem comentar. Também tenho meus "pra baixo".

O pior serviço que um programador pode pegar é alterar um programa de um colega. A primeira etapa é tentar compreender a lógica usada, a fase do fluxograma que todo novato não pode dispensar. Programador experiente não desenha fluxograma, quando muito escreve alguns mneumônicos como diretriz.

E eu estou consertando um programa feito por mim na linguagem C++ que combina números para diversas apostas na megasena. Eis um trecho de código:

int calc(int n,char apostas[1000][6])

{
int a, b, c, d, e;
int i, j;
char crct_apostas[50];

j = 0;
for (i = 0; i < n; ++i)
crct_apostas[i] = i + 'A';
for (a = 0; a < n-5; ++a)
{
apostas[j][0] = crct_apostas[a];
for (b = a+1; b < n-4; ++b)
{
if (apostas[j][0] == ' ')
apostas[j][0] = apostas[j-1][0];
apostas[j][1] = crct_apostas[b];
c = b + 1;
if (!(a%2) && (c%2))
++c;
d = 0;
for (; c < n-3; c = c + 2)
{
if (apostas[j][1] == ' ')
{
apostas[j][0] = apostas[j-1][0];
apostas[j][1] = apostas[j-1][1];
}
if (d == c + 1)
d = c + 2;
else
d = c + 1;
apostas[j][2] = crct_apostas[c];
apostas[j][3] = crct_apostas[d];
e = c + 2;
if (c+2 == n-3 && d == c+1)
c = c - 2;
if (!(b%2) && (e%2))
++e;
for (; e < n-1; e=e+2)
{
if (apostas[j][2] == ' ')
{
apostas[j][0] = apostas[j-1][0];
apostas[j][1] = apostas[j-1][1];
apostas[j][2] = apostas[j-1][2];
apostas[j][3] = apostas[j-1][3];
}

if (elimina(a,b,c,d,e) && e == n-2)
break;
apostas[j][4] = crct_apostas[e];
apostas[j][5] = crct_apostas[e+1];
++j;

if (ultimo(a,b,c,d,e))
break;

}
}
}
}
return (j) ;
}

Esta secção de código preenche os volantes de aposta. Eu não sei se isso vai dar em alguma coisa, o mais provável é que dê água. Mas eu aproveito para fazer uma ordenação dos meus neurônios.

2 comments:

7 de abril de 2008 16:30 Ricardo Rayol disse...

eu bem sei o que quer dizer

menos a parte do C++

8 de abril de 2008 00:36 Adao Braga disse...

public class HelloWorldConsole
{
public static void main(String args[])
{

System.out.println("Hello, Já escrevi rotinas em Clipper, VB, .net e Java. No entanto, estudar só,as vezes é desistimulante! Mês passado
fiz o download do MS-Studio 2008. Instalei e ontem desinstalei, sem ao menos ter clicado uma unica vez nalgum dos aplicativos");
}
}

Postar um comentário

Qualquer mensagem não relacionada à postagem deverá ser colocada no Quadro de Recados e, de preferência, não contendo SPAM.
Anônimo, faça a gentileza de deixar seu nome ao final do comentário