Programmeren in PL/1/Declaratie van variabelen
Declaratie van variabelen
bewerkenHoewel niet strikt noodzakelijk, vereisen de meeste compilers dit toch. DCL (DeCLare) of DECLARE gaat elke declaratie vooraf. INIT (INITial) of INITIAL geeft de variabele een beginwaarde.
Numerieke variabelen
bewerkenGehele getallen worden als BIN (BINary) of BINARY gedeclareerd, kommagetallen als DEC (DECimal) of DECIMAL met tussen haakjes eerst het totaal aantal cijfers, gevolgd door het aantal plaatsen na de komma.
PL/1-code: declaratie
DCL b FIXED BINARY; DCL c FIXED BIN INITIAL(0); DCL d FIXED DECIMAL; DCL e FIXED DEC(6,4) INIT(65.4321); DCL f FLOAT; DCL g FLOAT DEC(15); DCL h FLOAT DEC(18);
Kommagetallen met een variabele kommaplaats (floating point) worden met het sleutelwoord FLOAT gedeclareerd, FLOAT DEC(15) voor een double precision en FLOAT DEC(18) voor een extended precision. (De decimale getallen 15 en 18 geven aan hoeveel cijfers zullen opgeslagen worden, hoewel de waarden intern door binaire getallen voorgesteld worden.)
Complexe getallen
bewerkenComplexe getallen worden gedeclareerd door er COMPLEX aan toe te voegen; het reële gedeelte staat voor de +, het imaginaire gedeelte bevat de factor i.
PL/1-code: complexe getallen
DCL i FLOAT DEC(15) COMPLEX; i = 5.2 + 8i;
Alternatieve voorstelling
bewerkenMet PIC (PICture) of PICTURE kan de verschijningsvorm van een variabele beter gedefinieerd worden; dit is vooral van belang bij het afdrukken en weergeven van de variabele. Een 9 stelt een cijfer voor (0-9), een V geeft de plaats van de komma aan, en het punt geeft aan van effectief een punt weer te geven.
PL/1-code: picture clause
DCL j PIC('9999V.999');
Lettertekens
bewerkenTekenreeksen (character strings) worden aangeduid met CHAR (CHARacter) of CHARACTER. VAR (VARying) of VARYING geeft aan dat de reeks ook korter kan zijn. Intern worden hiervoor extra bytes voorzien om de lengte van de variabele bij te houden.
PL/1-code: character string
DCL s CHAR(10); s = 'ABCDEFGHI'; DCL t CHAR(10) VAR; t = 'KLM';
Bij s worden de ontbrekende posities standaard aangevuld met spaties, bij t blijft de string maar 3 tekens lang.
Bit strings
bewerkenBit strings lijken op binaire getallen, maar staan tussen aanhalingstekens. Het zijn tekenreeksen die enkel 0 en 1 kunnen bevatten. Ze kunnen net als gewone tekenreeksen doorzocht worden.
PL/1-code: bit strings
DCL u BIT INIT('10110001'B);
Structuren
bewerkenPL/1 laat toe om copybooks met subniveaus te creëren.
PL/1-code: subniveau
DCL 1 persoon, 2 naam, 3 voornaam CHAR(15), 3 achternaam CHAR(30), 2 adres, 3 straat CHAR(20), 3 nummer FIXED BIN(1), 2 spaarbedrag FIXED DEC(7,2);
Arrays
bewerkenArrays zijn rijen van cijfers in een of meer dimensies. Ze kunnen intuïtief voorgesteld worden door een tabel of een matrix. Tussen haakjes wordt het aantal elementen in elke dimensie aangegeven. Door een dubbelpunt : te gebruiken kan de standaardtelling vanaf 1 veranderd worden.
PL/1-code: subniveau
DCL x(5) FLOAT INIT(11,12,13,14,15); DCL y(0:4) FLOAT INIT((5)10); DCL z(7,52) FIXED DEC(4,2) INIT((364)0);