Exemple de programe in Pseudocod Rodin
From HaskellWiki
m (Creating a separate example-page for the DSL Rodin) |
|||
| (6 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| + | [[Category:Ro]][[Category:Ub.Ro]] | ||
| + | |||
| + | ---- | ||
| + | <center> [[Image:Rodin-Banner.gif]] </center> | ||
| + | ---- | ||
| + | |||
== Aici vom posta [[Exemple de programe in Pseudocod Rodin]] imediat ce vin de la beta testeri si le verificam. == | == Aici vom posta [[Exemple de programe in Pseudocod Rodin]] imediat ce vin de la beta testeri si le verificam. == | ||
| Line 131: | Line 137: | ||
-- se invarte atat cat este conditia FALSA | -- se invarte atat cat este conditia FALSA | ||
</haskell> | </haskell> | ||
| + | |||
| + | |||
| + | |||
| + | Exemplu de utilizare a instructiunilor de intrare / iesire. (Pt. RodinV082b - si urmatoarele) | ||
| + | <haskell> | ||
| + | {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 !) | ||
| + | |||
| + | </haskell> | ||
| + | |||
| + | |||
| + | |||
| + | == 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. | ||
| Line 137: | Line 173: | ||
Iata o imagine pentru cei care nu sunt convinsi: | Iata o imagine pentru cei care nu sunt convinsi: | ||
| - | [http://www.haskell.org/ | + | [http://www.haskell.org/wikiupload/c/ce/Rodin-A-3ok.jpg - Click aici.] |
Programul din imagine a calculat factorialul numarului trei, care este 6. | 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. | ||
| + | |||
| + | ---- | ||
| + | <center> [[Image:Rodin-Banner.gif]] </center> | ||
| + | ---- | ||
Current revision
Contents |
1 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 !)
2 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.
3 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.
4 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.
Categories: Ro | Ub.Ro
