Difference between revisions of "Exemple de programe in Pseudocod Rodin"
Line 173: | 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. |
||
Latest revision as of 17:28, 13 March 2011
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.