Sign in Join
Wiki copytemporary

Slash/fi: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Slash/fi

OldNewLine
1+<div style="float:right; margin: 0 25px 20px 0; padding:50px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
2+
3+/
4+
5+</div>
6+
7+Yksittäinen kauttaviiva, jota ympäröivät ei-kauttaviivaiset merkit, katsotaan jakolaskuksi. Kaksi peräkkäistä viivaa aloittaa rivikommentin.
8+
9+## Jakolasku
10+
11+Kauttaviivaa `/` käytetään [[Pascal/fi|Pascal]]-[[Program/fi|ohjelmassa]] merkitsemään jakolaskua. Tämän jakolaskun tulokset ovat *aina* desimaalilukuja. Jos halutaan suorittaa kokonaislukujakolaskun niin on käytettävä [[Div/fi|div-operaattoria]].
12+
13+``` pascal
14+A := 3 / 4;
15+```
16+
17+Tämän toimenpiteen jälkeen [[Variable/fi|muuttujalla]] `A` on arvo `0.75` (olettaen, että `A` on ilmoitettu desimaaliluvun [[Type/fi|tyypiksi]], muuten [[Compiler/fi|kääntäjä]] ilmoittaa yhteensopimattoman tyyppivirheen).
18+
19+### Tähän liittyviä poikkeuksia
20+
21+Kauttaviivan oikealla puolella oleva arvo ei saa olla nolla tai tapahtuu nollajako-virhe. [[Compiler Mode|Kääntäjän tiloissa]], joissa [[Exceptions/fi|poikkeuksia]] on saatavilla (esim. [[Mode ObjFPC|ObjFPC]] ja [[Mode Delphi|Delphi]]-tila), tämä ehto voidaan ottaa kiinni [[Try/fi|try]] … [[Except/fi|except]] [[Block/fi|lohkolla]]. Muussa tapauksessa esiintyy [[runtime error/fi|ajonaikainen virhe]] (RTE 200).
22+
23+``` pascal
24+program divZeroDemo(input, output, stderr);
25+
26+// ObjFPC mode for exceptions
27+{$mode objfpc}
28+
29+uses
30+ // make exception EDivByZero known
31+ sysutils;
32+
33+const
34+ dividend = 1.1;
35+
36+resourcestring
37+ enterDivisorPrompt = 'Enter divisor:';
38+ divisionOperationExceptionless = 'Division did not cause an exception.';
39+ zeroDivisionFailure = 'Error: Attempted to divide by zero.';
40+
41+var
42+ divisor, quotient: single;
43+
44+begin
45+ writeLn(enterDivisorPrompt);
46+ readLn(divisor);
47+
48+ try
49+ quotient := dividend / divisor;
50+ writeLn(divisionOperationExceptionless);
51+ except on EDivByZero do
52+ writeLn(zeroDivisionFailure);
53+ end;
54+end.
55+```
56+
57+> **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.
58+
59+## Kommentti
60+
61+Kaksi peräkkäistä kauttaviivaa esittävät [[Comments/fi|kommenttia]] [[End of Line/fi|rivin loppuun]] asti. Tätä kutsutaan myös nimellä "Delphi-tyylinen kommentti".
62+
63+```delphi
64+while (buf^ in [' ', #9, #10]) do // kill separators
65+```
66+
67+<small>[example source](https://svn.freepascal.org/cgi-bin/viewvc.cgi/tags/release_3_0_4/rtl/inc/system.inc?view=markup#l1345)</small>
68+
69+## Katso myös
70+
71+- [[Round/fi|round]]
72+- [[Trunc/fi|trunc]]
73+
74+---
75+*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](/wiki-contact).*

Back to history