Sign in Join
Wiki copytemporary

^/fi: what changed

Revision 6 to 7. Removed lines have a minus sign; added lines have a plus sign.

Title: &/fi */fi

OldNewLine
1-&
1+[[ASCII/fi|ASCII]]:ssa ja [[UTF-8]]:ssa desimaalisen merkkikoodin `42` (tai [[Hexadecimal/fi|heksadesimaalisena]]`2A`) määritellään olevan `*`
22
3-[[ASCII/fi|ASCII]]:ssa merkkikoodi jonka arvo on desimaalisena `38` (tai [[Hexadecimal/fi|$]]`26`) määritellään olevan `&` (lausutaan "et").
3+*
44
5-## Pascal
5+## Standardi Pascal
66
7-### Oktaalijärjestelmä
7+Symbolia `*`, joka lausutaan “tähdeksi tai kertomerkiksi”, käytetään [[Pascal/fi|Pascal]]:ssa
88
9-[[Pascal/fi|Pascalissa]] `&` merkitsee oktaalilukua.
9+- numeroiden kertolaskuna tai
10+- [[Set|Joukkojen]] leikkauksen merkkinä.
1011
1112``` pascal
12-program messageNo(input, output, stderr);
13+program asteriskDemo(input, output, stderr);
1314
14-uses
15- baseUnix;
15+type
16+ day = (monday, tuesday, wednesday,
17+ thursday, friday, saturday, sunday);
1618
19+var
20+ i: longint;
21+ n: real;
22+ m: set of day;
23+
1724begin
18- // withdraw group write access to current terminal
19- // equivalent to invoking: mesg n
20- fpChmod('/dev/stdin', &0600);
25+ // kertolasku operaattori
26+ i := 6 * 7; // i saa arvokseen 42
27+ n := 6.0 * 7.0; // n saa arvokseen 42.0
28+
29+ // leikkaus operaattori
30+ m := [saturday, sunday] * [sunday, monday];
31+ // m on nyt {sunday}
2132end.
2233```
2334
24-Oktaalijärjestelmässä vain merkit välitä `0` ja `7` ovat sallittuja.
35+## Potenssiinkorotus
2536
26-Ohjeellisena huomautuksena että käytännön ohjelmissa edellä oleva esimerkissä olisi parempi kirjoittaa:
37+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.
2738
2839``` pascal
29-fpChmod('/dev/stdin', S_IRUSR or S_IWUSR);
30-```
40+program exponentiation(input, output, stderr);
3141
32-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.
42+// laitetaan operaattorin ylikuormitus saataville
43+{$mode objfpc}
3344
34-### Tunnistetieto
45+operator ** (const base: integer; const exponent: integer): integer;
46+begin
47+ result := trunc(exp(ln(base) * exponent));
48+end;
3549
36-[[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.
50+begin
51+ writeLn(2 ** 10); // tulostaa 1024
52+end.
53+```
3754
38-## Lazarus
55+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]].
3956
40-[[Lazarus/fi|Lazaruksessa]] `&`-merkkiä käytetään
57+## Muut esiintymiset
4158
42-- ilmaisemaan pikanäppäimiä [[TMenuItem]]
59+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.
4360
61+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.
62+
4463---
45-*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).*
64+*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