Difference between revisions of "Slash/fi"

From Lazarus wiki
Jump to navigationJump to search
(Created page with " {{Slash}} <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>...")
 
 
Line 11: Line 11:
  
  
Kauttaviivaa <syntaxhighlight lang="pascal" enclose="none">/</syntaxhighlight> käytetään [[Pascal/fi|Pascal]]-[[Program/fi|ohjelmassa]] merkitsemään jakolaskua.  
+
Kauttaviivaa <syntaxhighlight lang="pascal" inline>/</syntaxhighlight> 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|<syntaxhighlight lang="pascal" enclose="none">div</syntaxhighlight>-operaattoria]].
+
Tämän jakolaskun tulokset ovat ''aina'' desimaalilukuja. Jos halutaan suorittaa kokonaislukujakolaskun niin on käytettävä [[Div/fi|<syntaxhighlight lang="pascal" inline>div</syntaxhighlight>-operaattoria]].
  
 
<syntaxhighlight lang="pascal">
 
<syntaxhighlight lang="pascal">
Line 18: Line 18:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Tämän toimenpiteen jälkeen [[Variable/fi|muuttujalla]] <syntaxhighlight lang="pascal" enclose="none">A</syntaxhighlight> on arvo <syntaxhighlight lang="pascal" enclose="none">0.75</syntaxhighlight> (olettaen, että <syntaxhighlight lang="pascal" enclose="none">A</syntaxhighlight> on ilmoitettu desimaaliluvun [[Type/fi|tyypiksi]], muuten [[Compiler/fi|kääntäjä]] ilmoittaa yhteensopimattoman tyyppivirheen).
+
Tämän toimenpiteen jälkeen [[Variable/fi|muuttujalla]] <syntaxhighlight lang="pascal" inline>A</syntaxhighlight> on arvo <syntaxhighlight lang="pascal" inline>0.75</syntaxhighlight> (olettaen, että <syntaxhighlight lang="pascal" inline>A</syntaxhighlight> on ilmoitettu desimaaliluvun [[Type/fi|tyypiksi]], muuten [[Compiler/fi|kääntäjä]] ilmoittaa yhteensopimattoman tyyppivirheen).
  
  
Line 24: Line 24:
  
 
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  
 
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|<syntaxhighlight lang="pascal" enclose="none">try</syntaxhighlight>]] …  [[Except/fi|<syntaxhighlight lang="pascal" enclose="none">except</syntaxhighlight>]] [[Block/fi|lohkolla]].
+
ottaa kiinni [[Try/fi|<syntaxhighlight lang="pascal" inline>try</syntaxhighlight>]] …  [[Except/fi|<syntaxhighlight lang="pascal" inline>except</syntaxhighlight>]] [[Block/fi|lohkolla]].
 
Muussa tapauksessa esiintyy [[runtime error/fi|ajonaikainen virhe]] (RTE 200).
 
Muussa tapauksessa esiintyy [[runtime error/fi|ajonaikainen virhe]] (RTE 200).
 
   
 
   
Line 72: Line 72:
  
 
== Katso myös ==
 
== Katso myös ==
* [[Round/fi|<syntaxhighlight lang="pascal" enclose="none">round</syntaxhighlight>]]
+
* [[Round/fi|<syntaxhighlight lang="pascal" inline>round</syntaxhighlight>]]
* [[Trunc/fi|<syntaxhighlight lang="pascal" enclose="none">trunc</syntaxhighlight>]]
+
* [[Trunc/fi|<syntaxhighlight lang="pascal" inline>trunc</syntaxhighlight>]]
  
 
{{Symbols}}
 
{{Symbols}}

Latest revision as of 17:14, 6 August 2022

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

/

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.

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 tryexcept lohkolla. Muussa tapauksessa esiintyy ajonaikainen virhe (RTE 200).

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-icon.png

Huomaa: 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".

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

example source

Katso myös


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)