Exemple de programe in Pseudocod Rodin

From HaskellWiki
Revision as of 03:02, 12 December 2008 by Ha$kell (talk | contribs) (I/O examples)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Rodin-Banner.gif

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


Exemplu de utilizare a instructiunilor de intrare / iesire. (Pt. RodinV082b - si urmatoarele)

{text "dati valoarea lui x";
 citeste x;
 text "x este ";
 scrie x; 
 text "dati valoarea lui y";
 citeste y;
 text "y este ";
 scrie y; 
 fie b=x>y;
 text "b este 1 daca x mai mare ca y altfel 0";
 scrie b;  
 daca b atunci text "x mai mare ca y" 
        altfel text "y mai mare sau egal ca x";
 citeste z;
 }
 -- Acest program ar trebui sa scrie doar unul dintre mesaje
 -- Pentru RodinV081.exe din 22/10/2008.
 -- Pentru RodinV082b.exe din 9/11/2008. (Cel cu vectori !)


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.


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.

Observatii

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.


Rodin-Banner.gif