Rodin/Ro/PRodin/2009abcd
Exemple aici Rodin/2009d
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{fie x=0;
citeste x;
fie y=1;
executa
{
fie y=y*x;
fie x=x-1;
}
atat cat (x>1);
scrie y;
}
23
25852016738884976640000
Am terminat de rulat programul:"Rodin-A-3ok.txt"
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 8 martie 2009
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ fie x=1;
fie y=1;
fie z=0;
citeste x;
citeste y;
executa
{
daca (x==y) atunci
{
fie z=1;
}
altfel
{
daca (x>y) atunci
{
fie x=x-y;
}
altfel
{
fie y=y-x;
};
};
}
atat cat (z==0);
scrie x;
}
--cmmdc
101
90
1
Am terminat de rulat programul:"Rodin-A-4.txt"
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 8 martie 2009
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{pentru (fie x=1,fie y=2;x*x<100;fie x=x+1,fie y=y*2)
{text "x=";scrie x;
text "y=";scrie y;
text "\n"};
};
--dupa 'pentru' nu puneti spatiu
--problema e de la operatorul < si spatiile de linga el
-- BAD
Rodin2009d: (line 1, column 8):
unexpected " "
expecting letter or digit, "_", operator or ";"
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{fie x=10;
cat timp (x!=0)
{fie x=x-1;
};
scrie x;
};
0
Am terminat de rulat programul:"RodinV08-cattimp.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ text "dati numarul a ";
citeste a;
text "dati numarul b ";
citeste b;
fie undeimp=a;
fie unimp=b;
repeta
{ fie unrest=undeimp%unimp;
fie undeimp=unimp;
fie unimp=unrest;
}
pana cand (unimp==0);
scrie undeimp;
};
Program 4:cmmdc
==================
Rodin2009d: (line 7, column 9):
unexpected "\r"
expecting letter or digit, "_", operator or ";"
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ citeste x;
fie x=x+1;
scrie x;
}
Program 3
=========
6
7
Am terminat de rulat programul:"RodinV08-citeste-incrementeaza-scrie.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ citeste x;
scrie x;}
Program 2
==========
89
89
Am terminat de rulat programul:"RodinV08-citeste-scrie.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ text "dati valoarea lui x";
citeste x;
cat timp (x>10)
{fie x=x-1;scrie x; };
}
--RodinV08
--Bucla cu secventa
"dati valoarea lui x"
4
Am terminat de rulat programul:"RodinV08-demo2.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ citeste n;
fie x=1;
fie nr=1;
cat timp (nr<n)
{ fie nr=nr+1;
fie x=x*nr;
};
scrie x;
}
--Rodin-V08
1000
402387260077093773543702433923003985719374864210714632543
799910429938512398629020592044208486969404800479988610197
196058631666872994808558901323829669944590997424504087073
759918823627727188732519779505950995276120874975462497043
601418278094646496291056393887437886487337119181045825783
647849977012476632889835955735432513185323958463075557409
114262417474349347553428646576611667797396668820291207379
143853719588249808126867838374559731746136085379534524221
586593201928090878297308431392844403281231558611036976801
357304216168747609675871348312025478589320767169132448426
236131412508780208000261683151027341827977704784635868170
164365024153691398281264810213092761244896359928705114964
975419909342221566832572080821333186116811553615836546984
046708975602900950537616475847728421889679646244945160765
353408198901385442487984959953319101723355556602139450399
736280750137837615307127761926849034352625200015888535147
331611702103968175921510907788019393178114194545257223865
541461062892187960223838971476088506276862967146674697562
911234082439208160153780889893964518263243671616762179168
909779911903754031274622289988005195444414282012187361745
992642956581746628302955570299024324153181617210465832036
786906117260158783520751516284225540265170483304226143974
286933061690897968482590125458327168226458066526769958652
682272807075781391858178889652208164348344825993266043367
660176999612831860788386150279465955131156552036093988180
612138558600301435694527224206344631797460594682573103790
084024432438465657245014402821885252470935190620929023136
493273497565513958720559654228749774011413346962715422845
862377387538230483865688976461927383814900140767310446640
259899490222221765904339901886018566526485061799702356193
897017860040811889729918311021171229845901641921068884387
121855646124960798722908519296819372388642614839657382291
123125024186649353143970137428531926649875337218940694281
434118520158014123344828015051399694290153483077644569099
073152433278288269864602789864321139083506217095002597389
863554277196742822248757586765752344220207573630569498825
087968928162753848863396909959826280956121450994871701244
516461260379029309120889086942028510640182154399457156805
941872748998094254742173582401063677404595741785160829230
135358081840096996372524230560855903700624271243416909004
153690105933983835777939410970027753472000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000
000
Am terminat de rulat programul:"RodinV08-Factorial-Ro.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ fie xf1=0;
fie xf2=1;
scrie xf1;
scrie xf2;
cat timp (xf2<50)
{ fie xf1p=xf2;
fie xf2p=xf1+xf2;
fie xf1=xf1p;
fie xf2=xf2p;
scrie xf2;
};
};
--RodinV08
--Sirul lui Fib.
0
1
1
2
3
5
8
13
21
34
55
Am terminat de rulat programul:"RodinV08-Fibo.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{ fie y=2;
fie x=100;
cat timp (x>10)
fie x=x-1;
scrie x;
scrie y;
}
--RodinV08
--Fie, cat timp, scrie
10
2
Am terminat de rulat programul:"RodinV08-fie-cat-timp-scrie.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
Limbajul Pseudocod Rodin de Dan V Popa,Grupul Ro/Haskell.
Sintaxa http://www.haskell.org/haskellwiki/Rodin
{text "Scrie numarul de incrementat ";
citeste x;
fie g=(\ a.a+1) x;
scrie (g);
}
--Aplicarea unei functii anonime
--RodinV08
"Scrie numarul de incrementat "
234
235
Am terminat de rulat programul:"RodinV08-g.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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;
};
};
Rodin2009d: (line 1, column 11):
unexpected " "
expecting letter or digit, "_", operator or ";"
EROARE: Rodin2009d foloseste "text" si nu "vorbeste".
2009d - Pseudocod Rodin - Codename:Rodin2009d
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"
8
"Gata. Apoi o afisare."
8
Am terminat de rulat programul:"vector0.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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:"vector1.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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
Rodin2009d: (line 4, column 25):
unexpected " "
expecting operator or ";"
2009d - Pseudocod Rodin - Codename:Rodin2009d
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"
EROARE: Rodin nu poate scrie o variabila care nu a
primit valoare iar programul se opreste din executie.
Am terminat de rulat programul:"vector3.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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:"vector4.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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"
3
2
7
98
543
984
5
93
09
"gata. Apoi afisare."
3
2
7
98
543
984
5
93
9
Am terminat de rulat programul:"vector5.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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;
}
0
1
Am terminat de rulat programul:"y2.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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;
}
0
0
Am terminat de rulat programul:"y3.txt"
Rodin2009d - 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.
2009d - Pseudocod Rodin - Codename:Rodin2009d
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;
}
29
30
Am terminat de rulat programul:"y.txt"
Rodin2009d - 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]
Pagina este in dezvoltare. Limbajul Rodin2009 insusi este in dezvoltare, cu ocazia unor cercetari privind limbajele modulare, desfasurate la sectia Matematica Informatica de la Universitatea din Bacau.