Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Find the Beast
Forum - Tutto e di + - Find the Beast

Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 11:46
Domenica, 22/03/2020
Leggendo qua e là mi sono imbattuto in un sacco di illazioni di carattere religioso/mistico/soprannaturale/paranormale, tra le quali non erano poche quelle più recenti che attribuivano l'attuale situazione a Satana stesso o a qualche suo emissario, all'Anticristo, e via discorrendo. Frequente il riferimento alla Bestia e al suo numero: 666.

Come resistere alla tentazione di mettere su un programmino che calcolasse il numero della Bestia a partire dal suo nome? Per gioco, ovviamente. Detto, fatto.

Il gioco che vi propongo è di una scemenza unica, sia da un punto di vista "programmatico" che sostanziale: chiede di immettere dei nomi, dopodiche somma i valori ASCII delle singole lettere per ricavarne un numero, quindi verifica se quel numero è il numero della Bestia (666) e se quindi il nome che avete immesso è o non è il nome della Bestia stessa.

Una volta terminato il programma ho cominciato a immetterci dei cognomi di personaggi "in vista" tra quelli che più spesso vengono citati nei notiziari in questi giorni (il gioco è più divertente se usate sempre e solo i cognomi, senza i nomi di battesimo). Be', il risultato è stata una sorpresona che non vi anticipo. Ci sarebbe di che cominciare a dubitare delle proprie convinzioni materialistiche, per quanto possano essere radicate.

Provate voi stessi.

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include <locale.h>
  6.  
  7. void presenta( void );
  8.  
  9. int main() {
  10.    char b1[1024] = {0};
  11.    char b2[1024] = {0};
  12.    int ancora;
  13.  
  14.    setlocale( LC_ALL, "Italian_Italy.1252" );
  15.  
  16.    presenta();
  17.  
  18.    do {
  19.       size_t nob; // nob: number of the beast
  20.       size_t i, l;
  21.  
  22.       printf( "\n Inserisci un nome: " );
  23.       fgets( b1, 1024, stdin );
  24.       l = strlen( b1 );
  25.       b1[--l] = '\0';
  26.  
  27.       for( i=0; i<=l; ++i )
  28.          b2[i] = toupper( b1[i] );
  29.  
  30.       if( (ancora=strcmp("BASTA",b2)) ) {
  31.          for( nob=0, i=0; i<l; ++i )
  32.             if( isalpha(b2[i]) )
  33.                nob += b2[i];
  34.  
  35.          printf( "\n Il numero che corrisponde a \"%s\" è %u.\n", b1, nob );
  36.  
  37.          if( 666 != nob )
  38.             printf( " No, \"%s\" non è il nome della Bestia.\n", b1 );
  39.          else printf( " Hai scoperto il nome della Bestia: è \"%s\"!\n", b1 );
  40.       }
  41.    } while( ancora );
  42.  
  43.    return 0;
  44. }
  45.  
  46. void presenta( void ) {
  47.     puts("\n «Faceva sì che tutti, piccoli e grandi, ricchi e poveri, liberi");
  48.     puts(" e schiavi ricevessero un marchio sulla mano destra e sulla");
  49.     puts(" fronte; e che nessuno potesse comprare o vendere senza avere tale");
  50.     puts(" marchio, cioè il nome della Bestia o il numero del suo nome.");
  51.     puts(" Qui sta la sapienza. Chi ha intelligenza calcoli il numero della");
  52.     puts(" Bestia: infatti è numero d'uomo, e il suo numero è 666.»\n");
  53.     puts("                                          (Apocalisse 13,16-18)\n");
  54.     puts("===================================================================");
  55.     puts("\n (scrivi \"basta\" per lasciare il programma)");
  56. }



Ultima modifica effettuata da AldoBaldo il 22/03/2020 alle 11:53


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote