Aula 4': Programação Incompreensível


           main(l
      ,a,n,d)char**a;{
  for(d=atoi(a[1])/10*80-
 atoi(a[2])/5-596;n="@NKA\
CLCCGZAAQBEAADAFaISADJABBA^\
SNLGAQABDAXIMBAACTBATAHDBAN\
ZcEMMCCCCAAhEIJFAEAAABAfHJE\
TBdFLDAANEfDNBPHdBcBBBEA_AL\
 H E L L O,    W O R L D! "
   [l++-3];)for(;n-->64;)
      putchar(!d+++33^
           l&1);}
Olhe, neste exemplo da linguagem C aqui acima. Isto é um exemplo de mal programação. Percebe o que é que o programa faz? Mesmo os especialistas profesionalistas não conseguem determinar o que é que o programa faz. Se quiser saber o que é
(programa copiado de http://www.ioccc.org/) O output de este programa é
 
              !!!!!!!!!!! !!!            !!!   !!!!!!!                          
! !!!!!!!!!!!!!!!!!  !!!!! !    !      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!        
 !!!!!!!!!!!!!!!!!!! !!!!          !  !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!         
          !!!!!!!!!!!!!!            !!!!!!! !!!!!!!!!!!!!!!!! !!    !           
             !!!!!!!!!             "! !   !!!!!!!!!!!!!!!!!!!!  !               
     !        !!!!  !              !!!!!!!!!!!!!!!!!!!!!!!!!!                   
                !!!!!             !!!!!!!!!!!!!   !!!   !!! !                   
                     !!!!!         !!!!!!!!!!      !     ! !  !                 
                     !!!!!!!!          !!!!!                    !!              
                      !!!!!!            !!!! !              !!!!!               
                       !!!!              !!                !!!!!!!!             
                       !!                                   !!  !!     !        
                       !                                                        

O programa recebe coordenadas dos sitios no mundo e mostra uma mapa com este coordenada. O exemplo acima é o resultado do
  where 32 -5
(o coordenada do Faro)
(se quiser experimentar em casa, o programa pode ser compilado com qualquer compilador C de MS-DOS. Não esquece de incluir o stdlib e stdio)


Peter Stallinga. Universidade do Algarve, 3 outubro 2003