*/fi

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.


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)  •  <= (less than or equal)  •  := (becomes)  •  >= (greater than or equal)

 •  >< (symmetric difference)  •  // (double slash)