Scritto da davidonzo il 28/02/2007, in MioBlog
ATTENZIONE!
L'articolo che stai leggendo è stato scritto 679 giorni orsono.
Le informazioni presenti potrebbero non essere aggiornate!
Leggevo questo articolo sul blog di antirez. Sembra che negli USA molti provetti programmatori, ai colloqui non riescano a rispondere positivamente al seguente quesito:

Scrivere un programma che stampa i numeri da 1 a 100, scrivendo Fizz al posto del numero se il numero e' multiplo di 3, Buzz se il numero e' multiplo di 5 e per finire FizzBuzz se il numero e' sia multiplo di 3 che di 5.

Io non ho studiato informatica all'università, ma ho fatto (senza mai pentirmene) Economia e Commercio. C'ho messo 5 minuti a scrivere questo:

<?php

  function re($i){
    $div3 = ($i % 3);
    $div5 = ($i % 5);
    if($div3 == 0 && $div5 == 0){
      $i = "FizzBuzz";
    }elseif($div3 == 0 && $div5 != 0){
      $i = "Fizz";
    }elseif($div3 != 0 && $div5 == 0){
      $i = "Buzz";
    }
   
    echo $i . "<br />";
  }

  $i = 1;

  for ($i; $i <= 100; $i++){
    re($i);
  }
?>

Consultabile qui.

So benissimo che è una mezza cagata di codice. L'ho fatto come se fossi li ad un colloquio, senza avere la possibilità di cercare o consultare manuali. Dovendo fare tutto di getto.

Ricordo ancora con orrore quando, da una laureanda in Informatica (un futuro 110 e Lode), mi fu chiesto come si apriva e cos'era quel coso .tar.gz che gli avevo mandato...
Hai trovato l'articolo interessante?
Sottoscrivi il Feed RSS per essere informato automaticamente degli ultimi aggiornamenti!
 
.Commenti rss
# 1
In effetti fai 2 controllini in più del dovuto :P


PS: Sono in uni e aspetto il mio turno per discutere il progetto... che sia in giro a rompere le balle è comprensibile direi.
Di ilSilente  (Inviato il 28/02/2007 @ 15:05:07)
# 2
Eh, lo so che si poteva scrivere più snello, ma l'ho fatto volutamente di botto...

Che progetto devi discutere? La conquista dell'univers(ità)ò?
Di davidonzo  (Inviato il 28/02/2007 @ 15:12:29)
# 3
Così al volo, non l'ho controllato quindi potrebbe anche non funzionare... (io l'università l'ho abbandonato dopo 1 anno buttato)

for ($i = 0; $i <= 100; $i++){
$to_print = ($i % 3) ? '' : 'Fizz';
$to_print .= ($i % 5) ? '' : 'Buzz';
echo $to_print;
}
Di claudio  (Inviato il 28/02/2007 @ 15:54:03)
# 4
Molto bello quello di claudio.

Comunque, donzo, era la discussione di una serie di algoritmi per un esame chiamato Analisi Numerica. Odio gli esami di matematica... ho dovuto utilizzare tutta la mia sopraffina intelligenza per riuscire a copiare il tutto :D
Di ilSilente  (Inviato il 28/02/2007 @ 17:00:29)
# 5
LOL Luca, io cmq so' cose ' il .Tar.Gz , merito pure io un 110.. ? : - D
Di cadex1  (Inviato il 28/02/2007 @ 17:20:26)
# 6
Quello di claudio sostituisce il numero nel caso la condizione sia soddisfatta, ma nel caso non lo sia ritorna una variabile vuota.

@ ilSilente: spero il tuo prof legga questo blog :D
Di davidonzo  (Inviato il 28/02/2007 @ 17:27:38)
# 7
perchè non riesco ad aprire i file rar chi mi aiuta
Di Anonimo  (Inviato il 28/02/2007 @ 18:13:47)
# 8
Non sarà il massimo dell'eleganza ma funziona : - P

<code><?php
for ($numero=1;$numero<=100;$numero++) {
$risultato = "";
if (($numero % 3) == 0) {$risultato="fizz";}
if (($numero % 5) == 0) {$risultato.="buzz";}
if ($risultato=="") {$risultato=$numero;}
echo $risultato . "<br />";
}
?></code>

Partorito in 6 minuti da un programmatore a tempo perso E - )

@anonimo: oltre a chiedere aiuto nei posti giusti, scaricati 7zip
Di PseudoTecnico  (Inviato il 01/03/2007 @ 19:44:48)
# 9
@ Pseudo: non c'è bisogno del code. Anzi è proprio superfluo. I tag vengono tradotti automaticamente in html ; - )

E forse non serviva nemmeno rispondere all'anonimo. IMHO è uno scherzone...
Di davidonzo  (Inviato il 01/03/2007 @ 20:07:45)
# 10
Me ne sono accorto dopo del tag CODE visto che non c'è anteprima ; - )
Di PseudoTecnico  (Inviato il 01/03/2007 @ 20:10:31)
# 11
: - )
Di Anonimo  (Inviato il 07/03/2007 @ 15:28:55)


I commenti possono essere moderati.
Se non lo vedi comparire subito non reinserirlo più volte.
Grazie per la gentile collaborazione.