[gl-como] Tecniche di programmazione: break e continue

Matteo Cavalleri theos@bp.lnf.it
Mer 2 Mar 2005 17:11:04 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

in realtà questi non mi sembrano affatto dei casi che necessitano di
break:

~ ci proviamo:

in qs caso basta porre la condizione del ciclo alla fine.
diamo x scontato che si tratti di c (non conosco php), nota che le
break ci vogliono x la sintassi dello switch, altimenti fai_1
eseguirebbe anche fai_2 e così via  ma questa è solo un flavour del
linguaggio utilizzato...

do {
...stampa menu... (opzione 9: Esci)
leggi(Opzione);
switch(Opzione)
{
1: fai_1; break;
2: fai_2; break;
3: fai_3; break;
9: fai_nulla;
} while (Opzione!=9)
}



anche qui, non conoscendo in php provo in pseudocodice....,
e ne faccio solo un pezzettino. che ne dici?

lista=crea_una_lista_contenente_i_valori("admin" , "common" ,
"graphic","patch","personal","users");

$directory = opendir("{$level}");
while (($module = readdir()) !== FALSE) {
if ($module == ".") {
continue;
}
if ($module == "..") {
continue;
}
if (file_exists("{$level}{$ossigeno}{$module}/info/install.php"))
~  {

~  pos=posizione($module,lista);
~   switch(pos)
~   {
~   :-1 stampa errore;
~   :0 admin();
~   :1 graphic();
~   :2 patch();
~   :3 personal();
~   :4 users();
~  }
}




Scripter wrote:

| Ho scatenato una guerra... 8-) Per i fanatici delle analisi:
| osservate il codice php seguente e spiegatemi come sarebbe
| possibile raggruppare le condizioni:
| -------------------------------------- //list of available modules
| $directory = opendir("{$level}"); while (($module = readdir()) !==
| FALSE) { if ($module == ".") { continue; } if ($module == "..") {
| continue; } if
| (!file_exists("{$level}{$ossigeno}{$module}/info/install.php")) {
| continue; } if ($module == "admin") { continue; } if ($module ==
| "common") { continue; } if ($module == "graphic") { continue; } if
| ($module == "lang") { continue; } if ($module == "patch") {
| continue; } if ($module == "personal") { continue; } if ($module ==
| "users") { continue; } if (sql_num_rows(sql_query("SELECT * FROM
| xax WHERE (name LIKE '$module')"))) { continue; } echo "<option
| value=\"$module\">$module</option> "; } closedir($directory);
| -------------------------------------- senza fare una condizione o
| un booleano da 6-7 righe. Questo menu invece:
| -------------------------------------- while (1) { ...stampa
| menu... (opzione 9: Esci) leggi(Opzione); caso Opzione di :'1'
| fai_1; :'2' fai_2; :'3' fai_3; .... :'9' break; }
| -------------------------------------- Non è più leggibile così?
| Credo che la prof di Info esageri, pensa delle cose del tipo: "Se
| qualcuno usa dei break nei programmi, o non fa l'analisi, anatema
| su di lui!"
|
|
| ________________________________________________ Message sent using
| Webmail by Natan.it 2.7.2
|
|

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCJeWYFjI78GNTqsYRAmxTAJ9GHpR0HRYbOI/SvWDg5N+XCzqhnACffwTv
N4R60gnzX/p+FpFgV3yGOiA=
=YNAG
-----END PGP SIGNATURE-----

-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        theos.vcf
Tipo:        text/x-vcard
Dimensione:  332 bytes
Descrizione: non disponibile
Url:         http://lists.linux.it/pipermail/gl-como/attachments/20050302/6cd7f011/theos.vcf


Maggiori informazioni sulla lista gl-como