Rodin/Examples
From HaskellWiki
Contents
|
1 Exemple din 2008 resp 2009 - Gasiti exemple noi pentru ultima versiune Rodin (si) in arhiva cea mai recenta din pagina Rodin/Download!
1.1 . Setul pentru incepatori
1.1.1 Bucla pentru - Rodin 2009 e - (depasit)
[dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg68b.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {fie a=2; fie b=10*a; pentru(fie a=8+a;a<b;fie a=a+1) {scrie a;}; }; ; Nu uitati nici acolada finala !!! 10 11 12 13 14 15 16 17 18 19
1.1.2 Bucla pentru - Rodin ExperimentExp11 - aug 2009
{fie a=2; fie b=10*a; pentru(fie a=8+a;a<b;fie a=a+1) {scrie a} } 10 11 12 13 14 15 16 17 18 19 Programul a rulat !
Situatia: Revizuit si pus in dosarele din arhiva de dupa 26 aug 2009. Inca nelansata.
Cat timp ... executa - Rodin2009e - versiunea din 8 martie 2009. (depasit)
Am terminat de rulat programul:"pm4-pg68b.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg71.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {fie k=0; cat timp (i>0) executa {fie i=i%2; fie k=k+1; }; }; Rodin2009e: (line 3, column 4): unexpected "{" expecting space, operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg71.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste i; fie k=0; cat timp (i>0) executa {fie i=i%2; fie k=k+1; }; scrie k; }; Cate cifre binare va avea un numar ? Rodin2009e: (line 4, column 4): unexpected "{" expecting space, operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg71.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste i; fie k=0; cat timp (i>0) executa {fie i=i/2; fie k=k+1; }; scrie k; }; Cate cifre binare va avea un numar ? Rodin2009e: (line 4, column 4): unexpected "{" expecting space, operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg71.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste i; fie k=0; cat timp (i>0) {fie i=i/2; fie k=k+1; }; scrie k; }; Cate cifre binare va avea un numar ? 12 4
1.1.3 Cat timp ... executa - Rodin ExperimentExp11 - 21 aug 2009
{text "nr de cifre binare a numarului i"; fie k=0; citeste i; cat timp (i>0) {fie i=i/2; fie k=k+1 }; scrie k } Programul:"pm4-pg68b.txt" "nr de cifre binare a numarului i" 7 3 Programul a rulat ! Modular Language written by Dan V Popa, Ro/Haskell Group. http://www.haskell.org/haskellwiki/Rodin 21/aug/2009 - - Codename:ExperimentExp11
Simularea executiei lui pentru - Rodin2009e - versiunea din 8 martie 2009. (depasit)
Am terminat de rulat programul:"pm4-pg71.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$ ./Rodin2009e pm4-pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin Rodin2009e: pm4-pg71e2.txt: openFile: does not exist (No such file or directory) [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; viteste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<=temp) { instructiuni ; fie v=v+step;}; altfel cat timp (v>=temp) { instructiuni ; fie v=v+step;}; } Rodin2009e: (line 3, column 10): unexpected " " expecting letter or digit, "_", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<=temp) { instructiuni ; fie v=v+step;}; altfel cat timp (v>=temp) { instructiuni ; fie v=v+step;}; } Rodin2009e: (line 7, column 9): unexpected "t" expecting space, "altfel", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<=temp) {instructiuni;fie v=v+step;}; altfel cat timp (v>=temp) {instructiuni;fie v=v+step;}; } Rodin2009e: (line 7, column 9): unexpected "t" expecting space, "altfel", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<temp+1) {instructiuni;fie v=v+step;}; altfel cat timp (v>temp-1) {instructiuni;fie v=v+step;}; } Rodin2009e: (line 6, column 7): unexpected " " expecting letter or digit, "_", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<temp+1) {instructiuni;fie v=v+step;}; altfel cat timp (v>temp-1) {instructiuni;fie v=v+step;}; }; Rodin2009e: (line 6, column 7): unexpected " " expecting letter or digit, "_", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<temp+1) {instructiuni;fie v=v+step;}; altfel cat timp (v>temp-1) {instructiuni;fie v=v+step;}; }; Rodin2009e: (line 6, column 7): unexpected " " expecting letter or digit, "_", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci cat timp (v<temp+1) {instructiuni;fie v=v+step;}; altfel cat timp (v>temp-1) {instructiuni;fie v=v+step;}; }; Rodin2009e: (line 6, column 7): unexpected " " expecting letter or digit, "_", operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {instructiuni;fie v=v+step;};} altfel {cat timp (v>temp-1) {instructiuni;fie v=v+step;};} }; Rodin2009e: (line 9, column 56): unexpected "\n" expecting operator or ";" [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e2.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {instructiuni;fie v=v+step;};} altfel {cat timp (v>temp-1) {instructiuni;fie v=v+step;};}; }; 1 10 2 Am terminat de rulat programul:"pm4pg71e2.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e3.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {scrie v;fie v=v+step;};} altfel {cat timp (v>temp-1) {scrie v;fie v=v+step;};}; }; Ideea simularii lui 'pentru' folosind 'cat timp'. 1 10 2 1 3 5 7 9 Am terminat de rulat programul:"pm4pg71e3.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e3.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {scrie v;fie v=v+step;};} altfel {cat timp (v>temp-1) {scrie v;fie v=v+step;};}; }; Ideea simularii lui 'pentru' folosind 'cat timp'. 10 1 -2 10 8 6 4 2 Am terminat de rulat programul:"pm4pg71e3.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$ ./Rodin2009e pm4pg71e3.txt 2009e - Pseudocod Rodin - Codename:Rodin2009e Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {scrie v;fie v=v+step;};} altfel {cat timp (v>temp-1) {scrie v;fie v=v+step;};}; }; Ideea simularii lui 'pentru' folosind 'cat timp'. 1 10 3 1 4 7 10 Am terminat de rulat programul:"pm4pg71e3.txt" Rodin2009e - versiunea din 8 martie 2009. Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. [dan@localhost Rodin2009a]$
1.1.4 Simularea executiei lui pentru - Rodin ExperimentExp11 - versiunea 21 august 2009.
{ text "Dati indicele mic, cel mare si pasul"; citeste low; citeste high; citeste step; fie v=low; fie temp=high; daca (step>0) atunci {cat timp (v<temp+1) {scrie v;fie v=v+step}} altfel {cat timp (v>temp-1) {scrie v;fie v=v+step}} } 26 aug 2009 Rodin ExperimentExp11 Simularea lui pentru folosind cat timp.
1.2 . Un set ceva mai avansat
1.2.1 Repeta pina cand - Rodin2009c (depasit) .
2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; fie y=0; repeta { fie x=x-1; fie y=y+1; } pana cand ( x<0 ); scrie x; scrie y; } Rodin2009c: (line 7, column 2): unexpected "a" expecting "pina cand" AICI E O GRESEALA, trebuia scris "pina cand" nu "pana cand"
1.2.2 Repeta pina cand - Rodin Codename:ExperimentExp11 - 21 aug 2009
Modular Language written by Dan V Popa, Ro/Haskell Group. 21/aug/2009 - Rodin - Codename:ExperimentExp11 Noutate:Operatorii logici SI &&, SAU || sunt implementati. Limitare: nu scrieti serii lungi de SAU si nici de SI cum scrieti la adunare serii lungi de plus: 1+1+1+1+1 ori 1+2+7. Programul:repeta1.txt {citeste x; fie y=0; repeta { fie x=x-1; fie y=y+1 } pina cand ( x == 0 ); scrie x; scrie y } Copierea unitatilor dintr-un numar in altul. Demonstratie a buclei repeta pina cand. 26 aug 2009 Rodin ExperimentExp11 12 0 12 Programul a rulat ! Modular Language written by Dan V Popa, Ro/Haskell Group. http://www.haskell.org/haskellwiki/Rodin 21/aug/2009 - - Codename:ExperimentExp11
1.2.3 Executa atat cat - Rodin2009c (depasit) .
2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; fie y=0; executa { fie x=x-1; fie y=y+1; } atat cat (x>0); scrie x; scrie y; } 7 0 7
1.2.4 Executa atat cat - Rodin Codename:ExperimentExp11 - 21 aug 2009
Modular Language written by Dan V Popa, Ro/Haskell Group. 21/aug/2009 - Rodin - Codename:ExperimentExp11 Noutate:Operatorii logici SI &&, SAU || sunt implementati. Limitare: nu scrieti serii lungi de SAU si nici de SI cum scrieti la adunare serii lungi de plus: 1+1+1+1+1 ori 1+2+7. Programul:executa-atat-cat-3.txt {citeste x; fie y=0; executa { fie x=x-1; fie y=y+1 } atat cat (x>0); scrie x; scrie y } Copierea unitatilor dintr-un numar in altul. Demonstratie a buclei executa atat cat. 26 aug 2009 Rodin ExperimentExp11 12 0 12 Programul a rulat ! Modular Language written by Dan V Popa, Ro/Haskell Group. http://www.haskell.org/haskellwiki/Rodin 21/aug/2009 - - Codename:ExperimentExp11 ---- Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; citeste y; daca x>y atunci scrie x altfel scrie y; citeste x; } -- Acest program ar trebui sa scrie doar unul dintre mesaje -- 78 8 78 9 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {pentru(fie x=1;x<10;fie x=x+1) scrie x;}; 1 2 3 4 5 6 7 8 9 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { 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; }; }; 5 3 4 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Citesc 10 elemente"; pentru(fie xk=1; xk<11; fie xk=xk+1) citeste z[xk]; }; "Citesc 10 elemente" Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Program insertsort"; text "Tastati cele 10 numere"; pentru(fie k=1; k<11; fie k=k+1) citeste v[k]; pentru(fie k=2; k<11; fie k=k+1) {fie j=k; fie i=k-1; repeta {daca (v[j]<v[i]) atunci {fie aux = v[j]; fie v[j]= v[i]; fie v[i]=aux; fie j=i; fie j=j-1; }; } pina cand (i==0); }; text "Numerele sortate"; pentru(fie k=1; k<11; fie k=k+1) citeste v[k]; }; -- inainte de "pana cand" nu se pune ; -- Conditii cum e (v[j]<v[i]) mai bine le -- puneti in paranteza. Rodin2009c: (line 5, column 8): unexpected "(" expecting letter or digit, "_", operator or ";" 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Selsort pentru 10 numere "; pentru(fie xk=1; xk<11; fie xk=xk+1) citeste z[xk]; pentru(fie xk=1; xk<10; fie xk=xk+1) { fie xi=xk; pentru(fie xj=xk+1; xj<11; fie xj=xj+1) daca (z[xj]<z[xi]) atunci fie xi=xj; fie aux=z[xk]; fie z[xk]=z[xi]; fie z[xi] = aux; }; text "Sortate "; pentru(fie xk=1; xk<11; fie xk=xk+1) {scrie z[xk]; }; }; -- Algoritmul de sortare prin selectie directa -- Pentru RodinV082d 1/12/2008 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { vorbeste "maximul dintr-un sir de numere \n"; vorbeste "pozitive terminat cu zero \\n"; fie xmaxpp = 0; tasteza y; pina cand (y == 0) { daca (y > xmaxpp ) atunci fie xmaxpp = y; }; }; Rodin2009c: (line 1, column 11): unexpected " " expecting letter or digit, "_", operator or ";" 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Initializare"; fie v[0]=0; citeste v[0]; text "Gata. Apoi o afisare."; scrie v[0]; }; Program 0: Initializarea citirea si scrierea unui element de vector. ========================================================= "Initializare" 67 "Gata. Apoi o afisare." 67 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=3; fie x[1]=1; fie x[2]=2; scrie x[0]; scrie x[1]; scrie x[2]; } 3 1 2 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=0; fie x[1]=1; fie x[3]=3; text "x indice 0 este" ; scrie x[0]; text "x indice 1 este" ; scrie x[1]; text "x indice 2 este" ; scrie x[2]; text "x indice 3 este" ; scrie x[3]; } --- Spatile de dupa stringul lui text si inainte de --- ; nu sunt permise Rodin2009c: (line 4, column 25): unexpected " " expecting operator or ";" 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=0; fie x[1]=1; fie x[3]=3; text "x indice 0 este"; scrie x[0]; text "x indice 1 este"; scrie x[1]; text "x indice 2 este"; scrie x[2]; text "x indice 3 este"; scrie x[3]; } --- Spatile de dupa stringul lui text si inainte de --- ; nu sunt permise --- Incercarea de afisare (folosire) a unei variabile --- indexate neinitializate opreste executia pe tacute. "x indice 0 este" 0 "x indice 1 este" 1 "x indice 2 este" Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Initializare"; pentru(fie x=1;x<10;fie x=x+1) fie v[x]=x; text "gata. Apoi afisare."; pentru(fie x=1;x<10;fie x=x+1) scrie v[x]; }; Program 4: bucla cu nr cunoscut de pasi Initializarea si scrierea unui vector. ======================================= "Initializare" "gata. Apoi afisare." 1 2 3 4 5 6 7 8 9 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Initializare"; pentru(fie x=1;x<10;fie x=x+1) {fie v[x]=0; citeste v[x]; }; text "gata. Apoi afisare."; pentru(fie x=1;x<10;fie x=x+1) scrie v[x]; }; Program 5: bucla cu nr cunoscut de pasi Initializarea si scrierea unui vector. ======================================= "Initializare" 87 6 5 4 6 7 8 6 5 "gata. Apoi afisare." 87 6 5 4 6 7 8 6 5 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; fie g=(\m.daca m==0 atunci 1 altfel 0)x; scrie g; } 4 0 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; fie g=(\m.daca m==0 atunci 1 altfel 0)(\u.u+1)x; scrie g; } 67 0 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {citeste x; fie g=(\m.m+1)x; scrie g; } 7 8 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 [dan@localhost Rodin2009a]$
1.3 . Cateva sortari
{text "Selsort pentru 10 numere "; pentru(fie xk=1; xk<11; fie xk=xk+1) fie z[xk]=citeste z; pentru(fie xk=1; xk<10; fie xk=xk+1) { fie xi=xk; pentru(fie xj=xk+1; xj<11; fie xj=xj+1) daca (z[xj]<z[xi]) atunci fie xi=xj altfel 0; fie aux=z[xk]; fie z[xk]=z[xi]; fie z[xi] = aux; }; text "Sortate "; pentru(fie xk=1; xk<11; fie xk=xk+1) {scrie z[xk]; }; }; -- Algoritmul de sortare prin selectie directa -- Pentru RodinV082d 1/12/2008
Si o varianta diferita {text "Selsort pentru 10 numere ";
pentru(fie xk=1; xk<11; fie xk=xk+1)
fie z[xk]=0; pentru(fie xk=1; xk<11; fie xk=xk+1)
citeste z[xk];
pentru(fie xk=1; xk<10; fie xk=xk+1)
{ fie xi=xk;
pentru(fie xj=xk+1; xj<11; fie xj=xj+1)
daca (z[xj]<z[xi]) atunci fie xi=xj altfel 0;
fie aux=z[xk];
fie z[xk]=z[xi];
fie z[xi] = aux;
};
text "Sortate ";
pentru(fie xk=1; xk<11; fie xk=xk+1)
{scrie z[xk];
};
};
-- Algoritmul de sortare prin selectie directa
-- Pentru RodinV082d 1/12/2008
1.4 . Exemple cu vectori
Vedeti si la sortari.
1.5 . Exemple cu operatii de I/O, inclusiv vectori
Program 0: Initializarea citirea si scrierea unui element de vector. ========================================================= "Initializare" 67 "Gata. Apoi o afisare." 67 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=3; fie x[1]=1; fie x[2]=2; scrie x[0]; scrie x[1]; scrie x[2]; } 3 1 2 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=0; fie x[1]=1; fie x[3]=3; text "x indice 0 este" ; scrie x[0]; text "x indice 1 este" ; scrie x[1]; text "x indice 2 este" ; scrie x[2]; text "x indice 3 este" ; scrie x[3]; } --- Spatile de dupa stringul lui text si inainte de --- ; nu sunt permise Rodin2009c: (line 4, column 25): unexpected " " expecting operator or ";" 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin { fie x[0]=0; fie x[1]=1; fie x[3]=3; text "x indice 0 este"; scrie x[0]; text "x indice 1 este"; scrie x[1]; text "x indice 2 este"; scrie x[2]; text "x indice 3 este"; scrie x[3]; } --- Spatile de dupa stringul lui text si inainte de --- ; nu sunt permise --- Incercarea de afisare (folosire) a unei variabile --- indexate neinitializate opreste executia pe tacute. "x indice 0 este" 0 "x indice 1 este" 1 "x indice 2 este" Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Initializare"; pentru(fie x=1;x<10;fie x=x+1) fie v[x]=x; text "gata. Apoi afisare."; pentru(fie x=1;x<10;fie x=x+1) scrie v[x]; }; Program 4: bucla cu nr cunoscut de pasi Initializarea si scrierea unui vector. ======================================= "Initializare" "gata. Apoi afisare." 1 2 3 4 5 6 7 8 9 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009 2009c - Pseudocod Rodin - Codename:Rodin2009c Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell. Sintaxa http://www.haskell.org/haskellwiki/Rodin {text "Initializare"; pentru(fie x=1;x<10;fie x=x+1) {fie v[x]=0; citeste v[x]; }; text "gata. Apoi afisare."; pentru(fie x=1;x<10;fie x=x+1) scrie v[x]; }; Program 5: bucla cu nr cunoscut de pasi Initializarea si scrierea unui vector. ======================================= "Initializare" 87 6 5 4 6 7 8 6 5 "gata. Apoi afisare." 87 6 5 4 6 7 8 6 5 Am terminat de rulat programul. Rodin2009c Alternativa cu 2 ramuri si o implementare a vectorilor Obligatoriu: sa fie initializati. (Nu dau erori!) Este posibila si citirea vectorilor. ... ca si a variabilelor simple. versiunea din martie 2009
1.6 . Arhive
Vedeti surse impachetate impreuna cu executabilul necesar rularii lor in rubrica Rodin/Download.
1.7 . Bucle pentru
Mai puteti citi la pagina Rodin/BuclePentru despre o eroare de sintaxa mai neobisnuita pe care Rodin o semnaleaza INAINTE de locul unde ea apare.
Pagina proiectului Rodin este in dezvoltare. Vizitati-o regulat pentru a gasi exemplele, noutatile precum si programele si exercitiile noi adaugate.
Inapoi la inceputul paginii Rodin: http://www.haskell.org/haskellwiki/Rodin. (pe care o gasiti imediat folosind un motor de cautare binecunoascut.
