Difference between revisions of "*/fi"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{*}} ASCII:ssa ja UTF-8:ssa desimaalisen merkkikoodin <syntaxhighlight lang="pascal" enclose="none">42</syntaxhighlight> (tai Hexadecimal/fi|heksadesimaal...")
 
 
Line 1: Line 1:
 
{{*}}
 
{{*}}
  
[[ASCII/fi|ASCII]]:ssa ja [[UTF-8]]:ssa desimaalisen merkkikoodin <syntaxhighlight lang="pascal" enclose="none">42</syntaxhighlight> (tai [[Hexadecimal/fi|heksadesimaalisena]]<syntaxhighlight lang="pascal" enclose="none"> 2A </syntaxhighlight>) määritellään olevan <syntaxhighlight lang="pascal" enclose="none">*</syntaxhighlight>
+
[[ASCII/fi|ASCII]]:ssa ja [[UTF-8]]:ssa desimaalisen merkkikoodin <syntaxhighlight lang="pascal" inline>42</syntaxhighlight> (tai [[Hexadecimal/fi|heksadesimaalisena]]<syntaxhighlight lang="pascal" inline> 2A </syntaxhighlight>) määritellään olevan <syntaxhighlight lang="pascal" inline>*</syntaxhighlight>
  
 
<div style="float:right; margin: 0 25px 20px 0; padding:50px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">*</div>
 
<div style="float:right; margin: 0 25px 20px 0; padding:50px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">*</div>
  
 
== Standardi Pascal ==
 
== Standardi Pascal ==
Symbolia <syntaxhighlight lang="pascal" enclose="none">*</syntaxhighlight>, joka lausutaan “tähdeksi tai kertomerkiksi”, käytetään [[Pascal/fi|Pascal]]:ssa
+
Symbolia <syntaxhighlight lang="pascal" inline>*</syntaxhighlight>, joka lausutaan “tähdeksi tai kertomerkiksi”, käytetään [[Pascal/fi|Pascal]]:ssa
 
* numeroiden kertolaskuna tai
 
* numeroiden kertolaskuna tai
 
* [[Set|Joukkojen]] leikkauksen merkkinä.
 
* [[Set|Joukkojen]] leikkauksen merkkinä.
Line 34: Line 34:
  
 
== Potenssiinkorotus ==
 
== Potenssiinkorotus ==
Lisäksi [[FPC]]:ssä on kaksi peräkkäistä tähtimerkkiä <syntaxhighlight lang="pascal" enclose="none">**</syntaxhighlight>  
+
Lisäksi [[FPC]]:ssä on kaksi peräkkäistä tähtimerkkiä <syntaxhighlight lang="pascal" inline>**</syntaxhighlight>  
 
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.
 
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.
  
Line 53: Line 53:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Saat helposti saataville ylikuormitukset {{Doc|package=RTL|unit=math|text=<syntaxhighlight lang="pascal" enclose="none">math</syntaxhighlight>}} ja {{Doc|package=RTL|unit=math|text=<syntaxhighlight lang="pascal" enclose="none">matrix</syntaxhighlight> unit}} ne  [[Uses|otetaan käyttöön]].
+
Saat helposti saataville ylikuormitukset {{Doc|package=RTL|unit=math|text=<syntaxhighlight lang="pascal" inline>math</syntaxhighlight>}} ja {{Doc|package=RTL|unit=math|text=<syntaxhighlight lang="pascal" inline>matrix</syntaxhighlight> unit}} ne  [[Uses|otetaan käyttöön]].
  
 
== Muut esiintymiset ==
 
== Muut esiintymiset ==
Pascalin alkuvuosina kaikki tietokoneet eivät välttämättä tunteneet [[Comments/fi|kommenttien]] avaavaa ja sulkevaa alltosulkua <syntaxhighlight lang="pascal" enclose="none">{ }</syntaxhighlight>.
+
Pascalin alkuvuosina kaikki tietokoneet eivät välttämättä tunteneet [[Comments/fi|kommenttien]] avaavaa ja sulkevaa alltosulkua <syntaxhighlight lang="pascal" inline>{ }</syntaxhighlight>.
Jotta tällaisiin järjestelmiin olisi mahdollista saada lohko kommentteja vaihtoehtoisesta syntaksista, myös kahden merkin <syntaxhighlight lang="pascal" enclose="none">(*</syntaxhighlight> ja <syntaxhighlight lang="pascal" enclose="none">*)</syntaxhighlight>
+
Jotta tällaisiin järjestelmiin olisi mahdollista saada lohko kommentteja vaihtoehtoisesta syntaksista, myös kahden merkin <syntaxhighlight lang="pascal" inline>(*</syntaxhighlight> ja <syntaxhighlight lang="pascal" inline>*)</syntaxhighlight>
 
sallitaan, mutta niitä ei saa laittaa keskenään ristiin:
 
sallitaan, mutta niitä ei saa laittaa keskenään ristiin:
<syntaxhighlight lang="pascal" enclose="none">(*</syntaxhighlight> ''täytyy'' löytää <syntaxhighlight lang="pascal" enclose="none">*)</syntaxhighlight>, eikä huomio tällöin <syntaxhighlight lang="pascal" enclose="none">}</syntaxhighlight> vaikka se lopettaa lohkokommentin myös.
+
<syntaxhighlight lang="pascal" inline>(*</syntaxhighlight> ''täytyy'' löytää <syntaxhighlight lang="pascal" inline>*)</syntaxhighlight>, eikä huomio tällöin <syntaxhighlight lang="pascal" inline>}</syntaxhighlight> vaikka se lopettaa lohkokommentin myös.
  
Jos C-kielen kaltaiset operaattorit sallittiin kääntäjädirektiivillä [[sCoperator|<syntaxhighlight lang="pascal" enclose="none">{$COperator on}</syntaxhighlight>]] niin voidaan käyttää syntaksin <syntaxhighlight lang="pascal" enclose="none">i := i * n</syntaxhighlight> tilalla <syntaxhighlight lang="pascal" enclose="none">i *= n</syntaxhighlight>.
+
Jos C-kielen kaltaiset operaattorit sallittiin kääntäjädirektiivillä [[sCoperator|<syntaxhighlight lang="pascal" inline>{$COperator on}</syntaxhighlight>]] niin voidaan käyttää syntaksin <syntaxhighlight lang="pascal" inline>i := i * n</syntaxhighlight> tilalla <syntaxhighlight lang="pascal" inline>i *= n</syntaxhighlight>.
 
Mutta tekemällä näin, poistut Pascalin pääsuunnasta. Koodi toimii teknisesti,  mutta matemaattisesti se tulee vääräksi.
 
Mutta tekemällä näin, poistut Pascalin pääsuunnasta. Koodi toimii teknisesti,  mutta matemaattisesti se tulee vääräksi.
  
 
{{Symbols}}
 
{{Symbols}}

Latest revision as of 17:21, 6 August 2022

English (en) suomi (fi) français (fr) русский (ru)

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

  • numeroiden kertolaskuna tai
  • Joukkojen leikkauksen merkkinä.
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.

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.


navigation bar: topic: Pascal symbols
single characters

+ (plus)  •  - (minus)  •  * (asterisk)  •  / (slash)
= (equal)  •  > (greater than)  •  < (less than)
. (period)  •  : (colon)  •  ; (semi colon)
^ (hat)  •  @ (at)
$ (dollar sign)  •  & (ampersand)  •  # (hash)
' (single quote)

character pairs

<> (not equal)  •  <= (less than or equal)  •  := (becomes)  •  >= (greater than or equal)

 •  >< (symmetric difference)  •  // (double slash)