A PL/1 programozási nyelv

Példaprogramok

Hello World

(2011 - Kovács Dániel) Egyszerű Hello World program
hello: proc() options(main); dcl theAnswer char(16) varying; Display('Add meg a neved vagy lepj ki Q-val!') Reply( theAnswer ); if theAnswer = 'q' | theAnswer = 'Q' then Leave; else Display('Hello '|| theAnswer ); end hello;

Ciklus

(2011 - Kovács Dániel) Számoljunk kamatos kamatot!
cikl: proc() options(main); dcl alap fixed decimal(8,2), kamat fixed decimal(8,2), ev fixed decimal(2); get data; do ev = 1 to 25 by 1; alap = alap * (100 + kamat) / 100; put data(ev, alap); Display('Ev: ' || ev || ', toke: ' || alap); end; end cikl;

Egyszerű kiértékelés

(2011 - Kovács Dániel) Legyenek adottak szögeket tartalmazó szintezett változók, valamilyen kezdeti értékkel, valamint egy 8x8-as egységmátrix. A szintezett változók között végezzünk el értékadást (a megfelelő változókra csak!), és ezek után számoljuk, és tároljuk el a mátrixba némely szög sinus-át, cosinus-át!
kiertekel: proc() options(main); dcl 1 a, 2 x1, 3 alfa init(35), 3 beta init(40), 3 gamma init(60), 2 x2, 3 delta init(22), 3 epsilon init(42), 3 zeta init(47), 2 x3, 3 eta init(56), 3 beta init(102), 1 b, 2 x1, 3 alfa init(55), 3 delta init(76), 3 beta init(11), 2 x2, 3 gamma init(7), 3 epsilon init(88), 3 zeta init(43), 1 c, 2 x1, 3 eta init(12), 3 beta init(13), 3 alfa init(17), 2 x2, 3 epsilon init(37), 3 beta init(41), 3 zeta init(43), 3 theta init(47), m(8,8) fixed init(1, (7)((8)0, 1)), i,j; a = (2 * b + c) / 2, by name; do i = 1 to 8; do j = 1 to 8; if (i > j) then if (i < j) then if (mod((i+j),2) = 0) then m(i,j) = i * sin(a.x1.alfa); else m(i,j) = i * cos(b.x1.beta); else; else Display ("(" || i || "," || j || ") = " || m(i,j)); end; end; end kiertekel;