;/fi

From Free Pascal wiki

English (en) suomi (fi) français (fr)


;

Puolipisteen ASCII tai unicode arvo on 59 (Heksadesimaalisena $3B).

Puolipistettä, ; käytetään erottamaan lauseita (toisin kuin jossain muissa ohjelmointikielissä, jossaa sitä käytetään lauseen lopettamiseen ). Sitä on pakko käyttää useimmissa lauseissa, vapaaehtoisesti joissakin lauseissa ja sen käyttö on kiellettyä tietyssä lauseissa.

(Jotta selitettäisiin käyttö, jossa Pascalin avainsanoja viitataan tämän artikkelin tekstissä, ne on kirjoitettu isoilla kirjaimina. Ohjelmalistaukset käyttävät pieniä kirjaimia.)

Puolipiste on yleensä pakollinen ja sitä tarvitaan jokaisen lauseen jälkeen. Paikat, joissa se on valinnainen, ovat

  • ennen END lausetta
  • ennen ohjelman PROGRAM tai käännösyksikön UNIT päättymispistettä

Paikat joissa puolipiste on kielletty, ovat

  • Ennen BEGIN-lausetta, joka kokoaa yhdistelmälauseen
  • Ennen välittömästi ELSE-lausetta, joka kuuluu sisäkkäiseen IF-lauseseen

Se on yleensä kielletty ennen ELSE-lausetta IF lauseessa tai CASE lauseessa. Jos kyseessä on kuitenkin sisäkkäinen IF-lause, sitä voidaan vaatia ennen ELSE-lausetta, jos ELSE:ä käytetään johonkin muuhun IF-lausekkeeseen aikaisemmin ohjelmassa ja varsinainen IF ei ole päättynyt ELSE-lauseeseen. Tätä tarkastellaan jäljempänä.

If lause ja puolipiste

Puolipiste on kielletty ennen ELSE lauseketta, joka koskee välittömästi IF-lausetta, jotta kääntäjä voi tietää, missä IF-lauseke päättyy. Esimerkiksi

 (*0001*)  if continuance then                     
 (*0002*)    if separated then                   
 (*0003*)       Condition(a)                       
 (*0004*)    else                                
 (*0005*)       if combined then                 
 (*0006*)          Condition(b)
 (*0007*)       else                                          
 (*0008*)          Condition(c);
 (*0009*)  Calculate_fee;

Tässä esimerkissä puolipiste on kielletty rivillä 3 (muussa tapauksessa ELSE rivillä 4 sovellettaisiin IF: lauseeseen rivillä 1).

Jos rivien 1 ja 2 välissä olisi BEGIN-rivi ja rivin 8 jälkeen END-rivi, niin puolipiste olisi kielletty rivillä 1.

Koska rivillä 6 ei ole puolipistettä niin ELSE-arvo rivillä 7 koskee IF: tä rivillä 5. Jos rivi 6 päättyisi puolipisteeseen, niin ELSE rivillä 7 olisikin voimassa IF:n rivillä 1 kanssa (ELSE rivillä 4 koskee IF: tä rivillä 2). Näin puolipiste on tässä yhteydessä kielletty saadakseen tämän tuloksen.

Kuitenkin jos halutaan että ELSE-osa koskee riviä 1 niin puolipiste olisi pakollinen rivillä 6, joka "sulkee" IF:n rivillä 5.

Jos rivin 1 yläpuolella oli IF-lause niin puolipiste rivillä 8 sulkee IF-lausekkeen rivillä 1 ja jos ELSE sijoitettaisiin rivin 8 jälkeen niin se ei koske IF-lauseketta rivillä 1.

Usein on suositeltavaa liittää kaikki lauseet IF-lauseen sisällä BEGIN / END-lohkolla, jos saattaa olla kysymys siitä, mihin ELSE-arvoon sovelletaan mitäkin IF lausetta sisäkkäisten IF-lausekkeiden joukossa.


navigation bar: topic: Pascal symbols
single characters

+ (plus)  •  - (minus)  •  * (asterisk)  •  / (slash)
= (equal)  •  > (greater than)  •  < (less than)
. (period)  •  : (colon)  •  ; (semi colon)
^ (hat)  •  @ (at)
$ (dollar sign)  •  & (ampersand)  •  # (hash)
' (single quote)

character pairs

<> (not equal)  •  := (becomes)  •  >< (symmetric difference)  •  // (double slash)