.dsy:it. Pages (5): « 1 [2] 3 4 5 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- [Indentazione] Problema!!! (http://www.dsy.it/forum/showthread.php?threadid=24038)


Posted by Drowne on 10-02-2006 11:36:

scusate... per l'identazione:

Non basta mettere una variabile nell'hashtable che possa valere 0, 2, 4 o 6 e poi fare un for con quella variabile di spazi vuoti in ogni toString? Quando lanciamo un if o un while incrementiamo di 2 la variabile nell'hashtable, ecc...


Posted by Skioda86 on 10-02-2006 11:59:

Drowne

scusate... per l'identazione:

Non basta mettere una variabile nell'hashtable che possa valere 0, 2, 4 o 6 e poi fare un for con quella variabile di spazi vuoti in ogni toString? Quando lanciamo un if o un while incrementiamo di 2 la variabile nell'hashtable, ecc...


Sono d'accordo con te. Anche io l'avevo pensato di inserire delle variabili String di spazi, ma il proble ma sorge, non quando si inizia a mettere gli spazi, ma quando è ora di smettere di usarli!!!!
Come fai a sapere quante istruzioni metterà dentro ad un if o ad un while?? Se vogliamo identare il nostro programma, ok, si può fare perchè sappiamo la lunghezza di tutte le istruzioni, ma se dobbiamo estenderlo a qualsiasi programma, penso che il ragionamento non tenga più...!!! Almeno......x la mia piccola testolina con poco cervello!!!! :roll:

__________________
- - {[( KEVIN HIGHT FLY)]} - -


Posted by spenk.85 on 10-02-2006 12:11:

Esatto! il problema è creare qualcosa di utilizzabile per qualsiasi main!
Il problema più grosso sorge quando ad esempio, mi becco una Itarazione.
Quasta stampa :

code:
WHILE (cazzi e mazzi) ....istr

questo perchè il toString di Iterazione e di Selezione prevedono che vengano aggiunti due spazi.
Però se l'istruzione corpo di Iterazione per esempio, è composta da una Sequenza(quindi più istruzioni) il risulatato sarebbe questo:
code:
WHILE (ricazzi e rimazzi) .....istr1; istr2;

questo è il vero macello!


Posted by Skioda86 on 10-02-2006 12:38:

Esatto! il problema è creare qualcosa di utilizzabile per qualsiasi main!
Il problema più grosso sorge quando ad esempio, mi becco una Itarazione.
Quasta stampa :

code:
WHILE (cazzi e mazzi)
....istr


questo perchè il toString di Iterazione e di Selezione prevedono che vengano aggiunti due spazi.
Però se l'istruzione corpo di Iterazione per esempio, è composta da una Sequenza(quindi più istruzioni) il risulatato sarebbe questo:

code:
WHILE (ricazzi e rimazzi)
.....istr1;
istr2;


questo è il vero macello!


COMPLIMENTS X LA SPIEGAZIONE! SON CON TE!
MAGARI SONO ANCOR PIU' CON TE SE SAPESSI COME RISOLVERE IL PROBLEMA!!!:)

SE ALMENO CI AVESSE LASCIATO USARE LE PARENTESI GRAFFE!!! Inizio e fine cliclo delimitate dallo stringTokenizer e/o dalla subString!!!!:(

Ho provato ad utilizzare i 2 metodi sopraelencati nel nostro caso, ma il problema di DOVE FARLI FINIRE non si risolve!!!
Quasi quasi lo consegno così e basta!

__________________
- - {[( KEVIN HIGHT FLY)]} - -


Posted by Drowne on 10-02-2006 12:44:

Dopo mangiato provo quello che ho pensato, e dovrebbe andare anche quando c'è sequenza :D


Posted by lucafiamma on 10-02-2006 12:53:

aiuto!!

aiuto!sono nella me*da..sono rimasto da solo e devo assolutamente finire questo progetto!!qualcuno che ha già finito ed è di animo veramente buono potrebbe aiutarmi...Io ho già scritto tutto ma correggo un errore e ne spunta un altro...Vi prego una mente illuminata potrebbe darmi qualche dritta! Grazie Mille ve ne sarò grato per sempre!!


Posted by Skioda86 on 10-02-2006 13:45:

Drowne

Dopo mangiato provo quello che ho pensato, e dovrebbe andare anche quando c'è sequenza :D


...Pendo dalle tue labbra come la birra DUFF...

PRIMA: :birrozza: DOPO: :pazzo:

__________________
- - {[( KEVIN HIGHT FLY)]} - -


Posted by Vorgoth on 10-02-2006 15:04:

A me invece da:

code:
DECLARE s; DECLARE arg1; arg1 = 5; IF (arg1<=0) PRINT "Primo argomento invalido"; ELSE DECLARE arg2; arg2 = 10; IF (arg2<=0) PRINT "Secondo argomento invalido"; ELSE WHILE (arg1!=0) arg1 -= 1; s += 1; WHILE (arg2!=0) arg2 -= 1; s += 1; PRINT s; 15


con tutte quelle righe vuote....o_____o boh.

__________________
...!


Posted by sg693322 on 10-02-2006 15:49:

confrontandomi con qualche compagno di corso ho capito come indentare... solo che nel mio programma indenta in maniera sbagliata... se non riesco a risolvere mi sa che faccio \n(spazio)(spazio)... e se alla discussione mi chiede qualcosa gli rispondarò: e chi ha mai detto di usarlo con altri main???

__________________
Serena...
Cerchiamo di vivere bene a tal punto che quando moriremo anche il becchino sia triste...


Posted by Drowne on 10-02-2006 16:08:

avevo pensato a cose del genere:

if (PIGLIA DALL'HASH == null) nspazi=0; else nspazi=CARICA DALL'HASH;
for(int i=0; i<nspazi; i++){ spazio = spazio + " "; }

return spazio+"DECLARE "+variabile+";\n";

in ogni tostring...


e fare dei put nell'hashtable con "spazio",nspazi+2 negli if e nei while...


Posted by sg693322 on 10-02-2006 16:26:

io l'avevo pensato con un ciclo for e una variabile statica...

__________________
Serena...
Cerchiamo di vivere bene a tal punto che quando moriremo anche il becchino sia triste...


Posted by sg693322 on 10-02-2006 16:50:

Ragazzi ero davanti alla soluzione corretta da ore ma pensavo fosse sbagliata... stasera festeggiamo con birra a volontà e r***o libero... alla fantozzi

__________________
Serena...
Cerchiamo di vivere bene a tal punto che quando moriremo anche il becchino sia triste...


Posted by Drowne on 10-02-2006 17:10:

Qualcuno mi conferma se è corretta?


Posted by sbrandu on 10-02-2006 17:24:

Secondo me il secondo if deve essere allineato sotto arg2=5 per il resto è corretta.. ci dici come hai fatto ad arrivare a quell'output che è già un enorme passo avanti?


Posted by Drowne on 10-02-2006 17:38:

si hai ragione:

code:
DECLARE s; DECLARE arg1; arg1 = 10; IF(arg1<=0) PRINT ''Primo argomento invalido''; ELSE DECLARE arg2; arg2 = 5; IF(arg2<=0) PRINT ''Secondo argomento invalido''; ELSE WHILE(arg1!=0) arg1 -= 1; s += 1; WHILE(arg2!=0) arg2 -= 1; s += 1; PRINT s; 15


All times are GMT. The time now is 18:06. Pages (5): « 1 [2] 3 4 5 »
Show all 61 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.