*/fi
│
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
ASCII:ssa ja UTF-8:ssa desimaalisen merkkikoodin 42
(tai heksadesimaalisena2A
) määritellään olevan *
Standardi Pascal
Symbolia *
, joka lausutaan “tähdeksi tai kertomerkiksi”, käytetään Pascal:ssa
- numeroiden kertolaskuna tai
- Joukkojen leikkauksen merkkinä.
program asteriskDemo(input, output, stderr);
type
day = (monday, tuesday, wednesday,
thursday, friday, saturday, sunday);
var
i: longint;
n: real;
m: set of day;
begin
// kertolasku operaattori
i := 6 * 7; // i saa arvokseen 42
n := 6.0 * 7.0; // n saa arvokseen 42.0
// leikkaus operaattori
m := [saturday, sunday] * [sunday, monday];
// m on nyt {sunday}
end.
Potenssiinkorotus
Lisäksi FPC:ssä on kaksi peräkkäistä tähtimerkkiä **
sisältävä potenssiin korotus operaattori. Perusmäärittelyissä sitä ei kuitenkaan ole määritelty millekään tyypille. Sen sijaan sinulla on mahdollisuus tehdä se itse.
program exponentiation(input, output, stderr);
// laitetaan operaattorin ylikuormitus saataville
{$mode objfpc}
operator ** (const base: integer; const exponent: integer): integer;
begin
result := trunc(exp(ln(base) * exponent));
end;
begin
writeLn(2 ** 10); // tulostaa 1024
end.
Saat helposti saataville ylikuormitukset math
ja matrix
unit ne otetaan käyttöön.
Muut esiintymiset
Pascalin alkuvuosina kaikki tietokoneet eivät välttämättä tunteneet kommenttien avaavaa ja sulkevaa alltosulkua { }
.
Jotta tällaisiin järjestelmiin olisi mahdollista saada lohko kommentteja vaihtoehtoisesta syntaksista, myös kahden merkin (*
ja *)
sallitaan, mutta niitä ei saa laittaa keskenään ristiin:
(*
täytyy löytää *)
, eikä huomio tällöin }
vaikka se lopettaa lohkokommentin myös.
Jos C-kielen kaltaiset operaattorit sallittiin kääntäjädirektiivillä {$COperator on}
niin voidaan käyttää syntaksin i := i * n
tilalla i *= n
.
Mutta tekemällä näin, poistut Pascalin pääsuunnasta. Koodi toimii teknisesti, mutta matemaattisesti se tulee vääräksi.
single characters |
|
character pairs |
|