PROGRAM  hello;
BEGIN
WRITELN('Hello world!')
END.

Output: Hello world!

View ROM for sub details!

.
PROGRAM  sample;
CONST x=2;
VAR   y:INTEGER;
BEGIN y:=x*x;
      WRITELN(y)
END.

Output: 4

.
PROGRAM  w_INTEGER;
CONST a=400;
VAR   b,s:INTEGER;
BEGIN b:=3;
      s:=a+b; s:=s DIV 2;
      WRITELN(s)
END.

Output: 201

.
PROGRAM  w_INT64;
CONST a=400000;
VAR   b,s:INT64;
BEGIN b:=3;
      s:=a+b; s:=s DIV 2;
      WRITELN(s)
END.

Output: 200001

.
PROGRAM  w_DOUBLE;
CONST a=4.0;
VAR   b:REAL; s:DOUBLE;
BEGIN b:=3.5;
      s:=a+b; s:=s/2.0;
{try also     s:=s/2;}
      WRITELN(s)
END.

Output: 0.375000000e1

.
PROGRAM  INTEGERtypes;
CONST c=100000; d=200; 
VAR   a:INT64;  b:INTEGER;
BEGIN WRITE(c); WRITE(' ');
WRITELN(d);
a:=c; WRITE(a); WRITE(' ');
a:=d; WRITELN(a);
b:=d; WRITELN(b);
{a:=c;} {b:=a; WRITELN(b);}
a:=b+c; WRITELN(a);
END.
see compiler options!!!
Output: 100000 200
        100000 200
        200
        100200

.
PROGRAM  INT_DOUBLE;
CONST i=-2;    r=4.75;
VAR   a:INT64; b:DOUBLE;
BEGIN b:=1; WRITELN(b);
      b:=r+i; WRITELN(b);
      a:=TRUNC(r); WRITELN(a);
      a:=ROUND(r); WRITELN(a)
END.

Output: 0.100000000e1
        0.275000000e1
        4
        5

.
PROGRAM  calc_SQR;
VAR   a:INTEGER; b:DOUBLE;
BEGIN a:=2; a:=SQR(a);
      WRITELN(a);
      b:=2.0; b:=SQR(b);
      WRITELN(b)
END.

Output: 4
        0.400000000e1

.
PROGRAM  calc;
VAR  a,b,c:INTEGER;
BEGIN a:=3; b:=a+2;
b:=SQR(b);b:=b-2;
c:=b mod a;
writeln(c);
END.

Output: 2

.
PROGRAM  fallibility;
CONST e=1e-2;
VAR   a,s:REAL; 
      i,n:INT64;
BEGIN a:=1/e; n:=TRUNC(a);
      WRITELN(n);
      s:=0;
      FOR i:=1 TO n DO s:=s+e;
      a:=1-s;
      WRITELN(a)
END.

Output: 100
        -0.666133814e-15

.
PROGRAM  w_BOOLEAN;
CONST t=TRUE; f=FALSE;
VAR   b:BOOLEAN;
BEGIN b:=f; WRITELN(b);
      WRITELN(t)
END.

Output: FALSE
        TRUE

.
PROGRAM logic;
CONST a=FALSE; b=FALSE;
VAR   c,d,e,f:BOOLEAN;
BEGIN c:=a AND b;
      WRITELN(c);
      d:=NOT a; e:=NOT b;
      f:=e OR d; f:=NOT f;
      WRITE(f); WRITE(' xor ');
      f:=c XOR f; WRITELN(f)
END.

Output: FALSE
        FALSE xor FALSE

.
PROGRAM char_func;
CONST e='1';
VAR   i:INTEGER;
      c:CHAR;
BEGIN
i:=ORD(e); WRITELN(i);
c:=CHR(49);WRITELN(c);
c:=SUCC(e);WRITELN(c);
c:=PRED(e);WRITELN(c);
END.

Output: 49
        1
        2
        0

.
PROGRAM  TypConst;
CONST n=4;
      t:INTEGER=5;
VAR   w:INTEGER;
BEGIN w:=t-n; t:=w+1;
WRITELN(t);
END.

Output: 2

.
PROGRAM  VarPos1;
VAR d:DOUBLE;
    b:BOOLEAN;
    i:INTEGER;
    l:INT64;
    c:CHAR;
BEGIN i:=0
END.

.
PROGRAM VarPos2;
{more rational}
VAR d:DOUBLE;
    l:INT64;
    b:BOOLEAN; c:CHAR;
    i:INTEGER;
BEGIN i:=0
END.

.
PROGRAM  Array1;
CONST a=2005;    b='3';
VAR   c:INTEGER; d:CHAR;
e:ARRAY [1999..a] OF CHAR;
f:ARRAY ['0'..b] 
        OF INTEGER;
BEGIN c:=a-2; e[c]:=SUCC(b);
WRITELN(e[2003]);
d:=PRED(b); f[d]:=3*a;
WRITELN(f['2'])
END.

