diff --git a/0721_0/correct.txt b/0721_0/correct.txt new file mode 100644 index 0000000..ddb0d65 --- /dev/null +++ b/0721_0/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [0, 5]. \ No newline at end of file diff --git a/0721_0/quest.txt b/0721_0/quest.txt new file mode 100644 index 0000000..030fe95 --- /dev/null +++ b/0721_0/quest.txt @@ -0,0 +1,17 @@ +Si consideri il monitor seguente che ritorna true appena i requisiti per il sistema monitorato sono violati. +
+block Monitor
+input Real x;  
+output Boolean y;
+Boolean w;
+initial equation
+y = false;
+equation
+w = ((x < 0) or (x > 5));
+algorithm
+when edge(w) then
+y := true;
+end when;
+end Monitor;
+
+Quale delle seguenti affermazioni meglio descrive il requisito monitorato. \ No newline at end of file diff --git a/0721_0/wrong1.txt b/0721_0/wrong1.txt new file mode 100644 index 0000000..7c7a691 --- /dev/null +++ b/0721_0/wrong1.txt @@ -0,0 +1 @@ +La variable x è minore di 0. \ No newline at end of file diff --git a/0721_0/wrong2.txt b/0721_0/wrong2.txt new file mode 100644 index 0000000..3e05ae7 --- /dev/null +++ b/0721_0/wrong2.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [0, 5]. \ No newline at end of file diff --git a/0721_1/correct.txt b/0721_1/correct.txt new file mode 100644 index 0000000..f8c9568 --- /dev/null +++ b/0721_1/correct.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1. \ No newline at end of file diff --git a/0721_1/quest.txt b/0721_1/quest.txt new file mode 100644 index 0000000..943e151 --- /dev/null +++ b/0721_1/quest.txt @@ -0,0 +1,11 @@ +Si consideri il seguente modello Modelica: +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 2) then + x = 1 - pre(x); +end when; +end System; +Quale delle seguenti affermazioni è vera per la variabile intera x? \ No newline at end of file diff --git a/0721_1/wrong1.txt b/0721_1/wrong1.txt new file mode 100644 index 0000000..f485a50 --- /dev/null +++ b/0721_1/wrong1.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 3 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1. \ No newline at end of file diff --git a/0721_1/wrong2.txt b/0721_1/wrong2.txt new file mode 100644 index 0000000..a7af2cb --- /dev/null +++ b/0721_1/wrong2.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 0. \ No newline at end of file diff --git a/0721_10/correct.txt b/0721_10/correct.txt new file mode 100644 index 0000000..222d407 --- /dev/null +++ b/0721_10/correct.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito una volta che il sistema è stato completamento integrato. \ No newline at end of file diff --git a/0721_10/quest.txt b/0721_10/quest.txt new file mode 100644 index 0000000..50d5c3c --- /dev/null +++ b/0721_10/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti affermazioni è vera riguardo al performance testing? \ No newline at end of file diff --git a/0721_10/wrong1.txt b/0721_10/wrong1.txt new file mode 100644 index 0000000..32fbe84 --- /dev/null +++ b/0721_10/wrong1.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito su un prototipo del sistema. \ No newline at end of file diff --git a/0721_10/wrong2.txt b/0721_10/wrong2.txt new file mode 100644 index 0000000..74bed2a --- /dev/null +++ b/0721_10/wrong2.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito solo sulle componenti del sistema prima dell'integrazione. \ No newline at end of file diff --git a/0721_11/correct.txt b/0721_11/correct.txt new file mode 100644 index 0000000..61e5080 --- /dev/null +++ b/0721_11/correct.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 40) and (delay(x, 10) > 1) and (y < 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_11/quest.txt b/0721_11/quest.txt new file mode 100644 index 0000000..1dbc484 --- /dev/null +++ b/0721_11/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 40 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato x era maggiore di 1 allora ora y è nonegativa. +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_11/wrong1.txt b/0721_11/wrong1.txt new file mode 100644 index 0000000..9c912b6 --- /dev/null +++ b/0721_11/wrong1.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 40) and (delay(x, 10) > 1) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_11/wrong2.txt b/0721_11/wrong2.txt new file mode 100644 index 0000000..7711cd7 --- /dev/null +++ b/0721_11/wrong2.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 40) or (delay(x, 10) > 1) or (y < 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_12/correct.txt b/0721_12/correct.txt new file mode 100644 index 0000000..b305b5a --- /dev/null +++ b/0721_12/correct.txt @@ -0,0 +1 @@ +Costruire un prototipo, eseguirlo usando dati storici dai log di produzione e valutare la capacità del prototipo di ridurre gli scarti. \ No newline at end of file diff --git a/0721_12/quest.txt b/0721_12/quest.txt new file mode 100644 index 0000000..a3b86e7 --- /dev/null +++ b/0721_12/quest.txt @@ -0,0 +1 @@ +Una azienda manifatturiera desidera costruire un sistema software per monitorare (attraverso sensori) la produzione al fine di ridurre gli scarti. Quali delle seguenti attività contribuisce a validare i requisiti del sistema. \ No newline at end of file diff --git a/0721_12/wrong1.txt b/0721_12/wrong1.txt new file mode 100644 index 0000000..5187be2 --- /dev/null +++ b/0721_12/wrong1.txt @@ -0,0 +1 @@ +Costruire un prototipo, eseguirlo usando dati storici dai log di produzione e valutarne le performance. \ No newline at end of file diff --git a/0721_12/wrong2.txt b/0721_12/wrong2.txt new file mode 100644 index 0000000..52330c1 --- /dev/null +++ b/0721_12/wrong2.txt @@ -0,0 +1 @@ +Costruire un prototipo, eseguirlo usando dati storici dai log di produzione ed identificare errori di implementazione. \ No newline at end of file diff --git a/0721_13/quest.txt b/0721_13/quest.txt new file mode 100644 index 0000000..3efbece --- /dev/null +++ b/0721_13/quest.txt @@ -0,0 +1,4 @@ +Si consideri l'automa segunete: + + +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'automa di cui sopra. \ No newline at end of file diff --git a/0721_13/wrong1.txt b/0721_13/wrong1.txt new file mode 100644 index 0000000..47cf8cd --- /dev/null +++ b/0721_13/wrong1.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := 1 + x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/0721_13/wrong2.txt b/0721_13/wrong2.txt new file mode 100644 index 0000000..4c7125e --- /dev/null +++ b/0721_13/wrong2.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/0721_13/wrong3.txt b/0721_13/wrong3.txt new file mode 100644 index 0000000..81653ea --- /dev/null +++ b/0721_13/wrong3.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := 1 - x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/0721_14/correct.txt b/0721_14/correct.txt new file mode 100644 index 0000000..1146d53 --- /dev/null +++ b/0721_14/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) and ((x >= 30) or (x <= 20)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_14/quest.txt b/0721_14/quest.txt new file mode 100644 index 0000000..6938bd6 --- /dev/null +++ b/0721_14/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ1: Dopo 20 unità di tempo dall'inizio dell'esecuzione la variabile x è sempre nell'intervallo [20, 30] . +Quale dei seguenti monitor meglio descrive il requisito RQ1 ? \ No newline at end of file diff --git a/0721_14/wrong1.txt b/0721_14/wrong1.txt new file mode 100644 index 0000000..30d3000 --- /dev/null +++ b/0721_14/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) and (x >= 20) and (x <= 30) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_14/wrong2.txt b/0721_14/wrong2.txt new file mode 100644 index 0000000..4b67df9 --- /dev/null +++ b/0721_14/wrong2.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) or ((x >= 20) and (x <= 30)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_15/correct.txt b/0721_15/correct.txt new file mode 100644 index 0000000..355e195 --- /dev/null +++ b/0721_15/correct.txt @@ -0,0 +1 @@ +Costruire un prototipo, metterlo in esercizio ed accertarsi che i porti i benefici attesi. \ No newline at end of file diff --git a/0721_15/quest.txt b/0721_15/quest.txt new file mode 100644 index 0000000..f7c3694 --- /dev/null +++ b/0721_15/quest.txt @@ -0,0 +1 @@ +Quali delle seguenti attività può contribuire a validare i requisiti di un sistema ? \ No newline at end of file diff --git a/0721_15/wrong1.txt b/0721_15/wrong1.txt new file mode 100644 index 0000000..6806506 --- /dev/null +++ b/0721_15/wrong1.txt @@ -0,0 +1 @@ +Costruire un prototipo e valutarne attentamente le performance. \ No newline at end of file diff --git a/0721_15/wrong2.txt b/0721_15/wrong2.txt new file mode 100644 index 0000000..586ebee --- /dev/null +++ b/0721_15/wrong2.txt @@ -0,0 +1 @@ +Costruire un prototipo e testarlo a fondo per evidenziare subito errori di implementazione. \ No newline at end of file diff --git a/0721_16/correct.txt b/0721_16/correct.txt new file mode 100644 index 0000000..6dbfcff --- /dev/null +++ b/0721_16/correct.txt @@ -0,0 +1 @@ +Testare l'interazione tra le componenti del sistema (cioè, integrazione di molte unità di sistema). \ No newline at end of file diff --git a/0721_16/quest.txt b/0721_16/quest.txt new file mode 100644 index 0000000..8bbcdb8 --- /dev/null +++ b/0721_16/quest.txt @@ -0,0 +1 @@ +Il system testing si concentra su: \ No newline at end of file diff --git a/0721_16/wrong1.txt b/0721_16/wrong1.txt new file mode 100644 index 0000000..3214f65 --- /dev/null +++ b/0721_16/wrong1.txt @@ -0,0 +1 @@ +Testare le interfacce per ciascuna componente. \ No newline at end of file diff --git a/0721_16/wrong2.txt b/0721_16/wrong2.txt new file mode 100644 index 0000000..121b99b --- /dev/null +++ b/0721_16/wrong2.txt @@ -0,0 +1 @@ +Testare le funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/0721_17/correct.txt b/0721_17/correct.txt new file mode 100644 index 0000000..d3826b5 --- /dev/null +++ b/0721_17/correct.txt @@ -0,0 +1 @@ +Ad ogni istante di tempo della forma 1 + 4*k (k = 0, 1, 2, 3, ...), x vale "true". \ No newline at end of file diff --git a/0721_17/quest.txt b/0721_17/quest.txt new file mode 100644 index 0000000..d095d06 --- /dev/null +++ b/0721_17/quest.txt @@ -0,0 +1,11 @@ +Si consideri il seguente modello Modelica. +class System +Boolean x; +initial equation +x = false; +equation +when sample(0, 2) then + x = not (pre(x)); +end when; +end System; +Quale delle seguenti affermazioni vale per la variabile booleana x ? \ No newline at end of file diff --git a/0721_17/wrong1.txt b/0721_17/wrong1.txt new file mode 100644 index 0000000..6245a2f --- /dev/null +++ b/0721_17/wrong1.txt @@ -0,0 +1 @@ +At time instants of form 1 + 4*k (with k = 0, 1, 2, 3, ...) x takes value "false". \ No newline at end of file diff --git a/0721_17/wrong2.txt b/0721_17/wrong2.txt new file mode 100644 index 0000000..0ba96d3 --- /dev/null +++ b/0721_17/wrong2.txt @@ -0,0 +1 @@ +Ad ogni istante di tempo della forma 3 + 4*k (k = 0, 1, 2, 3, ...), x vale "true". \ No newline at end of file diff --git a/0721_18/quest.txt b/0721_18/quest.txt new file mode 100644 index 0000000..850ba18 --- /dev/null +++ b/0721_18/quest.txt @@ -0,0 +1,3 @@ +L'input ad un sistema è costituito da un utente (umano) che preme due pulsanti etichettati con 0 ed 1. +Con probabilità 0.6 l'utente preme il pulsante 0, con probabilità 0.4 l'utente preme il pulsante 1. +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'utente di cui sopra? \ No newline at end of file diff --git a/0721_18/wrong1.txt b/0721_18/wrong1.txt new file mode 100644 index 0000000..9bf92dd --- /dev/null +++ b/0721_18/wrong1.txt @@ -0,0 +1,14 @@ +model Env +Integer x; // Pulsante premuto dall'utente +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 >= 0.6) then x := 0; else x := 1; end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_18/wrong2.txt b/0721_18/wrong2.txt new file mode 100644 index 0000000..6eac4df --- /dev/null +++ b/0721_18/wrong2.txt @@ -0,0 +1,14 @@ +model Env +Integer x; // Pulsante premuto dall'utente +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.6) then x := 1; else x := 0; end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_18/wrong3.txt b/0721_18/wrong3.txt new file mode 100644 index 0000000..d27882d --- /dev/null +++ b/0721_18/wrong3.txt @@ -0,0 +1,14 @@ +model Env +Integer x; // Pulsante premuto dall'utente +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.6) then x := 0; else x := 1; end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_19/quest.txt b/0721_19/quest.txt new file mode 100644 index 0000000..559628d --- /dev/null +++ b/0721_19/quest.txt @@ -0,0 +1,4 @@ +Si consideri la seguente Markov Chain: + + +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per la Markov Chain di cui sopra? \ No newline at end of file diff --git a/0721_19/wrong1.txt b/0721_19/wrong1.txt new file mode 100644 index 0000000..af9b00c --- /dev/null +++ b/0721_19/wrong1.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +0, 1, 0, 0; +p, 0, 1-p, 0; +0, p, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := F1; + r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_19/wrong2.txt b/0721_19/wrong2.txt new file mode 100644 index 0000000..3ebddcf --- /dev/null +++ b/0721_19/wrong2.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +0, 1, 0, 0; +p, 0, 0, 1-p; +0, 0, p, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_19/wrong3.txt b/0721_19/wrong3.txt new file mode 100644 index 0000000..d1520c9 --- /dev/null +++ b/0721_19/wrong3.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +0, 1, 0, 0; +p, 1-p, 0, 0; +0, 0, p, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_2/correct.txt b/0721_2/correct.txt new file mode 100644 index 0000000..536257f --- /dev/null +++ b/0721_2/correct.txt @@ -0,0 +1 @@ +Una release del software è resa disponibile agli utenti (beta users) per permettergli di sperimentare e quindi segnalare eventuali problemi rilevati agli sviluppatori. \ No newline at end of file diff --git a/0721_2/quest.txt b/0721_2/quest.txt new file mode 100644 index 0000000..425ceff --- /dev/null +++ b/0721_2/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti affermazione è vera riguardo al beta testing ? \ No newline at end of file diff --git a/0721_2/wrong1.txt b/0721_2/wrong1.txt new file mode 100644 index 0000000..f021931 --- /dev/null +++ b/0721_2/wrong1.txt @@ -0,0 +1 @@ +Test automatizzato sono eseguiti sulla versione finale del sistema presso il cliente. \ No newline at end of file diff --git a/0721_2/wrong2.txt b/0721_2/wrong2.txt new file mode 100644 index 0000000..ab58544 --- /dev/null +++ b/0721_2/wrong2.txt @@ -0,0 +1 @@ +Test automatizzato sono eseguiti sulla versione finale del sistema presso il sito di sviluppo del software. \ No newline at end of file diff --git a/0721_20/correct.txt b/0721_20/correct.txt new file mode 100644 index 0000000..fab2eea --- /dev/null +++ b/0721_20/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x >= 5) or (x <= 0)) and ((x >= 15) or (x <= 10)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_20/quest.txt b/0721_20/quest.txt new file mode 100644 index 0000000..498beed --- /dev/null +++ b/0721_20/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ1: Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5] oppure [10, 15] +Quale dei seguenti monitor meglio descrive il requisito RQ1 ? \ No newline at end of file diff --git a/0721_20/wrong1.txt b/0721_20/wrong1.txt new file mode 100644 index 0000000..c6e9bd3 --- /dev/null +++ b/0721_20/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ( ((x >= 0) and (x <= 5)) or ((x >= 10) and (x <= 15)) ); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_20/wrong2.txt b/0721_20/wrong2.txt new file mode 100644 index 0000000..d30f887 --- /dev/null +++ b/0721_20/wrong2.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x >= 0) or (x <= 5)) and ((x >= 10) or (x <= 15)) ); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_21/correct.txt b/0721_21/correct.txt new file mode 100644 index 0000000..67edba8 --- /dev/null +++ b/0721_21/correct.txt @@ -0,0 +1 @@ +Costruire un modello di simulazione per i principali aspetti dei processi di business dell'azienda e per il sistema software da realizzare e valutare le migliorie apportate dal sistema software ai processi di business dell'azienda mediante simulazione. \ No newline at end of file diff --git a/0721_21/quest.txt b/0721_21/quest.txt new file mode 100644 index 0000000..a69205c --- /dev/null +++ b/0721_21/quest.txt @@ -0,0 +1 @@ +Una azienda finanziaria desidera costruire un sistema software per ottimizzare i processi di business. Quali delle seguenti attività può contribuire a validare i requisiti del sistema ? \ No newline at end of file diff --git a/0721_21/wrong1.txt b/0721_21/wrong1.txt new file mode 100644 index 0000000..2c917d7 --- /dev/null +++ b/0721_21/wrong1.txt @@ -0,0 +1 @@ +Costruire un prototipo del sistema e valutarne i requisiti non funzionali usando i dati storici dall'azienda. \ No newline at end of file diff --git a/0721_21/wrong2.txt b/0721_21/wrong2.txt new file mode 100644 index 0000000..1aa1cd5 --- /dev/null +++ b/0721_21/wrong2.txt @@ -0,0 +1 @@ +Costruire un prototipo del sistema e testarlo rispetto ai requisiti funzionali usando i dati storici dall'azienda. \ No newline at end of file diff --git a/0721_22/quest.txt b/0721_22/quest.txt new file mode 100644 index 0000000..5d43b6a --- /dev/null +++ b/0721_22/quest.txt @@ -0,0 +1 @@ +Si consideri l'ambiente (use case) consistente di un utente che ad ogni unità di tempo (ad esempio, un secondo) invia al nostro sistema input -1 con probabilità 0.2, input 0 con probabilità 0.5 ed input 1 con probabilità 0.3. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente. \ No newline at end of file diff --git a/0721_22/wrong1.txt b/0721_22/wrong1.txt new file mode 100644 index 0000000..b94d213 --- /dev/null +++ b/0721_22/wrong1.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.5) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_22/wrong2.txt b/0721_22/wrong2.txt new file mode 100644 index 0000000..994f202 --- /dev/null +++ b/0721_22/wrong2.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.7) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_22/wrong3.txt b/0721_22/wrong3.txt new file mode 100644 index 0000000..4481c24 --- /dev/null +++ b/0721_22/wrong3.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then -1 else if (r1024 <= 0.7) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_23/correct.txt b/0721_23/correct.txt new file mode 100644 index 0000000..3f5bba6 --- /dev/null +++ b/0721_23/correct.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y <= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_23/quest.txt b/0721_23/quest.txt new file mode 100644 index 0000000..0d3faca --- /dev/null +++ b/0721_23/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato era stata richiesta una risorsa (variabile x positiva) allora ora è concesso l'accesso alla risorsa (variabile y positiva) +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time < w e ritorna il valore che z aveva al tempo (time - w), se time >= w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_23/wrong1.txt b/0721_23/wrong1.txt new file mode 100644 index 0000000..33310f9 --- /dev/null +++ b/0721_23/wrong1.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y > 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_23/wrong2.txt b/0721_23/wrong2.txt new file mode 100644 index 0000000..d23fe8e --- /dev/null +++ b/0721_23/wrong2.txt @@ -0,0 +1,14 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) or (delay(x, 10) > 0) or (y <= 0); + +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_24/quest.txt b/0721_24/quest.txt new file mode 100644 index 0000000..2c20b5b --- /dev/null +++ b/0721_24/quest.txt @@ -0,0 +1 @@ +Si consideri l'ambiente (use case) che consiste di un utente che, ad ogni unità di tempo (ad esempio, un secondo) manda al nostro sistema input 1 (ad esempio, esegue una prenotazione) con probabilità 0.3 oppure input 0 con probabilità 0.7. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente. \ No newline at end of file diff --git a/0721_24/wrong1.txt b/0721_24/wrong1.txt new file mode 100644 index 0000000..3390b13 --- /dev/null +++ b/0721_24/wrong1.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 >= 0.3) then 1 else 0; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_24/wrong2.txt b/0721_24/wrong2.txt new file mode 100644 index 0000000..b740a0a --- /dev/null +++ b/0721_24/wrong2.txt @@ -0,0 +1,14 @@ +model System +Integer y; +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then 1 else 0; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_24/wrong3.txt b/0721_24/wrong3.txt new file mode 100644 index 0000000..57fc69d --- /dev/null +++ b/0721_24/wrong3.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/0721_25/correct.txt b/0721_25/correct.txt new file mode 100644 index 0000000..fc560a2 --- /dev/null +++ b/0721_25/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x > 5) or (x < 0)); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_25/quest.txt b/0721_25/quest.txt new file mode 100644 index 0000000..d26958e --- /dev/null +++ b/0721_25/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ: Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5]. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_25/wrong1.txt b/0721_25/wrong1.txt new file mode 100644 index 0000000..61fa628 --- /dev/null +++ b/0721_25/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and (x > 0) and (x < 5); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_25/wrong2.txt b/0721_25/wrong2.txt new file mode 100644 index 0000000..c8a2c3d --- /dev/null +++ b/0721_25/wrong2.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x > 0) or (x < 5)); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_26/correct.txt b/0721_26/correct.txt new file mode 100644 index 0000000..d473c7d --- /dev/null +++ b/0721_26/correct.txt @@ -0,0 +1,18 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; // Connector +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() <= 0.8) + then + x := x + 1; + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_26/quest.txt b/0721_26/quest.txt new file mode 100644 index 0000000..31dbef1 --- /dev/null +++ b/0721_26/quest.txt @@ -0,0 +1,4 @@ +Un'azienda decide di organizzare il processo di sviluppo di un grosso software in 101 phasi sequenziali, numerate da 0 a 100. La phase 0 è quella iniziale. La phase 100 è quella finale in cui lo sviluppo è completato. Tutte le fasi hanno circa la stessa durata. +Si decide di realizzare un approccio incrementale in cui, alla fine di ogni fase, si passa alla fase successiva solo nel caso in cui tutti i test per la fase vengono superati. In caso contrario bisogna ripetere la phase. Dai dati storici è noto che la probabilità che il team di sviluppo passi da una fase a quella successiva è 0.8. +Allo scopo di stimare attraverso una simulazione MonteCarlo il valore atteso del tempo di completamento del progetto viene realizzato un modello Modelica delo processo di sviluppo descritto sopra. +Quale dei seguenti modelli Modelica modella correttamente il processo di sviluppo descritto sopra? \ No newline at end of file diff --git a/0721_26/wrong1.txt b/0721_26/wrong1.txt new file mode 100644 index 0000000..d38e6fe --- /dev/null +++ b/0721_26/wrong1.txt @@ -0,0 +1,18 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; // Connector +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() >= 0.8) + then + x := x + 1; + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_26/wrong2.txt b/0721_26/wrong2.txt new file mode 100644 index 0000000..9b0c1fc --- /dev/null +++ b/0721_26/wrong2.txt @@ -0,0 +1,20 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; // Connector +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() <= 0.8) + then + x := x + 1; + else + x := x - 1; + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_27/correct.txt b/0721_27/correct.txt new file mode 100644 index 0000000..81ceb23 --- /dev/null +++ b/0721_27/correct.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x < 0.6*y) and (x + y <= 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_27/quest.txt b/0721_27/quest.txt new file mode 100644 index 0000000..0910f0b --- /dev/null +++ b/0721_27/quest.txt @@ -0,0 +1,4 @@ +Si consideri il seguente requisito: +RQ: Dopo 50 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se la variabile x è minore del 60% della variabile y allora la somma di x ed y è maggiore del 30% della variabile z +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_27/wrong1.txt b/0721_27/wrong1.txt new file mode 100644 index 0000000..f7ab72e --- /dev/null +++ b/0721_27/wrong1.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x < 0.6*y) and (x + y > 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_27/wrong2.txt b/0721_27/wrong2.txt new file mode 100644 index 0000000..e09501c --- /dev/null +++ b/0721_27/wrong2.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x >= 0.6*y) and (x + y <= 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_28/correct.txt b/0721_28/correct.txt new file mode 100644 index 0000000..ed54cb6 --- /dev/null +++ b/0721_28/correct.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 1; +OutputReal x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (myrandom() <= 0.9) +then + if (myrandom() <= 0.7) + then + x := 1.1*x; + else + x := 0.9*x; + end if; +else + x := 0.73*x; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_28/quest.txt b/0721_28/quest.txt new file mode 100644 index 0000000..38d3de6 --- /dev/null +++ b/0721_28/quest.txt @@ -0,0 +1,2 @@ +L'input di un sistema software è costituito da un sensore che ogni unità di tempo (ad esempio, un secondo) invia un numero reale. Con probabilità 0.63 il valore inviato in una unità di tempo è maggiore del 10% rispetto quello inviato nell'unità di tempo precedente. Con probabilità 0.1 è inferiore del 27% rispetto al valore inviato nell'unità di tempo precedente. Con probabilità 0.27 è inferiore del 10% rispetto quello inviato nell'unità di tempo precedente. +Quale dei seguenti modelli Modelica modella correttamente l'environment descritto sopra. \ No newline at end of file diff --git a/0721_28/wrong1.txt b/0721_28/wrong1.txt new file mode 100644 index 0000000..9c5c85d --- /dev/null +++ b/0721_28/wrong1.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 1; +OutputReal x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (myrandom() <= 0.9) +then + if (myrandom() <= 0.7) + then + x := 0.9*x; + else + x := 01.1*x; + end if; +else + x := 0.73*x; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_28/wrong2.txt b/0721_28/wrong2.txt new file mode 100644 index 0000000..0fe1631 --- /dev/null +++ b/0721_28/wrong2.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 1; +OutputReal x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (myrandom() <= 0.7) +then + if (myrandom() <= 0.9) + then + x := 1.1*x; + else + x := 0.9*x; + end if; +else + x := 0.73*x; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_29/correct.txt b/0721_29/correct.txt new file mode 100644 index 0000000..a2e179d --- /dev/null +++ b/0721_29/correct.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := x + (-1 + 2*myrandom()); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_29/quest.txt b/0721_29/quest.txt new file mode 100644 index 0000000..b9f9fda --- /dev/null +++ b/0721_29/quest.txt @@ -0,0 +1,2 @@ +L'input di un sistema software è costituito da una sequenza di valori reali. Ad ogni unità di tempo il valore di input può rimanere uguale al precedente oppure differire di un numero random in [-1, 1]. L'input resta costante per numero random di unità di tempo in [1, 10]. +Quale dei seguenti modelli Modelica modella meglio l'environment descritto sopra. \ No newline at end of file diff --git a/0721_29/wrong1.txt b/0721_29/wrong1.txt new file mode 100644 index 0000000..de4ff37 --- /dev/null +++ b/0721_29/wrong1.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := x + (-1 + 4*myrandom()); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_29/wrong2.txt b/0721_29/wrong2.txt new file mode 100644 index 0000000..3940879 --- /dev/null +++ b/0721_29/wrong2.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := x - myrandom(); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_3/correct.txt b/0721_3/correct.txt new file mode 100644 index 0000000..6a918af --- /dev/null +++ b/0721_3/correct.txt @@ -0,0 +1 @@ +Per ciascun requisito, dovremmo essere in grado di scrivere un inseme di test che può dimostrare che il sistema sviluppato soddisfa il requisito considerato. \ No newline at end of file diff --git a/0721_3/quest.txt b/0721_3/quest.txt new file mode 100644 index 0000000..793b220 --- /dev/null +++ b/0721_3/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive il criterio di "requirements verifiability" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/0721_3/wrong1.txt b/0721_3/wrong1.txt new file mode 100644 index 0000000..7f8905d --- /dev/null +++ b/0721_3/wrong1.txt @@ -0,0 +1 @@ +Per ciascuna coppia di componenti, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che l'interazione tra le componenti soddisfa tutti i requisiti di interfaccia. \ No newline at end of file diff --git a/0721_3/wrong2.txt b/0721_3/wrong2.txt new file mode 100644 index 0000000..3533448 --- /dev/null +++ b/0721_3/wrong2.txt @@ -0,0 +1 @@ +Per ciascuna componente del sistema, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che essa soddisfa tutti i requisiti. \ No newline at end of file diff --git a/0721_30/correct.txt b/0721_30/correct.txt new file mode 100644 index 0000000..a910f40 --- /dev/null +++ b/0721_30/correct.txt @@ -0,0 +1 @@ +Gli utenti del sistema lavorano insieme al team di sviluppo per testare il software nel sito di sviluppo. \ No newline at end of file diff --git a/0721_30/quest.txt b/0721_30/quest.txt new file mode 100644 index 0000000..567c3e6 --- /dev/null +++ b/0721_30/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti affermazioni è vera riguardo all'alpha testing ? \ No newline at end of file diff --git a/0721_30/wrong1.txt b/0721_30/wrong1.txt new file mode 100644 index 0000000..9a5ec0f --- /dev/null +++ b/0721_30/wrong1.txt @@ -0,0 +1 @@ +Test automatizzati sono eseguiti su una versione preliminare del sistema. \ No newline at end of file diff --git a/0721_30/wrong2.txt b/0721_30/wrong2.txt new file mode 100644 index 0000000..e43ca64 --- /dev/null +++ b/0721_30/wrong2.txt @@ -0,0 +1 @@ +Test automatizzati sono eseguiti sulla prima release del sistema. \ No newline at end of file diff --git a/0721_31/correct.txt b/0721_31/correct.txt new file mode 100644 index 0000000..db62582 --- /dev/null +++ b/0721_31/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [1, 4] oppure nell'intervallo [15, 20]. \ No newline at end of file diff --git a/0721_31/quest.txt b/0721_31/quest.txt new file mode 100644 index 0000000..3df463b --- /dev/null +++ b/0721_31/quest.txt @@ -0,0 +1,15 @@ +Si consideri il monitor seguente che ritorna true appena il sistema viola il requisito monitorato. +block Monitor +input Real x; +output Boolean y; +Boolean w; +initial equation +y = false; +equation +w = ((x < 1) or (x > 4)) and ((x < 15) or (x > 20)); +algorithm +when edge(w) then +y := true; +end when; +end Monitor; +Quale delle seguenti affermazioni meglio descrive il requisito monitorato? \ No newline at end of file diff --git a/0721_31/wrong1.txt b/0721_31/wrong1.txt new file mode 100644 index 0000000..6e282e7 --- /dev/null +++ b/0721_31/wrong1.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [1, 4] e fuori dall'intervallo [15, 20]. \ No newline at end of file diff --git a/0721_31/wrong2.txt b/0721_31/wrong2.txt new file mode 100644 index 0000000..cc8507a --- /dev/null +++ b/0721_31/wrong2.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [1, 4] e fuori dall'intervallo [15, 20]. \ No newline at end of file diff --git a/0721_32/correct.txt b/0721_32/correct.txt new file mode 100644 index 0000000..e13eda2 --- /dev/null +++ b/0721_32/correct.txt @@ -0,0 +1 @@ +Accertarsi che i requisiti definiscano un sistema che risolve il problema che l'utente pianifica di risolvere. \ No newline at end of file diff --git a/0721_32/quest.txt b/0721_32/quest.txt new file mode 100644 index 0000000..b59a64d --- /dev/null +++ b/0721_32/quest.txt @@ -0,0 +1 @@ +Quali delle seguenti attività è parte del processo di validazione dei requisiti ? \ No newline at end of file diff --git a/0721_32/wrong1.txt b/0721_32/wrong1.txt new file mode 100644 index 0000000..b24f900 --- /dev/null +++ b/0721_32/wrong1.txt @@ -0,0 +1 @@ +Accertarsi che il sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/0721_32/wrong2.txt b/0721_32/wrong2.txt new file mode 100644 index 0000000..884d6b1 --- /dev/null +++ b/0721_32/wrong2.txt @@ -0,0 +1 @@ +Accertarsi che l'architettura del sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/0721_33/correct.txt b/0721_33/correct.txt new file mode 100644 index 0000000..f6a492f --- /dev/null +++ b/0721_33/correct.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then + if (myrandom() <= 0.8) + then + if (myrandom() <= 0.7) + then + x := 0; + else + x := 1; + end if; + else + x := -1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_33/quest.txt b/0721_33/quest.txt new file mode 100644 index 0000000..7975192 --- /dev/null +++ b/0721_33/quest.txt @@ -0,0 +1,2 @@ +L'environment di un sistema software è costituito da uno user che, ogni untià di tempo (ad esempio, un secondo) invia al sistema tre numeri: -1, 0, 1, con probabilità, rispettivamente, 0.2, 0.56, 0.24. +Quale dei seguenti modelli Modelica modella correttamente l'environment descritto sopra. \ No newline at end of file diff --git a/0721_33/wrong1.txt b/0721_33/wrong1.txt new file mode 100644 index 0000000..1be26df --- /dev/null +++ b/0721_33/wrong1.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then + if (myrandom() <= 0.8) + then + if (myrandom() <= 0.7) + then + x := 1; + else + x := 0; + end if; + else + x := -1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_33/wrong2.txt b/0721_33/wrong2.txt new file mode 100644 index 0000000..589c67d --- /dev/null +++ b/0721_33/wrong2.txt @@ -0,0 +1,21 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then + if (myrandom() <= 0.7) + then + if (myrandom() <= 0.8) + then + x := 0; + else + x := 1; + end if; + else + x := -1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_34/correct.txt b/0721_34/correct.txt new file mode 100644 index 0000000..5bca5f8 --- /dev/null +++ b/0721_34/correct.txt @@ -0,0 +1 @@ +Testare le interfacce per ciascun componente. \ No newline at end of file diff --git a/0721_34/quest.txt b/0721_34/quest.txt new file mode 100644 index 0000000..561755a --- /dev/null +++ b/0721_34/quest.txt @@ -0,0 +1 @@ +Il component testing si concentra su: \ No newline at end of file diff --git a/0721_34/wrong1.txt b/0721_34/wrong1.txt new file mode 100644 index 0000000..0d18016 --- /dev/null +++ b/0721_34/wrong1.txt @@ -0,0 +1 @@ +Testare l'interazione tra molte componenti (cioè integrazione di molte unità). \ No newline at end of file diff --git a/0721_34/wrong2.txt b/0721_34/wrong2.txt new file mode 100644 index 0000000..4f5ac71 --- /dev/null +++ b/0721_34/wrong2.txt @@ -0,0 +1 @@ +Testare funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/0721_35/correct.txt b/0721_35/correct.txt new file mode 100644 index 0000000..793f9d6 --- /dev/null +++ b/0721_35/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x, y; // plant output +OutputBoolean wy; + +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 10) and (x >= 10) and (x <= 20) and ((y < 0.5*x) or (y > 0.7*x)) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_35/quest.txt b/0721_35/quest.txt new file mode 100644 index 0000000..348f2a5 --- /dev/null +++ b/0721_35/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ: Dopo 10 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: se la variabile x è nell'intervallo [10, 20] allora la variabile y è compresa tra il 50% di x ed il 70% di x. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_35/wrong1.txt b/0721_35/wrong1.txt new file mode 100644 index 0000000..284d4d1 --- /dev/null +++ b/0721_35/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x, y; // plant output +OutputBoolean wy; + +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 10) and ((x < 10) or (x > 20)) and ((y < 0.5*x) or (y > 0.7*x)) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_35/wrong2.txt b/0721_35/wrong2.txt new file mode 100644 index 0000000..21a20d4 --- /dev/null +++ b/0721_35/wrong2.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x, y; // plant output +OutputBoolean wy; + +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 10) and (x >= 10) and (x <= 20) and (y >= 0.5*x) and (y <= 0.7*x) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_36/correct.txt b/0721_36/correct.txt new file mode 100644 index 0000000..3a0f9a1 --- /dev/null +++ b/0721_36/correct.txt @@ -0,0 +1 @@ +Stiamo costruendo il sistema giusto ? \ No newline at end of file diff --git a/0721_36/quest.txt b/0721_36/quest.txt new file mode 100644 index 0000000..f7ef080 --- /dev/null +++ b/0721_36/quest.txt @@ -0,0 +1 @@ +La validazione risponde alla seguenete domanda: \ No newline at end of file diff --git a/0721_36/wrong1.txt b/0721_36/wrong1.txt new file mode 100644 index 0000000..6633b8c --- /dev/null +++ b/0721_36/wrong1.txt @@ -0,0 +1 @@ +Sono soddisfatti i requisti funzionali ? \ No newline at end of file diff --git a/0721_36/wrong2.txt b/0721_36/wrong2.txt new file mode 100644 index 0000000..7edd4bc --- /dev/null +++ b/0721_36/wrong2.txt @@ -0,0 +1 @@ +Stiamo costruendo il sistema nel modo giusto ? \ No newline at end of file diff --git a/0721_37/correct.txt b/0721_37/correct.txt new file mode 100644 index 0000000..896ce37 --- /dev/null +++ b/0721_37/correct.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_37/quest.txt b/0721_37/quest.txt new file mode 100644 index 0000000..316ed3f --- /dev/null +++ b/0721_37/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato x era maggiore di 0 allora ora y è negativa. +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/0721_37/wrong1.txt b/0721_37/wrong1.txt new file mode 100644 index 0000000..a0b3200 --- /dev/null +++ b/0721_37/wrong1.txt @@ -0,0 +1,14 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) or (delay(x, 10) > 0) or (y >= 0); + +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_37/wrong2.txt b/0721_37/wrong2.txt new file mode 100644 index 0000000..3e4bc83 --- /dev/null +++ b/0721_37/wrong2.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) <= 0) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/0721_38/correct.txt b/0721_38/correct.txt new file mode 100644 index 0000000..325ed60 --- /dev/null +++ b/0721_38/correct.txt @@ -0,0 +1,25 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() <= 0.9) + then + if (myrandom() <= 0.8) + then + x := x + 1; + else + x := max(0, x - 1); + end if; + else + x := max(0, x - 1); + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_38/quest.txt b/0721_38/quest.txt new file mode 100644 index 0000000..d519d3f --- /dev/null +++ b/0721_38/quest.txt @@ -0,0 +1,8 @@ +Un'azienda decide di organizzare il processo di sviluppo di un grosso software in 101 phasi sequenziali, numerate da 0 a 100. La phase 0 è quella iniziale. La phase 100 è quella finale in cui lo sviluppo è completato. Tutte le fasi hanno circa la stessa durata. +Alla fine di ogni fase viene eseguita una batteria di tests. I risultati del testing possono essere: +a) si può passare alla fase successiva; +b) bisogna ripetere la fase corrente; +c) bisogna rivedere il lavoro fatto nella fase precedente (reworking). +Dai dati storici è noto che la probabilità del caso a) è 0.72, del caso b) è 0.18 e del caso c) è 0.1. +Allo scopo di stimare attraverso una simulazione MonteCarlo il valore atteso del tempo di completamento del progetto viene realizzato un modello Modelica del processo di sviluppo descritto sopra. +Quale dei seguenti modelli Modelica modella correttamente il processo di sviluppo descritto sopra? \ No newline at end of file diff --git a/0721_38/wrong1.txt b/0721_38/wrong1.txt new file mode 100644 index 0000000..f527b1d --- /dev/null +++ b/0721_38/wrong1.txt @@ -0,0 +1,25 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() <= 0.9) + then + if (myrandom() <= 0.72) + then + x := x + 1; + else + x := max(0, x - 1); + end if; + else + x := max(0, x - 1); + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_38/wrong2.txt b/0721_38/wrong2.txt new file mode 100644 index 0000000..3a67b67 --- /dev/null +++ b/0721_38/wrong2.txt @@ -0,0 +1,25 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Integer x0 = 0; +parameter Integer xmax = 100; +OutputInteger x; +algorithm +when initial() then +x := x0; +elsewhen sample(0, 1) then +if (x < xmax) +then + if (myrandom() <= 0.8) + then + if (myrandom() <= 0.9) + then + x := x + 1; + else + x := max(0, x - 1); + end if; + else + x := max(0, x - 1); + end if; +end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_39/correct.txt b/0721_39/correct.txt new file mode 100644 index 0000000..f5a73e9 --- /dev/null +++ b/0721_39/correct.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_39/quest.txt b/0721_39/quest.txt new file mode 100644 index 0000000..8308282 --- /dev/null +++ b/0721_39/quest.txt @@ -0,0 +1,2 @@ +L'input di un sistema software è costituito da una sequenza di 0 (false) ed 1 (true). Ad uno 0 segue un 1 ed ad un 1 segue uno 0. Il tempo tra un valore di input e l'altro è un valore random compreso tra 1 e 10 unità di tempo. +Quale dei seguenti modelli Modelica modella meglio l'environment descritto sopra. \ No newline at end of file diff --git a/0721_39/wrong1.txt b/0721_39/wrong1.txt new file mode 100644 index 0000000..eb45a44 --- /dev/null +++ b/0721_39/wrong1.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 10) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_39/wrong2.txt b/0721_39/wrong2.txt new file mode 100644 index 0000000..c3f862e --- /dev/null +++ b/0721_39/wrong2.txt @@ -0,0 +1,19 @@ +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown >= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file diff --git a/0721_4/quest.txt b/0721_4/quest.txt new file mode 100644 index 0000000..f13ccba --- /dev/null +++ b/0721_4/quest.txt @@ -0,0 +1,4 @@ +L'input ad un sistema è costituito da un utente (umano) che preme due pulsanti etichettati, rispettivamente, con 1 ed 2. +L'utente può anche decidere di non premere alcun pulsante. +Con probabilità 0.2 l'utente preme il pulsante 1, con probabilità 0.3 l'utente preme il pulsante 2, con probabilità 0.5 non fa nulla (pulsante 0 per convenzione). +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'utente di cui sopra? \ No newline at end of file diff --git a/0721_4/wrong1.txt b/0721_4/wrong1.txt new file mode 100644 index 0000000..752ea2c --- /dev/null +++ b/0721_4/wrong1.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.3) then x := 0; else x:= 1; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_4/wrong2.txt b/0721_4/wrong2.txt new file mode 100644 index 0000000..677ef8b --- /dev/null +++ b/0721_4/wrong2.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.4) then x := 1; else x:= 0; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_4/wrong3.txt b/0721_4/wrong3.txt new file mode 100644 index 0000000..2e77985 --- /dev/null +++ b/0721_4/wrong3.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.2) then x := 1; else x:= 0; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/0721_5/correct.txt b/0721_5/correct.txt new file mode 100644 index 0000000..0902686 --- /dev/null +++ b/0721_5/correct.txt @@ -0,0 +1 @@ +Requisito funzionale. \ No newline at end of file diff --git a/0721_5/quest.txt b/0721_5/quest.txt new file mode 100644 index 0000000..881f5f4 --- /dev/null +++ b/0721_5/quest.txt @@ -0,0 +1,2 @@ +"Ogni giorno, per ciascuna clinica, il sistema genererà una lista dei pazienti che hanno un appuntamento quel giorno." +La frase precedente è un esempio di: \ No newline at end of file diff --git a/0721_5/wrong1.txt b/0721_5/wrong1.txt new file mode 100644 index 0000000..396c8d3 --- /dev/null +++ b/0721_5/wrong1.txt @@ -0,0 +1 @@ +Requisito di performance. \ No newline at end of file diff --git a/0721_5/wrong2.txt b/0721_5/wrong2.txt new file mode 100644 index 0000000..6084c49 --- /dev/null +++ b/0721_5/wrong2.txt @@ -0,0 +1 @@ +Requisito non-funzionale. \ No newline at end of file diff --git a/0721_6/quest.txt b/0721_6/quest.txt new file mode 100644 index 0000000..240c059 --- /dev/null +++ b/0721_6/quest.txt @@ -0,0 +1 @@ +Un I/O buffer è alimentato da una componente che fornisce un input periodico di periodo 2 secondi. Durante la prima metà del periodo, l'input rate è 2MB/s mentre durante la seconda metà del periodo l'input rate è 0. Quindi l'input rate medio è di 1MB/s. L' I/O buffer, a sua volta, alimenta una componente che richiede (in media) 1MB/s. Quale dei seguenti modelli Modelica è un modello ragionevole per il sistema descritto sopra ? \ No newline at end of file diff --git a/0721_6/wrong1.txt b/0721_6/wrong1.txt new file mode 100644 index 0000000..b07b2d6 --- /dev/null +++ b/0721_6/wrong1.txt @@ -0,0 +1,11 @@ +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u - \ No newline at end of file diff --git a/0721_6/wrong2.txt b/0721_6/wrong2.txt new file mode 100644 index 0000000..409ff79 --- /dev/null +++ b/0721_6/wrong2.txt @@ -0,0 +1,18 @@ +0; +end System; + + +2. + +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u - 1.0; +end System; \ No newline at end of file diff --git a/0721_6/wrong3.txt b/0721_6/wrong3.txt new file mode 100644 index 0000000..59f99c3 --- /dev/null +++ b/0721_6/wrong3.txt @@ -0,0 +1,12 @@ +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u + 1.0; +end System; \ No newline at end of file diff --git a/0721_7/correct.txt b/0721_7/correct.txt new file mode 100644 index 0000000..d2fec23 --- /dev/null +++ b/0721_7/correct.txt @@ -0,0 +1 @@ +Per ciascun incremento di funzionalità, scrivi test automatizzati, implementa la funzionalità, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/0721_7/quest.txt b/0721_7/quest.txt new file mode 100644 index 0000000..ba55357 --- /dev/null +++ b/0721_7/quest.txt @@ -0,0 +1 @@ +Si consideri il Test-Driven Development (TDD). Quale delle seguenti affermazioni è vera? \ No newline at end of file diff --git a/0721_7/wrong1.txt b/0721_7/wrong1.txt new file mode 100644 index 0000000..2891ab7 --- /dev/null +++ b/0721_7/wrong1.txt @@ -0,0 +1 @@ +Scrivi test automatizzati per tutti i requisiti di sistema, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/0721_7/wrong2.txt b/0721_7/wrong2.txt new file mode 100644 index 0000000..2e5076c --- /dev/null +++ b/0721_7/wrong2.txt @@ -0,0 +1 @@ +Per ciascun incremento di funzionalità, implementa la funzionalità, scrivi test automatizzati, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/0721_8/quest.txt b/0721_8/quest.txt new file mode 100644 index 0000000..559628d --- /dev/null +++ b/0721_8/quest.txt @@ -0,0 +1,4 @@ +Si consideri la seguente Markov Chain: + + +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per la Markov Chain di cui sopra? \ No newline at end of file diff --git a/0721_8/wrong1.txt b/0721_8/wrong1.txt new file mode 100644 index 0000000..1b498b3 --- /dev/null +++ b/0721_8/wrong1.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 0 , 1-p, 0; +p, 1-p, 0, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_8/wrong2.txt b/0721_8/wrong2.txt new file mode 100644 index 0000000..c3a7393 --- /dev/null +++ b/0721_8/wrong2.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 0, 1-p, 0; +0, p, 1-p, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_8/wrong3.txt b/0721_8/wrong3.txt new file mode 100644 index 0000000..28ec59c --- /dev/null +++ b/0721_8/wrong3.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 1-p, 0, 0; +p, 0, 1-p, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := F1; + r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/0721_9/correct.txt b/0721_9/correct.txt new file mode 100644 index 0000000..4f5ac71 --- /dev/null +++ b/0721_9/correct.txt @@ -0,0 +1 @@ +Testare funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/0721_9/quest.txt b/0721_9/quest.txt new file mode 100644 index 0000000..367356f --- /dev/null +++ b/0721_9/quest.txt @@ -0,0 +1 @@ +Unit testing si concentra su: \ No newline at end of file diff --git a/0721_9/wrong1.txt b/0721_9/wrong1.txt new file mode 100644 index 0000000..5d19792 --- /dev/null +++ b/0721_9/wrong1.txt @@ -0,0 +1 @@ +Testare l'interazione tra componenti. \ No newline at end of file diff --git a/0721_9/wrong2.txt b/0721_9/wrong2.txt new file mode 100644 index 0000000..f67535f --- /dev/null +++ b/0721_9/wrong2.txt @@ -0,0 +1 @@ +Testare le interfacce di ciascuna componente. \ No newline at end of file diff --git a/Scraper/scraper.py b/Scraper/scraper.py index 7712c96..1693632 100644 --- a/Scraper/scraper.py +++ b/Scraper/scraper.py @@ -11,8 +11,8 @@ matricola = os.getenv('UTENTE') password = os.getenv('PASSWORD') -url_risultati_esame = "https://elearning.uniroma1.it/mod/quiz/review.php?attempt=1096076&cmid=385932" -codice_esame = "0321" +url_risultati_esame = "https://elearning.uniroma1.it/mod/quiz/review.php?attempt=1096697&cmid=408285" +codice_esame = "0721" # Main Function diff --git a/risposte.txt b/risposte.txt new file mode 100644 index 0000000..f53a6a7 --- /dev/null +++ b/risposte.txt @@ -0,0 +1,60 @@ +1. +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; +2. +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 10) then + if (countdown <= 0) + then + countdown := 1 + integer(floor(myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; +3. +block MarkovChain +//external function myrandom() returns a random real number in [0, 1] +parameter Real x0 = 0; +OutputReal x; +Integer countdown; +algorithm +when initial() then + x := x0; + countdown := 0; +elsewhen sample(0, 1) then + if (countdown >= 0) + then + countdown := 1 + integer(floor(10*myrandom())); + x := 1 - pre(x); + else + countdown := countdown - 1; + end if; +end when; +end MarkovChain; \ No newline at end of file