SIMULA 1.3 beta: - aggiunto il tracciamento delle attività che violano le regole - modificati gli algoritmi di riduzione delle regole - aggiunto un flag di secondo livello per le attivita' che violano le regole - migliorato il sistema di correzione della carriera (adesso corregge anche le attivita che violano le regole) - sistemate le procedure di controllo per far fronte a casi imprevisti e quindi cambiate le procedure di controllo 1) ora il controllo della carriera non ingloba il controllo dell'offerta 2) durante il controllo globale non vengono più effettuati controlli a priori ma vengono chiamati tutti i controllori NB: alcuni commenti non hanno più validità in quanto si riferiscono alle vecchie restrizioni - aggiornati i seguenti comani: check: controllo globale checkcarrier: controlla la carriera - redatta la documentazione: history.txt: questo documento konsole.txt: breve excursus sui comandi di konsole simula.htm: documentazione generica SIMULA 1.2 beta: - sistemato il file di inizializzazione e di menu ora il prompt viene letto dal file simula.inf - corrette alcune imperfezioni grafiche - aggiunti controlli per il caricamento file - stesura definitiva del diagramma a classi SIMULA 1.2 alpha: - implementato un primitivo approccio grafico per l'interfaccia (compatibile linux e unix) NB: sono richieste le libreria grafiche curses. In seguito a ciò: -L'OGGETTO COMMAND HA CAMBIATO IL METODO PER ACCESSO AL DATO DA GetChar A GetCommand -OGNI OGGETTO POSSIEDE ORA UN'ISTANZA GetChar PER TRASFORMARLO IN UNA STRINGA DA PASSARE A Display::Out -OGNI OGGETTO POSSIEDE ORA UN MEMBRO buffer UTILIZZATO NELLA TRASFORMAZIONE IN STRINGA IN GetChar -LA LISTA NECESSITA PER L'OUTPUT CHE OGNI SUO OGGETTO POSSIEDA GetChar -L'INPUT UTENTE E' GESTITO DA Display::Get - il comando 'stop' non e' piu' considerato "pericoloso" in quanto tutta la memoria viene scaricata in chiusura - ora il programma non crasha quando viene eseguito il controllo di uguaglianza tra due regole e una delle due regole manca di un campo opzionale (per es: almeno 180 crediti complessivamente; manca dei campi tipo_ambito e lista_ambito) - in fase di caricamento viene riconosciuta la fine inaspettata della linea (rule, activity, exam) - al caricamento viene ora data precedenza ai nomi dei file indicati nella linea di comando invece che a quelli nello script di inizializzazione - aggiunte varie segnalazioni per l'utente su errori e caricamenti - le attivita' della carriera non ordinate cronologicamente ora non vengono piu' spostate automaticamente al momento del controllo - ora durante il controllo vengono contati gli errori trovati e i vincoli violati - nuove variabili globali errors e violations che tengono traccia di eventuali errori e vincoli violati - le attivita' "errate" in carriera vengono marcate in lista e non vengono conteggiate durante il controllo dell'ordinamento - al termine dell'inserimento aggiunta la possibilita' di eliminare l'attivita' appena inserita se questa ha causato nuovi errori o violazioni di vincoli - al termine della rimozione aggiunta la possibilita' di reinserire l'attivita' appena rimossa se questa ha causato nuovi errori - durante il caricamento viene segnalato se non si trova l'intestazione per il file (ordinamento, offerta) e se non e' stato trovato "FINE" prima della fine del file - nel controllo dell'offerta viene verificato se le attivita' propedeutiche sono in offerta, se no viene segnalato errore e l'attivita' viene rimossa - nel controllo dell'ordinamento viene verificato se le attivita' e i settori sono descritti in offerta, se no viene segnalato errore e la regola viene rimossa - sviluppati due script per la compilazione sotto linux (compilelx) e unix (compileux) - aggiunti i seguenti comandi: exit: esce dal corrente sistema di input pause: attende che l'utente prema setpausize: setta il valore di pausa (1 si ferma ad ogni pagina, 0 continua) (per velocita' durante test) showchr: restituisce il numero ASCII corrispondente al tasto premuto (per implementazione) sysinfo: stampa il valore di tutte le variabili globali del programma clearcarrier: sistema gli errori della carriera - aggiornati i seguenti comandi: stop: interrompe il programma - rimossi i seguenti comandi: hideactivity unhideactivity SIMULA 1.1 alpha: - ora lo script di inizializzazione (simula.inf) viene caricato prima del controllo degli argomenti: questo permette all'utente di personalizzare la fase di caricamento escludendo quindi l'analisi dei parametri all'avvio; per esempio ora è possibile richiedere i nomi dei file runtime oppure usare file predefiniti usando loadlist dove al posto di c'e' il tipo di lista (exam, activity, rule) e al posto di il nome del file (o %?) - implementata una nuova lista globale (NOPROP_ACTIVITY_LIST) per tenere in memoria le attività con propedeuticità completata e in relazione: 1) il comando: "nopropact: stampa le attività con propedeuticità completata" è stato sostituito col comando "printnoproplist []: stampa le attività con propedeuticità completata" 2) il comando "checkcarrier" ora ingloba il comando "checkoffer" che carica le attività con propedeuticità completata e la nuova procedura di stampa per le attività con propedeuticità completata "printnoproplist NORMAL" NB: il "checkoffer" viene eseguito in maniera isolata solo quando non e' stata caricata la carriera 3) il comando addexam ora si basa su questa lista per l'inserimento delle attività - ora il programma non dice più che l'ordinamento e' soddisfatto se l'ordinamento e' stato cancellato - corretti i controlli dopo il caricamento e la cancellazione delle liste - sostituiti tutti i "cout" con la procedura "VIDEO::Out" - migliorato l'output su schermo al termine del controllo dell'ordinamento - ora in chiusura il programma non va in crash se non si era specificato il nome del file della carriera - aggiunti i seguenti comandi: delmenu: cancella il menu printnoproplist []: stampa le attività con propedeuticità completata - aggiornati i seguenti comandi: checkcarrier: controlla la carriera e controlla l'offerta check: controllo globale selettivo (dipende da cosa è stato caricato) - rimossi i seguenti comandi: nopropact SIMULA 1.0 alpha: - tutti i requisiti soddisfatti - sviluppata la konsole con i seguenti comandi: addexam: attiva il form per aggiungere attività alla carriera bind : associa ad una alias (prima ) un comando (seconda ) cmdlist: stampa la lista dei comandi check: controllo globale checkcarrier: controlla la carriera e chiama il comando nopropact checkoffer: controlla l'offerta checkorder: controlla l'ordinamento delactivitylist: cancella l'offerta delexam : cancella un attività dalla carriera delexamlist: cancella la carriera delrulelist: cancella l'ordinamento delstring : cancella una stringa dalla lista stringhe delstringlist: cancella la lista di stringhe echo : stampa su schermo exec : esegue i comandi contenuti in hideactivity : nasconde un'attività in offerta loadactivitylist []: carica l'offerta loadexamlist []: carica la carriera loadmenu : carica il menu loadrulelist []: carica l'ordinamento loadstringlist : carica una lista di stringhe nopropact: stampa le attività con propedeuticità completata printactivitylist []: stampa l'offerta printbindlist []: stampa la lista dei comandi assegnati printexamlist []: stampa la carriera printrulelist []: stampa l'ordinamento printstringlist []: stampa la lista di stringhe removeexam: attivita il form per rimuovere attività dalla carriera saveexamlist []: salva la carriera savestringlist : salva la lista di stringhe setlevel : setta il livello di informazioni da stampare a schermo setlog : setta il tipo di registrazione delle informazioni stop: interrompe il programma saltando la normale procedura (pericoloso) unhideactivity : ripristina un'attività in offerta