Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CalendarioCalendario  FAQFAQ  CercaCerca  RegistrareRegistrare  Lista utentiLista utenti  GruppiGruppi  Connessione  

Condividere | 
 

 sbronza

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
Andare alla pagina : 1, 2  Seguente
AutoreMessaggio
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: sbronza   Mar Ott 23, 2007 11:23 am

Forse qualcuno di voi ha già comprato HJ, una rivista che dovrebbe parlare di hacking ma che ormai è in decadenza..
Non è stato sempre così e qualche anno fa alla redazione della rivista c'erano alcune brave persone, come BargtheGnoll, esisteva il CookBook, in cui fornivano alcuni script relativi a problemi che ci ponevano: quesiti matematici (es: calcolare tot numeri primi in Perl, oppure: Calcola la sequenza Fibonacci in QuickBasic) e a volte anche degli indovinelli...
e proprio a partire da uno di questi (più precisamente una filastrocca inglese) che mi sono ispirato per questi programma...
La filastrocca recita più o meno così:
Citazione:

99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around,
98 bottles of beer on the wall.

98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around,
97 bottles of beer on the wall.

97 bottles of beer on the wall, 97 bottles of beer.
Take one down and pass it around,
96 bottles of beer on the wall.

etc finchè non arriva a 1:
1 bottle of beer on the wall, 1 bottle of beer.
Take one down and pass it around,
no more bottles of beer on the wall.

e poi:
No more bottles of beer on the wall,
no more bottles of beer,
Go to the store and buy some more,
99 bottles of beer on the wall


se capite bene l'inglese avrete capito che è una bella fregatura... Very Happy
Ora vi lancio una sfida... (neanche tanto difficile... BlackLight non può partecipare sennò lo banno Very Happy)
chi mi scrive un programma in qualunque linguaggio (autoit, c, perl, pascal, ruby, brainfuck, python, php,... insomma, qualunque...)
che esegua il contenuto della filastrocca...

Se volete vedere la mia soluzione clickate sullo spoiler

Spoiler:
 


ma prima, almeno, provateci Wink
buon divertimento...

_________________
L'unico computer sicuro, è un computer spento.

Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia

Tornare in alto Andare in basso
Vedere il profilo dell'utente
BlackLight
Moderatore
Moderatore


Numero di messaggi: 277
Età: 25
Data d'iscrizione: 22.08.07

MessaggioOggetto: Re: sbronza   Mar Ott 23, 2007 5:33 pm

Eh eh ok non partecipo...Very Happy
Ma alla fine nulla di infattibile, basta un ciclo for con i che decresce volta per volta di un valore e un if per controllare se è 0 (in quel caso si resetta a 99), si può fare in qualsiasi linguaggio...

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://blacklight.gotdns.org
DrA93
apprendista
apprendista


Numero di messaggi: 64
Età: 101
Localizzazione: Bergamo(parenti salernitani)
Data d'iscrizione: 29.08.07

MessaggioOggetto: Re: sbronza   Mar Ott 23, 2007 6:15 pm

Codice:
$var = 99

While 1=1
   
   if $var = 0 Then
      
      MsgBox(16, "PORCA PUTTANA!", "Non ti sembra di aver bevuto troppo?Ti VIETO di andare al negozio a comprare ancora bottiglie di birra!!")
      ExitLoop
      
      ElseIf $var = $var Then
   msgbox(0, $var, $var&"bottle of beer on the wall, "&$var&" bottles of beer."&@CRLF&"Take one down and pass it around."&@CRLF&$var-1&" Bottles of beer on the wall!!")
   $var = $var-1
   
EndIf

   WEnd

DA PROVARE!!(SOPRATTUTTO ARRIVATE A ZERO!!)
Tornare in alto Andare in basso
Vedere il profilo dell'utente
LordHk
Moderatore
Moderatore


Numero di messaggi: 140
Data d'iscrizione: 28.09.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 10:25 am

Mo sto scappando, oggi pome posto il codice! Laughing
@Black mi vedo con Woz XD
Tornare in alto Andare in basso
Vedere il profilo dell'utente
BlackLight
Moderatore
Moderatore


Numero di messaggi: 277
Età: 25
Data d'iscrizione: 22.08.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 11:18 am

LordHk ha scritto:
@Black mi vedo con Woz XD


Wow fammi poi sapere come va l'incontro Wink

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://blacklight.gotdns.org
certaindeath
Admin
Admin


