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