Sign in Join
Wiki copytemporary

*/fi

English · Français · Suomi · Русский

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

pascal
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.

pascal
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.


From the Free Pascal wiki, page "/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.*

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.