Rodin/Ro/PRodin/2009abcd

From HaskellWiki
< Rodin
Revision as of 13:13, 8 March 2009 by Ha$kell (talk | contribs) (Examples: Rodin2009d running exercises/small programs.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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.