Personal tools

Rodin/Examples

From HaskellWiki

< Rodin
Revision as of 12:32, 26 August 2009 by Ha$kell (Talk | contribs)

Jump to: navigation, search
Rodin-Banner.gif

Contents

1 Exemple din 2008 resp 2009 - Gasiti exemple noi pentru ultima versiune Rodin (si) in arhiva cea mai recenta din pagina Rodin/Download!

1.1 . Setul pentru incepatori

1.1.1 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

1.1.2 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

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

1.1.4 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.

1.2 . Un set ceva mai avansat

1.2.1 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"

1.2.2 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

1.2.3 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

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

1.3 . 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


1.4 . Exemple cu vectori

Vedeti si la sortari.

1.5 . 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

1.6 . Arhive

Vedeti surse impachetate impreuna cu executabilul necesar rularii lor in rubrica Rodin/Download.

1.7 . 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