Export page to Open Document format

25a - Pseudokódy

Kalendár udalostí

čas = T_START;
while(!kalendar.Empty())
{
  vyber prvý prvok z kalendára
  if(čas prvku > T_END)
    break;
  nastav čas na aktivačný čas prvku
  vykonaj činnosť prvku
}
čas = T_END;

Generátor náhodných čísel

zadanie:

Napíšte funkciu double Uniform(double od, double do) - vlastný kód kongruentného generátora

Napíšte funkciu double random_gen() - vylučovacia metóda, generuje číslo s rozložením:

f(x) = -x pre interval x ∈ <-1; 0)
f(x) = x pre interval x ∈ <0; 1>
long int ix = seed;
double Uniform(double od, double do)
{
  ix = (ix*A+B)%M;
  return (ix/(M-1)*(do-od)+od);
}
 
double random_gen()
{
  double x, y;
  while(1)
  {
    x = Uniform(-1, 1);
    y = Uniform(0, 1);
    if(((x < 0) && (y <= -x)) || ((x >= 0) && (y <= x))
      return x;
  }
}

SIMLIB

Diskuze

Vložte svůj komentář
 
temata/25-principy_modelovani_a_simulace_systemu/pseudokody.txt · Poslední úprava: 2011/06/14 22:21 autor: vagabund
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki