Applicazione multipiattaforma per esercitarsi con i quiz del corso Ricerca Operativa M.
L'app permette di simulare dei quiz d'esame: vengono pescate, in modo casuale, delle domande a risposta multipla a cui l'utente deve rispondere entro un tempo limite, definito da un timer.
Pool corrente: 107 domande differenti (ultima modifica: 2023-07-19).
Download · Spiegazione Domande · Feature Request | Bug Report
Demo quiz | Argomenti e lista domande | Impostazioni |
Tempo scaduto | Demo app |
Per ora è accessibile al mio sito web: mikyll.github.io/projects/roquiz/play
L'obiettivo dell'applicazione è esercitarsi coi quiz dopo aver studiato la teoria (molto meglio se dal libro, in quanto è completo ed esaustivo). Non mi assumo responsabilità di alcun tipo nel caso di errori nelle domande o nelle risposte, né tantomento nel caso di bocciature potenti. Fatene un buon uso e buona fortuna con l'esame <3
Scaricare l'ultima release, per il proprio dispositivo (desktop/mobile).
Le domande sono caricate da un file di testo (.txt) che ha il seguente formato:
- (opzionale) Argomenti:
- la riga di un argomento inizia col carattere speciale '@', seguito dal titolo dell'argomento (es: Complessità). Ogni riga di argomento è seguita dalle domande relative a quell'argomento, fino all'argomento successivo. Alla fine della riga dell'argomento possono essere usati caratteri non alfabetici (ad esempio '=') per separare visivamente le domande di argomenti differenti (tali caratteri verranno ignorati).
- Domande:
- una riga per la domanda;
- 5 righe per le risposte (la riga inizia con una lettera maiuscola, seguita da un punto e dalla risposta);
- una riga per la risposta corretta (una lettera da A a E);
- una riga vuota se non è l'ultima domanda (questa riga separa la domanda da quella successiva, o dall'argomento successivo).
NB: non è importante la lettera con cui iniziano le risposte, basta che siano in ordine, altrimenti la risposta giusta e la lettera non corrispondono.
esempio (tre domande di due argomenti diversi nel file Domande.txt):
@Programmazione Matematica ============================================================================= Dato un insieme F, un intorno è A. L'insieme di tutti i sottoinsiemi di F B. L'insieme dei punti di F a distanza minore di epsilon da un punto x di F C. Una funzione N: F -> 2^F D. Una combinazione convessa di due punti x e y di F E. Nessuna di queste C @Dualità =============================================================================================== Se un problema di programmazione lineare (primale) ha soluzione ottima finita, allora: A. Il suo duale non è detto che abbia soluzione ottima finita. B. Anche il suo duale ha soluzione ottima finita e i valori delle soluzioni coincidono. C. Anche il duale ha soluzione ottima finita, ma non è detto che i valori delle soluzioni coincidano. D. Anche il duale ha soluzione ottima finita, ma i valori delle due soluzioni non coincidono. E. Nessuna di queste B Quale tra queste affermazioni è falsa rispetto ad una corrispondenza primale-duale? A. Ai costi corrispondono condizioni su variabili e viceversa. B. I vincoli sono dati dalle righe di A per il primale, dalle colonne di A per il duale. C. Ai costi corrispondono i termini noti e viceversa. D. Ad un vincolo corrisponde una condizione su una variabile e viceversa. E. Nessuna di queste. A
Questo documento, a cura di Lorenzo di Palma e Filippo Veronesi, contiene la spiegazione alla maggior parte delle domande presenti nel quiz.
Vedi CONTRIBUTING.md.
mikyll |
filippoveronesi |
TryKatChup |
Federicoand98 |
lollofred |
RedDuality |
Features dell'app e sviluppi futuri.
Feature | 🖥️|📱 |
Visualizzazione lista domande in-app | ✔️ |
Possibilità di modificare il file domande | ✔️ |
Scelta degli argomenti | ✔️ |
Visualizzazione lista domande (totale, pool, per argomento) | ✔️ |
Strumento di ricerca delle domande per keystring | ✔️ |
Impostazioni persistenti | ✔️ |
Impostazione: tema scuro | ✔️ |
Impostazione: toggle controllo aggiornamenti app | ✔️ |
Impostazione: toggle controllo nuove domande | ✔️ |
Impostazione: modifica del file domande (da dentro l'applicazione) | ✔️ |
Impostazione: caricamento file domande esterno | ✔️ |
Impostazione: modifica del numero di domande del quiz | ✔️ |
Impostazione: modifica del timer del quiz | ✔️ |
Impostazione: toggle mescolamento delle risposte | ✔️ |
Impostazione: toggle alert di conferma | ✔️ |
Impostazione: toggle tema scuro | ✔️ |
Template per pubblicare una issue | ✔️ |
Impostazione: modifica del file domande (reference) | ✔️ |
Modifica domande: scroll automatico alla riga dell'errore | ❌ |
Controllo domande duplicate | ❌ |
Unit/Function test | ❌ |
Pipeline CI/CD per build e deploy | ❌ |
Versione web ospitata su GitHub pages | ❌ |
- IDE: VSCode v1.81.1
- Framework: Flutter v3.13.1
- Scaricare l'SDK Flutter dal sito web docs.flutter.dev.
- Assicurarsi di aver inserito la directory
bin/
alla variabile d'ambientePATH
. - Aprire un terminale e lanciare
flutter doctor
.
Questo comando indica se ci sono problemi con l'SDK e fornisce informazioni sulle dipendenze necessarie per il suo funzionamento. - Lanciare il comando
flutter run
per avviare l'applicazione. Flutter chiederà di selezionare il dispositivo (es. Chrome, Android). Si può specificare direttamente il device id con l'opzione-d
, ad esempio per la versione web con Microsoft Edge:flutter run -d edge
Il progetto dell'applicazione flutter si trova nella directory app-mobile/flutter_application
.
Per compilarlo, lanciare uno dei comandi seguenti, in base all'output desiderato:
- Android:
flutter build apk --split-per-abi
; - Windows:
flutter build windows
; - Linux:
flutter build linux
; - Web:
flutter build chrome
,flutter build edge
.
Link e risorse a cui ho fatto riferimento durante lo sviluppo dell'app.
- Ciclo di vita della classe Application
- Guida a classe Timeline usata per realizzare il countdown: Timers in JavaFX and ReactFX
- Lavorare coi moduli Java: Java 9 Modules in Eclipse
- Creare jre custom con JavaFX (jlink): Custom jre with JavaFX 11 e How to use jlink to create a Java image with javafx modules
- JavaFX ottenere HostService senza riferimento alla classe Application (Main extends Application): Open a link in a browser without reference to Application
- Soluzione per eccezione SSL handshake: SSLHandshakeException: Received fatal alert: handshake_failure
- Gestione dei moduli (ad esempio Gson): InaccessibleObjectException ("Unable to make {member} accessible: module {A} does not 'opens {package}' to {B}")
- JavaFX CSS Docs
- Fix puntini bianchi negli angoli della TextArea, usando il tema scuro
- StackOverflow GitHub latest version
- Richieste HTTP con java.net
- Using jlink to Build Java Runtimes for non-Modular Applications
- Download asset Flutter
- LongPress Widget
- Flutter CI/CD using GitHub Actions
- Build Flutter Installers:
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.