Programmeren in PL/1/Declaratie van variabelen

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in PL/1

Bewerkingen
  1. Inleiding
  2. Declaratie van variabelen
  3. Procedures
  4. Programmastructuur
  5. Foutenafhandeling
  6. Tips en rekenregels



Declaratie van variabelen[bewerken]

Hoewel 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[bewerken]

Gehele 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[bewerken]

Complexe 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[bewerken]

Met 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[bewerken]

Tekenreeksen (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[bewerken]

Bit 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[bewerken]

PL/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[bewerken]

Arrays 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);
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.