Rodin/Examples

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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