Fatti

Nell'agosto 1992 Roger Y. presentò per conto della X. AG una richiesta scritta per la stipula di un'assicurazione di responsabilità civile, kasko totale e infortuni per una Mercedes-Cabriolet 500 SL. La società assicurativa Z. emise la relativa polizza nell'ottobre 1992. A causa del furto dell'auto assicurata nell'aprile 1993, la X. AG richiese la somma assicurata. Nel luglio 1993 la società assicurativa Z. comunicò alla X. AG che avrebbe rifiutato il pagamento, in quanto nel modulo di richiesta la domanda sul conducente più frequente era stata risposta in modo errato. La X. AG non lo negò, ma affermò che l'agente di vendita della società assicurativa aveva dichiarato che avrebbe fatto passare più rapidamente la richiesta se, invece del allora 24enne Roger Y., fosse stata indicata come conducente più frequente una persona più anziana.

Su richiesta della X. AG, il Tribunale di commercio del Cantone di Zurigo ha obbligato la società assicurativa Z. con sentenza del 22 settembre 1995 al risarcimento del valore attuale dell'auto pari a Fr. 120'000.--.

Legge

Il Tribunale federale ha annullato la sentenza del Tribunale di commercio e rinviato la controversia a quest'ultimo per chiarire i punti ancora aperti.

Ai sensi dell'art. 6 LCA, l'assicuratore può dichiarare il recesso entro quattro settimane dalla conoscenza della violazione dell'obbligo di notifica, se la persona tenuta alla notifica ha comunicato in modo inesatto un fatto rilevante per il rischio al momento della conclusione del contratto di assicurazione. Sul retro del modulo di richiesta, la convenuta ha fatto riferimento a questa disposizione e ha informato l'attrice che in caso di occultamento di fatti essenziali per il rischio,…