Oppure

Loading
22/03/20 10:46
AldoBaldo
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.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>

void presenta( void );

int main() {
   char b1[1024] = {0};
   char b2[1024] = {0};
   int ancora;

   setlocale( LC_ALL, "Italian_Italy.1252" );

   presenta();

   do {
      size_t nob; // nob: number of the beast
      size_t i, l;

      printf( "\n Inserisci un nome: " );
      fgets( b1, 1024, stdin );
      l = strlen( b1 );
      b1[--l] = '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.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>

void presenta( void );

int main() {
   char b1[1024] = {0};
   char b2[1024] = {0};
   int ancora;

   setlocale( LC_ALL, "Italian_Italy.1252" );

   presenta();

   do {
      size_t nob; // nob: number of the beast
      size_t i, l;

      printf( "\n Inserisci un nome: " );
      fgets( b1, 1024, stdin );
      l = strlen( b1 );
      b1[--l] = '{parsed_message}';

      for( i=0; i<=l; ++i )
         b2[i] = toupper( b1[i] );

      if( (ancora=strcmp("BASTA",b2)) ) {
         for( nob=0, i=0; i<l; ++i )
            if( isalpha(b2[i]) )
               nob += b2[i];

         printf( "\n Il numero che corrisponde a \"%s\" è %u.\n", b1, nob );

         if( 666 != nob )
            printf( " No, \"%s\" non è il nome della Bestia.\n", b1 );
         else printf( " Hai scoperto il nome della Bestia: è \"%s\"!\n", b1 );
      }
   } while( ancora );

   return 0;
}

void presenta( void ) {
    puts("\n «Faceva sì che tutti, piccoli e grandi, ricchi e poveri, liberi");
    puts(" e schiavi ricevessero un marchio sulla mano destra e sulla");
    puts(" fronte; e che nessuno potesse comprare o vendere senza avere tale");
    puts(" marchio, cioè il nome della Bestia o il numero del suo nome.");
    puts(" Qui sta la sapienza. Chi ha intelligenza calcoli il numero della");
    puts(" Bestia: infatti è numero d'uomo, e il suo numero è 666.»\n");
    puts("                                          (Apocalisse 13,16-18)\n");
    puts("===================================================================");
    puts("\n (scrivi \"basta\" per lasciare il programma)");
}

'; for( i=0; i<=l; ++i ) b2[i] = toupper( b1[i] ); if( (ancora=strcmp("BASTA",b2)) ) { for( nob=0, i=0; i<l; ++i ) if( isalpha(b2[i]) ) nob += b2[i]; printf( "\n Il numero che corrisponde a \"%s\" è %u.\n", b1, nob ); if( 666 != nob ) printf( " No, \"%s\" non è il nome della Bestia.\n", b1 ); else printf( " Hai scoperto il nome della Bestia: è \"%s\"!\n", b1 ); } } while( ancora ); return 0; } void presenta( void ) { puts("\n «Faceva sì che tutti, piccoli e grandi, ricchi e poveri, liberi"); puts(" e schiavi ricevessero un marchio sulla mano destra e sulla"); puts(" fronte; e che nessuno potesse comprare o vendere senza avere tale"); puts(" marchio, cioè il nome della Bestia o il numero del suo nome."); puts(" Qui sta la sapienza. Chi ha intelligenza calcoli il numero della"); puts(" Bestia: infatti è numero d'uomo, e il suo numero è 666.»\n"); puts(" (Apocalisse 13,16-18)\n"); puts("==================================================================="); puts("\n (scrivi \"basta\" per lasciare il programma)"); }

Ultima modifica effettuata da AldoBaldo 22/03/20 10: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.