Rodin/Examples
From HaskellWiki
m |
|||
| (5 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| - | + | <center> [[Image:Rodin-Banner.gif]] </center> | |
| - | + | <h1> Exemple din 2008 resp 2009 - Gasiti exemple noi pentru ultima versiune Rodin (si) in arhiva cea mai recenta din pagina [[Rodin/Download]]! </h1> | |
| + | ---- | ||
| + | '''!''' 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> | ||
---- | ---- | ||
| - | |||
Current revision
Contents
|
1 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
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.
