From Free Pascal wiki
Jump to: navigation, search

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

A single slash, surrounded by non-slash characters is regarded as the division operator. Two consecutive slashes are regarded as comment introducers.


The slash / is used in a Pascal program to perform division. The results are always real values. If you want to perform integer division the div operator has to be used.

A := 3 / 4;

After this operation the variable A holds the value 0.75 (assuming A is delared as a real value type, otherwise the compiler generates an incompatible type error).

related exceptions

The value on the right side of the slash must not be zero, or a division by zero error occurs. In modes where exceptions are available (e.g. ObjFPC and Delphi mode) this condition can be caught by using a try …  except block. Otherwise a run-time error occurs (RTE 200).

program divZeroDemo(input, output, stderr);
// ObjFPC mode for exceptions
{$mode objfpc}
	// make exception EDivByZero known
	dividend = 1.1;
	enterDivisorPrompt = 'Enter divisor:';
	divisionOperationExceptionless = 'Division did not cause an exception.';
	zeroDivisionFailure = 'Error: Attempted to divide by zero.';
	divisor, quotient: single;
	try		quotient := dividend / divisor;		writeLn(divisionOperationExceptionless);	except on EDivByZero do		writeLn(zeroDivisionFailure);	end;end.

Note: Exception handling is expensive. A plain test whether the user input is non-zero would have been in the above example more sophisticated.


Two slashes back to back introduce comments till the end of line. This is also known as “Delphi-style comment”.

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

example source

see also

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)

character pairs

<> (not equal)  •  := (becomes)  •  // (double slash)