Sign in Join
Wiki copytemporary

^/fi: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

Title: &/fi */fi

OldNewLine
1-<div style="float:left; margin: 0 25px 20px 0; padding:40px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
2-
3-&
1+[[ASCII/fi|ASCII]]:ssa ja [[UTF-8]]:ssa desimaalisen merkkikoodin `42` (tai [[Hexadecimal/fi|heksadesimaalisena]]`2A`) määritellään olevan `*`
42
5-</div>
3+<div style="float:right; margin: 0 25px 20px 0; padding:50px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
64
7-\
8-\
9-[[ASCII/fi|ASCII]]:ssa merkkikoodi jonka arvo on desimaalisena `38` (tai [[Hexadecimal/fi|$]]`26`) määritellään olevan `&` (lausutaan "et").
5+*
106
11-\
12-\
13-\
7+</div>
148
15-## Pascal
9+## Standardi Pascal
1610
17-### Oktaalijärjestelmä
11+Symbolia `*`, joka lausutaan “tähdeksi tai kertomerkiksi”, käytetään [[Pascal/fi|Pascal]]:ssa
1812
19-[[Pascal/fi|Pascalissa]] `&` merkitsee oktaalilukua.
13+- numeroiden kertolaskuna tai
14+- [[Set|Joukkojen]] leikkauksen merkkinä.
2015
2116``` pascal
22-program messageNo(input, output, stderr);
17+program asteriskDemo(input, output, stderr);
2318
24-uses
25- baseUnix;
19+type
20+ day = (monday, tuesday, wednesday,
21+ thursday, friday, saturday, sunday);
2622
23+var
24+ i: longint;
25+ n: real;
26+ m: set of day;
27+
2728begin
28- // withdraw group write access to current terminal
29- // equivalent to invoking: mesg n
30- fpChmod('/dev/stdin', &0600);
29+ // kertolasku operaattori
30+ i := 6 * 7; // i saa arvokseen 42
31+ n := 6.0 * 7.0; // n saa arvokseen 42.0
32+
33+ // leikkaus operaattori
34+ m := [saturday, sunday] * [sunday, monday];
35+ // m on nyt {sunday}
3136end.
3237```
3338
34-Oktaalijärjestelmässä vain merkit välitä `0` ja `7` ovat sallittuja.
39+## Potenssiinkorotus
3540
36-Ohjeellisena huomautuksena että käytännön ohjelmissa edellä oleva esimerkissä olisi parempi kirjoittaa:
41+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.
3742
3843``` pascal
39-fpChmod('/dev/stdin', S_IRUSR or S_IWUSR);
40-```
44+program exponentiation(input, output, stderr);
4145
42-koska se on merkityksellisempää kuin raaka lukuarvo. Pascal on korkean tason kieli. Käytetään tätä etua. Joten kirjoitetaan, mitä tarkoitetaan, ei sitä mitä tietokone todella tekee.
46+// laitetaan operaattorin ylikuormitus saataville
47+{$mode objfpc}
4348
44-### Tunnistetieto
49+operator ** (const base: integer; const exponent: integer): integer;
50+begin
51+ result := trunc(exp(ln(base) * exponent));
52+end;
4553
46-[[FPC/fi|FreePascal]] julisti takautuvasti joitakin uusia [[Reserved word/fi|varattuja sanoja]]. Jotta FPC kykenisi kääntämään vanhan koodin ajantasaisella [[Compiler/fi|kääntäjän]] versiolla, joka saattaisi epäonnistua näiden uusien varattujen sanojen takia, FPC julisti `&`-merkin "pakomerkiksi". Täten kääntäjä hyväksyy todellisen varatun sanan kelvolliseksi [[Identifier/fi|tunnistimeksi]] ilman koodin uudelleenlähettämistä, mutta pakenemaan, eli antamalla tunnisteen ja lähettämällä tunnisteen. Uudessa koodissa on kuitenkin oltava erilaiset tunnusnimet ilman tätä ominaisuutta.
54+begin
55+ writeLn(2 ** 10); // tulostaa 1024
56+end.
57+```
4758
48-## Lazarus
59+Saat helposti saataville ylikuormitukset [`math`](https://www.freepascal.org/docs-html/rtl/math/index.html) ja [`matrix` unit](https://www.freepascal.org/docs-html/rtl/math/index.html) ne [[Uses|otetaan käyttöön]].
4960
50-[[Lazarus/fi|Lazaruksessa]] `&`-merkkiä käytetään
61+## Muut esiintymiset
5162
52-- ilmaisemaan pikanäppäimiä [[TMenuItem]]
63+Pascalin alkuvuosina kaikki tietokoneet eivät välttämättä tunteneet [[Comments/fi|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.
5364
65+Jos C-kielen kaltaiset operaattorit sallittiin kääntäjädirektiivillä [[sCoperator|{$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.
66+
5467---
55-*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](/wiki-contact).*
68+*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](/wiki-contact).*

Back to history