elecim91 ha scritto:
Quindi dovrei fare solo documenti.write(ast) senza br?
Questo è ancora problematico, proviamo ad eseguire mentalmente l'algoritmo:
Prima iterazione (num=0): avresti che ast vale "*", e docuiment.write(ast) scriverebbe un schermo il suo primo asterisco. Fin qui tutto bene!
Seconda iterazione (num=1): arriva il problema: l'istruzione ast = ast+"*" aggiunge un asterisco ad ast, e quindi ast adesso contiene due asterischi (ast vale "**"), e poi se fai documenti.write(ast) allora stampi a schermo due nuovi asterischi. Quindi in totale alla seconda iterazione ne hai stampati tre!
Terza iterazione (num=2): ast vale "***" e se lo stampi a schermo questi tre asterischi si aggiungono agli altri tre, per un totale di sei.
Alla fine: invece che stampare un numero di asterischi pari alla base, ad ogni iterazione stampi anche quelli precedenti.
Io ti propongo due soluzioni:
soluzione 1: dimenticati della variabile ast. Ad ogni iterazione fai document.write("*"); e dopo il loop aggungi l'a-capo con document.write('<br/>').
soluzione 2: maniteni la variabile ast che "accumula" gli asterischi durante il loop, ma il suo contenuto lo stampi solo DOPO aver terminato il loop con documenti.write(ast+'<br/>')