Numero di messaggi: 343
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 3:07 pm

@DrA
invece che

Citazione:
ElseIf $var = $var Then


potevi srivere "Else"
Tornare in alto Andare in basso
Vedere il profilo dell'utente
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 3:54 pm

... bravo black che non ha partecipato...
Citazione:

Eh eh ok non partecipo...
Ma alla fine nulla di infattibile, basta un ciclo for con i che decresce volta per volta di un valore e un if per controllare se è 0 (in quel caso si resetta a 99), si può fare in qualsiasi linguaggio...


e che invece ha scritto la soluzione a parole... Very Happy

_________________
L'unico computer sicuro, è un computer spento.

Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia

Tornare in alto Andare in basso
Vedere il profilo dell'utente
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 9:01 pm

ma deve essere un loop che si ripete all'infinito o che ad ogni volta che il valore è 0 chiede se si vuole riniziare?
Tornare in alto Andare in basso
Vedere il profilo dell'utente
DrA93
apprendista
apprendista


Numero di messaggi: 64
Età: 101
Localizzazione: Bergamo(parenti salernitani)
Data d'iscrizione: 29.08.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 9:32 pm

Citazione:
@DrA
invece che

Citazione:ElseIf $var = $var Then


potevi srivere "Else"

certaindeath
Admin


Messaggi : 144
Registrato il : 30/07/07




Uhm...sai, l'abitudine,tanto è uguale alla fin fine...Very Happy
Tornare in alto Andare in basso
Vedere il profilo dell'utente
BlackLight
Moderatore
Moderatore


Numero di messaggi: 277
Età: 25
Data d'iscrizione: 22.08.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 9:39 pm

@black hole: Semplicemente nel ciclo controlli se la variabile contatore è pari a 0, in quel caso la resetti a 99.

_________________
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) s:- a-- C+++$ UBL++++$ P+++ L+++++$ E- W+++ N+ o? K? w-- !O !M>+ !V PS+++ PE-- Y++ PGP+ !t !5 !X R+ tv-- b++>+++ DI? D+ G>+++ e++>++++ h r++ y+++
------END GEEK CODE BLOCK------

