Sign in Join
Wiki copytemporary

Slash/fi

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

/

Yksittäinen kauttaviiva, jota ympäröivät ei-kauttaviivaiset merkit, katsotaan jakolaskuksi. Kaksi peräkkäistä viivaa aloittaa rivikommentin.

Jakolasku

Kauttaviivaa / käytetään Pascal-ohjelmassa merkitsemään jakolaskua. Tämän jakolaskun tulokset ovat aina desimaalilukuja. Jos halutaan suorittaa kokonaislukujakolaskun niin on käytettävä div-operaattoria.

pascal
A := 3 / 4;

Tämän toimenpiteen jälkeen muuttujalla A on arvo 0.75 (olettaen, että A on ilmoitettu desimaaliluvun tyypiksi, muuten kääntäjä ilmoittaa yhteensopimattoman tyyppivirheen).

Tähän liittyviä poikkeuksia

Kauttaviivan oikealla puolella oleva arvo ei saa olla nolla tai tapahtuu nollajako-virhe. Kääntäjän tiloissa, joissa poikkeuksia on saatavilla (esim. ObjFPC ja Delphi-tila), tämä ehto voidaan ottaa kiinni try … except lohkolla. Muussa tapauksessa esiintyy ajonaikainen virhe (RTE 200).

pascal
program divZeroDemo(input, output, stderr);

// ObjFPC mode for exceptions
{$mode objfpc}

uses
    // make exception EDivByZero known
    sysutils;

const
    dividend = 1.1;

resourcestring
    enterDivisorPrompt = 'Enter divisor:';
    divisionOperationExceptionless = 'Division did not cause an exception.';
    zeroDivisionFailure = 'Error: Attempted to divide by zero.';

var
    divisor, quotient: single;

begin
    writeLn(enterDivisorPrompt);
    readLn(divisor);
    
    try
        quotient := dividend / divisor;
        writeLn(divisionOperationExceptionless);
    except on EDivByZero do
        writeLn(zeroDivisionFailure);
    end;
end.

Note: Poikkeuksen käsittely on "kallista". Testillä jossa testataan oliko käyttäjän syöte nolla(0) olisi ollut edellä mainitussa esimerkissä hienostuneempi tapa.

Kommentti

Kaksi peräkkäistä kauttaviivaa esittävät kommenttia rivin loppuun asti. Tätä kutsutaan myös nimellä "Delphi-tyylinen kommentti".

delphi
while (buf^ in [' ', #9, #10]) do // kill separators

example source

Katso myös


From the Free Pascal wiki, page "Slash/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 2, last changed by WikiArchive .

Talk about this page

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