Output: 4
        6015

.
PROGRAM  Array2;
CONST c=1;
VAR   i:INT64;
f:ARRAY [c..5] OF DOUBLE;
BEGIN i:=c+2;
f[i]:=20.2; WRITELN(f[3])
END.

Output: 0.202000000e2

.
PROGRAM  Array3;
CONST t=TRUE;
VAR b:BOOLEAN;
m:ARRAY [BOOLEAN]
        OF INTEGER;
BEGIN
m[FALSE]:=0; m[TRUE]:=1;
b:=TRUE; WRITELN(m[FALSE]);
WRITE(m[b]); WRITE('  ');
WRITELN(m[t]);
END.

Output: 0
        1  1

.
PROGRAM digits;
CONST n=5;
      k:INTEGER=13524;
VAR   i:INTEGER;
c:ARRAY [1..n] OF INTEGER;
BEGIN  i:=n;
REPEAT c[i]:=k MOD 10;
       k:=k DIV 10;
       i:=i-1
UNTIL k=0;
FOR i:=1 TO n DO
BEGIN  WRITE(c[i]);WRITE(' ')
END
END.

Output: 1 3 5 2 4

.
PROGRAM  IfInt;
VAR   x,s:INTEGER;
BEGIN x:=2;
if x<0 then s:=-1
       else s:=1;
writeln(s)
END.

Output: 1

.
PROGRAM  IfBool;
VAR i:INT64;
    b:BOOLEAN;
    c:CHAR;
BEGIN 
i:=1; b:=i=0;
if b then c:='0'
     else c:='1';
writeln(c)
END.

Output: 1

.
PROGRAM  Sign;
CONST x=2;
VAR   s:INTEGER;
BEGIN
IF x<0 THEN s:=-1
       ELSE s:=1;
IF x=0 THEN s:=0;
writeln(s)
END.

Output: 1

.
PROGRAM StepMinEdin;
CONST n:INTEGER=3;
VAR   r,e:INTEGER;
BEGIN r:=n MOD 2;
IF r=0 THEN e:=1
       ELSE e:=-1;
WRITELN(e);
END.

Output: -1

.
PROGRAM number;
CONST c:CHAR='3';
VAR   i:INTEGER;
      l,r,w:BOOLEAN;
BEGIN l:=c>='0'; r:=c<='9';
      w:=l AND r;
IF w 
  THEN WRITELN('number')
  ELSE WRITELN('not number');
END.

Output: number

.
PROGRAM example;
CONST a:INTEGER=2;
      b:INTEGER=15;
VAR   c:INTEGER;
BEGIN c:=0;
      WHILE a<b DO
            BEGIN a:=a+5;
                  c:=c+1
            END;
      WRITELN(c)
END.

Output:  3

.
PROGRAM search;
VAR i:INTEGER;
t:ARRAY [1..11] OF CHAR;
BEGIN FOR i:=1 TO 10 DO
          READ(t[i]);
WRITELN('.');
t[11]:='A'; i:=1;
WHILE t[i]<>'A' DO i:=i+1; 
IF i<11 THEN WRITELN(i)
        ELSE WRITELN('no');
END.

.
PROGRAM SQRT;
VAR x,y,s:INTEGER;
BEGIN
READLN(x); y:=0;
REPEAT
      y:=y+1; 
      s:=SQR(y);
UNTIL s>=x;
WRITELN(y)
END.

.
PROGRAM text;
VAR i:INTEGER;
t:ARRAY [1..10] OF CHAR;
BEGIN  i:=0;
REPEAT i:=i+1;
       READ(t[i])
UNTIL  t[i]='.'
END.

.
PROGRAM  cycle_FOR1;
VAR  i:INTEGER;
BEGIN
FOR i:=1 TO 9
    DO WRITELN(i)
END.

Output: 1
        2
...
        9

.
PROGRAM  cycle_FOR2;
VAR  i:INTEGER;
BEGIN
FOR i:=9 DOWNTO 1
    DO WRITELN(i)
END.

Output: 9
        8
...
        1

.
PROGRAM  cycle_FOR3;
VAR  c:CHAR;
BEGIN
FOR c:='A' TO 'Z'
    DO WRITE(c)
END.

Output: ABCD..Z

.
PROGRAM  cycle_FOR4;
VAR  c:CHAR;
BEGIN
FOR c:='Z' DOWNTO 'A'
    DO WRITE(c)
END.

Output: ZYX..A

.
PROGRAM  cycle_FOR5;
VAR  b:BOOLEAN;
BEGIN
FOR b:=FALSE TO TRUE
    DO WRITELN(b)
END.

Output: FALSE
        TRUE

.
PROGRAM  cycle_FOR6;
VAR  b:BOOLEAN;
BEGIN
FOR b:=TRUE DOWNTO FALSE
    DO WRITELN(b)
END.

