Basic Pascal Tutorial/Chapter 1/Standard Functions: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Basic Pascal Tutorial/Chapter 1/Standard Functions
| Old | New | Line | |
|---|---|---|---|
| 1 | + | 1F - Standard Functions (author: Tao Yue, state: unchanged) | |
| 2 | + | ||
| 3 | + | Pascal has several standard mathematical functions that you can utilize. For example, to find the value of sin of pi radians: | |
| 4 | + | ||
| 5 | + | ``` pascal | |
| 6 | + | value := sin (3.141592653589793238462643383); | |
| 7 | + | ``` | |
| 8 | + | ||
| 9 | + | Note that the sin function operates on angular measure stated in radians, as do all the trigonometric functions. If everything goes well, value should become 0. | |
| 10 | + | ||
| 11 | + | Functions are called by using the function name followed by the argument(s) in parentheses. Standard Pascal functions include: | |
| 12 | + | ||
| 13 | + | | Function | Description | Argument type | Return type | | |
| 14 | + | |----------|----------------------------|-----------------|------------------| | |
| 15 | + | | abs | absolute value | real or integer | same as argument | | |
| 16 | + | | arctan | arctan in radians | real or integer | real | | |
| 17 | + | | cos | cosine of a radian measure | real or integer | real | | |
| 18 | + | | exp | e to the given power | real or integer | real | | |
| 19 | + | | ln | natural logarithm | real or integer | real | | |
| 20 | + | | round | round to nearest integer | real | integer | | |
| 21 | + | | sin | sin of a radian measure | real or integer | real | | |
| 22 | + | | sqr | square (power 2) | real or integer | same as argument | | |
| 23 | + | | sqrt | square root (power 1/2) | real or integer | real | | |
| 24 | + | | trunc | truncate (round down) | real or integer | integer | | |
| 25 | + | ||
| 26 | + | For ordinal data types (integer or char), where the allowable values have a distinct predecessor and successor, you can use these functions: | |
| 27 | + | ||
| 28 | + | | Function | Description | Argument type | Return type | | |
| 29 | + | |----|----|----|----| | |
| 30 | + | | chr | character with given ASCII value | integer | char | | |
| 31 | + | | ord | ordinal value | integer or char | integer | | |
| 32 | + | | pred | predecessor | integer or char | same as argument type | | |
| 33 | + | | succ | successor | integer or char | same as argument type | | |
| 34 | + | ||
| 35 | + | Real is not an ordinal data type! That's because it has no distinct successor or predecessor. What is the successor of 56.0? Is it 56.1, 56.01, 56.001, 56.0001? | |
| 36 | + | ||
| 37 | + | However, for an integer 56, there is a distinct predecessor — 55 — and a distinct successor — 57. | |
| 38 | + | ||
| 39 | + | The same is true of characters: | |
| 40 | + | ||
| 41 | + | ` 'b'`\ | |
| 42 | + | ` Successor: 'c'`\ | |
| 43 | + | ` Predecessor: 'a'` | |
| 44 | + | ||
| 45 | + | The above is not an exhaustive list, as modern Pascal compilers include thousands of functions for all sorts of purposes. Check your compiler documentation for more. | |
| 46 | + | ||
| 47 | + | --- | |
| 48 | + | *From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 1/Standard Functions", as it stood on 2022-08-20 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).* |
