// Scheletro di codice per il progetto 2023 // In questo file NON ci deve essere nessuna dichiarazione "package" // come per esempio // // package progetto; // Potete aggiungere qui altri "import" per usare le librerie // standard di Java (ad es. lo Scanner). import java.io.*; import java.util.Scanner; // Opzionale, ma raccomandato. import progetto2023.Helper; // NON modificate in nessun modo la linea seguente public class Progetto { // Qui potete liberamente aggiungere altre funzioni / procedure. // Se volete, qui potete anche inserire variabili globali. // Se decidete di inserirle, dovete fare in modo che le funzioni // polyMultiply // polyApply // inizializzino tali variabili **ogni volta** che vengono chiamate. // Inizializzarle una volta sola nel main NON basta, visto che le // funzioni verranno chiamate piu` volte. // NON modificate in nessun modo la linea seguente public static void polyMultiply(String polyFileName1, String polyFileName2, String polyFileNameResult) { // Qui potete inserire il vostro codice, modificando lo stub esistente. } // NON modificate in nessun modo la linea seguente public static void polyApply(String polyFileName1, long val, String polyFileNameResult){ // Qui potete inserire il vostro codice, modificando lo stub esistente. } // Potete modificare il main liberamente. Potete per esempio eseguire // qualche test sulla funzione sopra, come quelli suggeriti sotto. // Ricordatevi che chi corregge il progetto NON eseguira` il vostro // main, ma i propri test. // public static void main(String[] args) { Helper.setSeed(28486); // Da cambiare per effettuare altri test int testAmount = 500; // Test semplice per moltiplicazione for ( int i = 0; i< testAmount; i ++ ){ String poly1 = "poly1.txt"; String poly2 = "poly2.txt"; String result= "result.txt"; Helper.genPolySimple(poly1); Helper.genPolySimple(poly2); polyMultiply(poly1, poly2, result); if ( ! Helper.testMultiply(poly1, poly2, result) ){ System.out.println("\nTest NON superato, per il seguente motivo:"); Helper.stampaErrore(); System.out.println("I polinomi che restituiscono errore sono salvati nei file poly1.txt e poly2.txt"); return; } } // Test semplice per applicazione for ( int i = 0; i< testAmount; i ++ ){ String poly = "poly1.txt"; String result= "result.txt"; Helper.genPolySimple(poly); long val = Helper.genValueApply(); polyApply(poly, val, result); if ( ! Helper.testApply(poly, val, result) ){ System.out.println("Test NON superato, per il seguente motivo:"); Helper.stampaErrore(); System.out.println("I polinomi che restituiscono errore sono salvati nei file poly1.txt e poly2.txt"); return; } } // Test per moltiplicazione for ( int i = 0; i< testAmount; i ++ ){ String poly1 = "poly1.txt"; String poly2 = "poly2.txt"; String result= "result.txt"; Helper.genPolyMultiply(poly1); Helper.genPolyMultiply(poly2); polyMultiply(poly1, poly2, result); if ( ! Helper.testMultiply(poly1, poly2, result) ){ System.out.println("Test NON superato, per il seguente motivo:"); Helper.stampaErrore(); System.out.println("I polinomi che restituiscono errore sono salvati nei file poly1.txt e poly2.txt"); return; } } // Test per applicazione for ( int i = 0; i< testAmount; i ++ ){ String poly = "poly1.txt"; String result= "result.txt"; Helper.genPolyApply(poly); long val = Helper.genValueApply(); polyApply(poly, val, result); if ( ! Helper.testApply(poly, val, result) ){ System.out.println("Test NON superato, per il seguente motivo:"); Helper.stampaErrore(); System.out.println("I polinomi che restituiscono errore sono salvati nei file poly1.txt e poly2.txt"); return; } } System.out.println("Tutti i test superati"); } }