Output: TRUE
        FALSE

.
PROGRAM  cycle_FOR7;
VAR  i:INT64;
BEGIN
FOR i:=100001 TO 100009
    DO WRITELN(i)
END.

Output: 100000
        100001
...
        100009

.
PROGRAM  cycle_FOR8;
VAR  i:INT64;
BEGIN
FOR i:=100009 DOWNTO 100001
    DO WRITELN(i)
END.

Output: 100009
        100008
...
        100001

.
PROGRAM  factor_WHILE;
VAR   i,n,f:INTEGER;
BEGIN n:=3;
      f:=1; i:=1;
WHILE i<=n DO
BEGIN f:=f*i;
      i:=i+1
END;
writeln(f)
END.

Output: 6

.
PROGRAM  factor_REPEAT;
VAR  i,n,f:INTEGER;
BEGIN  n:=3;
       f:=1; i:=1;
REPEAT f:=f*i;
       i:=i+1
UNTIL  i>n;
writeln(f)
END.

Output: 6

.
PROGRAM  factor_FOR;
VAR   i,n,f:INTEGER;
BEGIN n:=3;
      f:=1;
FOR i:=1 TO n DO f:=f*i;
writeln(f)
END.

Output: 6

.
PROGRAM  factor_INT;
VAR   i,n,f:INTEGER;
      l:INT64;
BEGIN n:=7; f:=1;
FOR i:=1 TO n DO f:=f*i;
writeln(f);
n:=20; l:=1;
FOR i:=1 TO n DO l:=l*i;
writeln(l)
END.

Output: 5040
        2432902008176640000

.
PROGRAM Gauss;
CONST n=100;
VAR   i,s:INTEGER;
BEGIN s:=0;
FOR i:=1 TO n DO s:=s+i;
WRITELN(s);
END.

Output: 5050

.
PROGRAM bool;
VAR  b,n:BOOLEAN;
BEGIN
FOR b:=FALSE TO TRUE DO
   BEGIN WRITE('b=');
         WRITE(b);
         n:=not b;
         WRITE(' not(b)=');
         WRITELN(n)
   END;
END.

Output: b=FALSE  not(b)=TRUE
        b=TRUE  not(b)=FALSE

.
PROGRAM summa;
CONST n=5;
VAR   i,s:INTEGER;
m:ARRAY [1..n] OF INTEGER;
BEGIN
FOR i:=1 TO n DO
    readln(m[i]); s:=0;
FOR i:=1 TO n DO s:=s+m[i];
WRITELN(s);
END.

.
PROGRAM OtrElem;
CONST n=5;
VAR i:INTEGER; a,b:BOOLEAN;
m:ARRAY [1..n] OF INTEGER;
BEGIN FOR i:=1 TO n DO
       readln(m[i]);  i:=0; 
REPEAT i:=i+1; a:=m[i]<0; 
b:=i=n; b:=a OR b UNTIL b;
IF a THEN WRITELN(m[i])
     ELSE WRITELN('no -')
END.

.
PROGRAM  Hex;
VAR i:INTEGER; s:CHAR;
h:ARRAY [0..15] OF CHAR;
BEGIN s:='0';
FOR i:=0 TO 9 DO
 BEGIN h[i]:=s; s:=SUCC(s);
 END;  s:='A';
FOR i:=10 TO 15 DO
 BEGIN h[i]:=s; s:=SUCC(s);
 END;  WRITELN(h[13]);
END.

Output:  D

.
PROGRAM text;
CONST n=10; e='.';
VAR   i,j:INTEGER;
t:ARRAY [1..n] OF CHAR;
BEGIN i:=0;
REPEAT i:=i+1;READ(t[i]);
UNTIL t[i]=e;          
FOR j:=1 TO i DO
    WRITE(t[j]);
END.

.
PROGRAM OutText;
BEGIN
WRITELN('Text example')
END.

Output:  Text example

.
PROGRAM OutVar;
VAR 
m:ARRAY [1..3] OF CHAR;
i:INTEGER;
BEGIN m[3]:='Q'; i:=3;
WRITELN(m[i])
END.

Output:  Q

.
PROGRAM OutputExample;
VAR   c:CHAR;
BEGIN c:='3';
WRITE('Example');
WRITELN(' of output');
WRITE('c=');
WRITELN(c)
END.

Output:  Example of output
         c=3

.
PROGRAM read_int;
VAR a,b:INTEGER;
BEGIN READLN(a);
      READLN(b);
      WRITE(a); WRITE(' ');
      WRITELN(b)
END.

.
PROGRAM read_char;
VAR a,b:CHAR;
BEGIN READ(a);
      READ(b);
      WRITE('=>');
      WRITE(a); WRITELN(b)
END.

.
PROGRAM oform;
VAR   a:INTEGER;
BEGIN WRITE('A=');
      READLN(a);
      WRITE('A=');
      WRITELN(a)
END.

.
.