Difference between revisions of "Rodin/Examples"
m |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | <center> [[Image:Rodin-Banner.gif]] </center> |
||
− | Vor fi aici... |
||
+ | <h1> Exemple din 2008 resp 2009 - Gasiti exemple noi pentru ultima versiune Rodin (si) in arhiva cea mai recenta din pagina [[Rodin/Download]]! </h1> |
||
− | Pina atunci puteti citi: |
||
+ | ---- |
||
+ | '''!''' Daca totusi folositi exemplele de mai jos tineti seama ca versiunea Rodin Experiment Exp12 nu mai foloseste ; inainte de acolada inchisa. |
||
+ | deci stergeti ; dinainte de acolada care se inchide. |
||
+ | |||
+ | Vedeti cum sunt scrise aici: [[Exemple Rodin pentru Exp12]] |
||
+ | ---- |
||
+ | ==. Setul pentru incepatori == |
||
+ | |||
+ | <h3> Bucla pentru - Rodin 2009 e - (depasit) </h3> |
||
+ | <haskell> |
||
+ | [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 |
||
+ | </haskell> |
||
+ | <h3> Bucla pentru - Rodin ExperimentExp11 - aug 2009 </h3> |
||
+ | <haskell> |
||
+ | {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 ! |
||
+ | </haskell> |
||
+ | '''Situatia:''' Revizuit si pus in dosarele din arhiva de dupa 26 aug 2009. Inca nelansata. |
||
+ | ---- |
||
+ | |||
+ | <h3> Cat timp ... executa - Rodin2009e - versiunea din 8 martie 2009. |
||
+ | (depasit) </h3> |
||
+ | <haskell> |
||
+ | 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 |
||
+ | </haskell> |
||
+ | <h3> Cat timp ... executa - Rodin ExperimentExp11 - 21 aug 2009 </h3> |
||
+ | <haskell> |
||
+ | {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 |
||
+ | </haskell> |
||
+ | ---- |
||
+ | <h3> Simularea executiei lui '''pentru''' - Rodin2009e - versiunea din 8 martie 2009. |
||
+ | (depasit) </h3> |
||
+ | <haskell> |
||
+ | |||
+ | 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]$ |
||
+ | |||
+ | </haskell> |
||
+ | <h3> Simularea executiei lui '''pentru''' - Rodin ExperimentExp11 - versiunea 21 august 2009. </h3> |
||
+ | |||
+ | <haskell> |
||
+ | { 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. |
||
+ | |||
+ | |||
+ | </haskell> |
||
+ | ==. Un set ceva mai avansat == |
||
+ | |||
+ | <h3> Repeta pina cand - Rodin2009c (depasit) . </h3> |
||
+ | |||
+ | <haskell> |
||
+ | |||
+ | 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" |
||
+ | |||
+ | |||
+ | </haskell> |
||
+ | |||
+ | <h3> Repeta pina cand - Rodin Codename:ExperimentExp11 - 21 aug 2009 </h3> |
||
+ | |||
+ | <haskell> |
||
+ | |||
+ | 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 |
||
+ | |||
+ | |||
+ | </haskell> |
||
+ | ---- |
||
+ | <h3> Executa atat cat - Rodin2009c (depasit) . </h3> |
||
+ | |||
+ | <haskell> |
||
+ | |||
+ | 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 |
||
+ | |||
+ | </haskell> |
||
+ | ---- |
||
+ | <h3> Executa atat cat - Rodin Codename:ExperimentExp11 - 21 aug 2009 </h3> |
||
+ | |||
+ | <haskell> |
||
+ | |||
+ | |||
+ | 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]$ |
||
+ | |||
+ | </haskell> |
||
+ | ==. Cateva sortari == |
||
+ | <haskell> |
||
+ | {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 |
||
+ | </haskell> |
||
+ | '''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 |
||
+ | |||
+ | |||
+ | |||
+ | ==. Exemple cu vectori == |
||
+ | Vedeti si la sortari. |
||
+ | |||
+ | ==. Exemple cu operatii de I/O, inclusiv vectori == |
||
+ | <haskell> |
||
+ | |||
+ | 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 |
||
+ | |||
+ | </haskell> |
||
+ | |||
+ | ==. Arhive == |
||
+ | Vedeti surse impachetate impreuna cu executabilul necesar rularii lor in |
||
+ | rubrica [[Rodin/Download]]. |
||
+ | |||
+ | ==. 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. |
[[Rodin/BuclePentru]] despre o eroare de sintaxa mai neobisnuita pe care Rodin o semnaleaza INAINTE de locul unde ea apare. |
||
+ | |||
+ | ---- |
||
+ | <center> [[Image:Rodin-Banner.gif]] </center> |
||
+ | ---- |
||
+ | 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. |
||
+ | <center> [[Image:FindOnYahoo.jpg]] </center> |
||
---- |
---- |
||
− | Pagina in curs de dezvoltare. |
Latest revision as of 17:37, 13 March 2011
Exemple din 2008 resp 2009 - Gasiti exemple noi pentru ultima versiune Rodin (si) in arhiva cea mai recenta din pagina Rodin/Download!
! Daca totusi folositi exemplele de mai jos tineti seama ca versiunea Rodin Experiment Exp12 nu mai foloseste ; inainte de acolada inchisa. deci stergeti ; dinainte de acolada care se inchide.
Vedeti cum sunt scrise aici: Exemple Rodin pentru Exp12
. Setul pentru incepatori
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
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
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]$
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.
. Un set ceva mai avansat
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"
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
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
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]$
. 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
. Exemple cu vectori
Vedeti si la sortari.
. 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
. Arhive
Vedeti surse impachetate impreuna cu executabilul necesar rularii lor in rubrica Rodin/Download.
. 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.