Added 07-21 exam

This commit is contained in:
Deco71 2022-11-16 18:08:57 +01:00
parent 1a3767b4a9
commit 81bfdb2c34
180 changed files with 0 additions and 81 deletions

View file

@ -0,0 +1,21 @@
<pre>
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;
</pre>

View file

@ -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?

View file

@ -0,0 +1,21 @@
<pre>
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;
</pre>

View file

@ -0,0 +1,21 @@
<pre>
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;
</pre>