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

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