Codice:
blacklight@nightmare:/$ touch figa
touch: cannot touch `figa': Permission denied
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://blacklight.gotdns.org
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 9:53 pm

ah quindi non termina mai...capito
Tornare in alto Andare in basso
Vedere il profilo dell'utente
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Mer Ott 24, 2007 10:04 pm

Codice:
e = raw_input('\nInvia qualcosa per cominiciare la sbronza\n')
if e != 'vogliorestaresobrio':
   z = 1
   while z == 1:
      a = 99
      y = ' bottles of beer on the wall,'
      g = ' bottles of beer.\nTake one down and pass it around,\n'
      j = ' bottles of beer on the wall.\n'
      while a != 0:
         print '\n',a,y,a,g,a - 1,j
         a = a - 1
      if a == 0:
         print 'No more',y,'no more',j,'Go to the store and buy some more,',a,' bottles of beer on the wall'

al posto che resettare la variabile a 99 ho fatto che ripetere tutto Very Happy Very Happy
Tornare in alto Andare in basso
Vedere il profilo dell'utente
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: sbronza   Gio Ott 25, 2007 4:00 pm

... carino...
magari potresti mettere qualcosa al posto di voglio restare sobrio come un if alla fine del while che chiede se continuare, se no allora metti un break altrimenti continua con il suo loop... insomma, come ho fatto io(in C) ma si dovrebbe poter fare anche in python, no Wink ?

_________________
L'unico computer sicuro, è un computer spento.

Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia

Tornare in alto Andare in basso
Vedere il profilo dell'utente
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Gio Ott 25, 2007 7:48 pm

uhm all'inizio l'avevo fatto così..te lo posto tra pochissimo
Tornare in alto Andare in basso
Vedere il profilo dell'utente
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Gio Ott 25, 2007 8:08 pm

Codice:
e = raw_input('\nInvia qualcosa per cominiciare la sbronza\n')
if e != 'vogliorestaresobrio':
   z = 1
   while z == 1:
      a = 99
      y = ' bottles of beer on the wall,'
      g = ' bottles of beer.\nTake one down and pass it around,\n'
      j = ' bottles of beer on the wall.\n'
      while a != 0:
         print '\n',a,y,a,g,a - 1,j
         a = a - 1
      if a == 0:
         print 'No more' + y + 'no more' + j
         b = raw_input('\nAltra birra?\n.SI\n.NO\n\n')
         if b == 'SI':
            print '\nGo to the store and buy some more,',a,' bottles of beer on the wall'
         elif b == 'NO':
            print "\nFine sbronza"
            break
         else:
            print 'Già ubriaco?!\nPuoi scrivere solo SI o NO!!\nFine sbronza'
            break

decidete voi se lasciare o meno voglio restare sobrio
Tornare in alto Andare in basso
Vedere il profilo dell'utente
darkjoker
Admin
Admin


Numero di messaggi: 813
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: sbronza   Ven Ott 26, 2007 4:11 pm

carino... poi con quel
Codice:
print 'Già ubriaco?!\nPuoi scrivere solo SI o NO!!\nFine sbronza'

c'ha un pizzico di classe:D !

_________________
L'unico computer sicuro, è un computer spento.

Nel software esiste sempre almeno un bug, generalmente è localizzabile tra la tastiera e la sedia

Tornare in alto Andare in basso
Vedere il profilo dell'utente
darkphantom
hack-member
hack-member


Numero di messaggi: 398
Data d'iscrizione: 03.09.07

MessaggioOggetto: Re: sbronza   Dom Ott 28, 2007 3:56 pm

ecco il mio codice
Codice:

a=99
b=1
while b==1:
    if a>1:
        print a,"bottles of beer on the wall,",a,"bottles of beer.Take one down and pass it around,",a-1,"bottles of beer on the wall.\n"
        a-=1
    elif a==1:
        print a,"bottle of beer on the wall,",a,"bottle of beer.Take one down and pass it around,",a-1,"bottles of beer on the wall.\n"
        a-=1
    else:
        b=input("e finita la birra. comprarne altra?\n 1=si\n 0=no\n")
        if b==1:
            a=99

unico problema: non si legge niente
Tornare in alto Andare in basso
Vedere il profilo dell'utente
darkphantom
hack-member
hack-member


Numero di messaggi: 398
Data d'iscrizione: 03.09.07

MessaggioOggetto: Re: sbronza   Lun Ott 29, 2007 1:30 pm

ecco il mio codice, questa volta in C:
Codice:

#include<stdio.h>
main()
{
int a,b;
a=1;
b=99;
while (a==1)
      {if (b>1)     
            {printf("%d bottles of beer on the wall, %d bottles of beer.take one down and pass it around.%d botttles of beer on the wall\n",b,b,b-1);
            b-=1;}
      else
            {printf("non c'è più birra. comprarne altra?\n 1=sì\n 0=no\n");
            scanf("%d",&a);
            if (a==1)
              b=99;
}
}
}

ok, non sarà il massimo, però per me, fino a pochi giorni fa, C era solo una lettara dell'alfabeto...
ah, dimenticavo: alcuni caratteri, tipo"ì",per il C non esistono, quindi li sostituisce con cose strane... c'è un modo per togliere questo bug?
@blackhole: se vuoi un consiglio, prima di far chiudere brutalmente il programma, metti una input, qualcosa tipo
Codice:

print 'Già ubriaco?!\nPuoi scrivere solo SI o NO!!\nFine sbronza'
input("")
break

non serve a niente, ma dà il tempo di leggere, poichè aspetta che venga inserito qualcosa, ma non si disturba a leggere cosa hai inserito
Tornare in alto Andare in basso
Vedere il profilo dell'utente
certaindeath
Admin
Admin


Numero di messaggi: 343
Data d'iscrizione: 30.07.07

MessaggioOggetto: Re: sbronza   Lun Ott 29, 2007 4:22 pm

accidenti darkphantom da quand'è che cominci a postare lo stesso programma in tanti linguaggi??????
mi stai diventando come blacklight!!
Tornare in alto Andare in basso
Vedere il profilo dell'utente
black hole
membro
membro


Numero di messaggi: 90
Data d'iscrizione: 03.10.07

MessaggioOggetto: Re: sbronza   Mar Ott 30, 2007 3:50 pm

grazie per il consiglio...lo terrò a mente per i prossimi programmi..
Tornare in alto Andare in basso
Vedere il profilo dell'utente
 

sbronza

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 su2Andare alla pagina : 1, 2  Seguente

Permesso del forum:Non puoi rispondere agli argomenti in questo forum
Xhack :: Programmazione :: C/C++-