Difference between revisions of "Rodin/Examples"

From HaskellWiki
Jump to navigation Jump to search
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

Rodin-Banner.gif

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.



Rodin-Banner.gif

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.

FindOnYahoo.jpg