Difference between revisions of "Exemple de programe in Pseudocod Rodin"

From HaskellWiki
Jump to navigation Jump to search
m (Creating a separate example-page for the DSL Rodin)
 
m (Link to Criss's Examples)
Line 141: Line 141:
   
 
Observatie: Incercarea de a rula anumite bucle stranii cu doua contoare care se modifica simultan a dat nastere la unele rezultate neprevazute , atunci cand am folosit RodinV07. Ramaneti la buclele clasice cu un singur contor.
 
Observatie: Incercarea de a rula anumite bucle stranii cu doua contoare care se modifica simultan a dat nastere la unele rezultate neprevazute , atunci cand am folosit RodinV07. Ramaneti la buclele clasice cu un singur contor.
  +
  +
== Exemple de la Criss88 ==
  +
'''28 nov 2008''' Am primit de la - sa-i spunem - Criss 88 - o serie de programe in Rodin, pe CD. [[Ro/PRodin/Criss88]] Ne vor fi de mare folos la testarea versiunii urmatoare. Exemplele sunt recomandate pentru RodinV082b sau RodinV082c.

Revision as of 17:57, 29 November 2008

Aici vom posta Exemple de programe in Pseudocod Rodin imediat ce vin de la beta testeri si le verificam.

Exemplu. Id: A-1

Beta tester: Adrian

Tema: Bucle imbricate; 1000 x 1000 operatii

Obs: Executia dureaza, bucla interioara fiind o temporizare.


 
{fie n=1000; 
 cat timp (n>0)
   {fie x=0;
    cat timp (x<1000)
       fie x=x+1;
    fie n=n-1;
    scrie n;
    };
};


Exemplu. Id: A-2

Beta tester: Adrian

Tema: Calculul factorialului


 
{
 fie x=0;
 tasteaza x;
 fie g=1;
 executa 
 {
  fie g=g*x;
  fie x=x-1;
 }
 atat cat (x>1);
 scrie g;
}

Exemplu. Id: D-cmmdc

Beta tester: Dan

Tema: Calculul celui mai mare divizor comun

Notiuni: repeta ... pina cand (ca in Pascal) si operatorul modulo, notat %

Ruleaza pe: RodinV06-Ro din 28 aug 2008. Upgradati daca aveti RodinV05-Ro


 
{ tasteaza a;
  tasteaza b;
  fie undeimp=a;
  fie unimp=b;
  repeta
    { fie unrest=undeimp%unimp;
      fie undeimp=unimp;
      fie unimp=unrest;
     }
  pana cand (unimp==0);
  scrie undeimp;
};


Exemplu : bucla cu nr cunoscut de pasi

{pentru(fie x=1;x<10;fie x=x+1) scrie x;};


Exemplu : numere pitagoreice

{ pentru (fie x=1; x<3; fie x=x+1)
   pentru (fie y=x+1; y<3; fie y=y+1)
     {
      scrie x*x+y*y;
      scrie y*y-x*x;
      scrie 2*x*y;
     };
};


Exemplu : Bucla cu test final - Bomba 10, 9, 8 , ...

{fie x=10; 
 scrie x;
 executa 
  { fie x=x-1;
    scrie x; }
atat cat (x>0);
};

-- Bucla cu test final
-- Se invarte pina cand testul devine FALS - 0
-- Se invarte aatat cat testul este ADEVARAT - 1


Program : Bucla cu test final stil Pascal - Bomba 10, 9, 8 , ...

{fie x=10; 
  scrie x;
  repeta
    {fie x=x-1;
    scrie x;
    }
  pana cand (x==0);
}

-- Bucla cu test final stil Pascal
-- se invarte pina cand DEVINE conditia ADEVARATA
-- se invarte atat cat este conditia FALSA


Asemenea programe pot fi rulate efectiv pe calculator ?

Da, fireste. De altfel aceasta este o definitie a pseudocodului: pseudocodul este un limbaj scris cu propriile noastre cuvinte dar suficient de precis incat daca am avea o masina capabila sa-l ruleze, el al rula.

Iata o imagine pentru cei care nu sunt convinsi: - Click aici. Programul din imagine a calculat factorialul numarului trei, care este 6.

Observatie: Incercarea de a rula anumite bucle stranii cu doua contoare care se modifica simultan a dat nastere la unele rezultate neprevazute , atunci cand am folosit RodinV07. Ramaneti la buclele clasice cu un singur contor.

Exemple de la Criss88

28 nov 2008 Am primit de la - sa-i spunem - Criss 88 - o serie de programe in Rodin, pe CD. Ro/PRodin/Criss88 Ne vor fi de mare folos la testarea versiunii urmatoare. Exemplele sunt recomandate pentru RodinV082b sau RodinV082c.