Difference between revisions of "Rodin/Examples"

From HaskellWiki
Jump to navigation Jump to search
(Working)
m (Banner (proviz.))
Line 1: Line 1:
  +
<center> [[Image:Rodin-Banner.gif]] </center>
Vor fi aici...
 
 
   
 
==. Setul pentru incepatori ==
 
==. Setul pentru incepatori ==
Line 1,119: Line 1,118:
 
----
 
----
 
Pagina in curs de dezvoltare.
 
Pagina in curs de dezvoltare.
  +
  +
----
  +
<center> [[Image:Rodin-Banner.gif]] </center>
  +
----
  +
Pagina proiectului Rodin este in dezvoltare. Vizitati-o regulat pentru a gasi update-urile, 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>
  +
----

Revision as of 14:11, 22 March 2009

Rodin-Banner.gif

. Setul pentru incepatori

[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 !!!
Bad ... unde e greseala ?

10
11
12
13
14
15
16
17
18
19


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


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]$

. Un set ceva mai avansat

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"


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


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 in curs de dezvoltare.


Rodin-Banner.gif

Pagina proiectului Rodin este in dezvoltare. Vizitati-o regulat pentru a gasi update-urile, 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