< Programmeren in PL < 1

Programmeren in PL/1

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


Declaratie van variabelen

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

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

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

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

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

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

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

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);


This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.