# Category:Pascal

From Rosetta Code

**Pascal**

This

**programming language**may be used to instruct a computer to perform a task.

Garbage collected: | No |
---|---|

Parameter passing methods: | By reference, By value |

Type safety: | Safe |

Type strength: | Strong |

Type expression: | Explicit |

Type checking: | Static |

See Also: |

**Your Help Needed**

If you know

**Pascal**, please write code for some of the tasks not implemented in

**Pascal**.

**Pascal** is an imperative computer programming language, developed in 1970 by Niklaus Wirth as a language particularly suitable for structured programming. A derivative known as Object Pascal was designed for object-oriented programming. Pascal can be used very easily in conjunction with fundamental discrete mathematics as sets are built into the language.

There are actually several varieties of Pascal. The most important ones are:

- Standard Pascal (ISO 7185) is the original Pascal standard. However, there are many features missing from that language version, which has led to a wide variety of nonstandard extensions. On the other hand, there are features of Standard Pascal which are seldom implemented by Pascal compilers. A compiler which implements all features of Standard Pascal is GNU Pascal.
- Extended Pascal (ISO 10206) is a later Pascal standard which adds a lot to the original Pascal standard. However, compilers implementing Extended Pascal are even more rare than those implementing Standard Pascal. GNU Pascal implements most of Extended Pascal as well.
- Turbo Pascal was a very successful Pascal implementation for DOS and 16 bit Windows (the latest version was sold under the name "Borland Pascal 7.0") and became the de-facto standard for Pascal on DOS. Even today many Pascal compilers provide compatibility to Turbo Pascal.
- Object Pascal is the Pascal dialect used in Delphi, Borland's successor product to Turbo/Borland Pascal. It extends Pascal with a new object model (in addition to the object model introduced in Turbo Pascal 5.5). This language is also implemented by Free Pascal and Lazarus.

## Grammar[edit]

The ISO 7185 standard for Pascal uses Extended Backus–Naur Form. Also Van Wijngaarden's grammar can be used to define Pascal's grammar[1].

## See also[edit]

## Subcategories

This category has the following 4 subcategories, out of 4 total.

## Pages in category "Pascal"

The following 415 pages are in this category, out of 415 total.

### A

- A+B
- ABC Problem
- Abstract type
- Abundant, deficient and perfect number classifications
- Ackermann function
- Address of a variable
- AKS test for primes
- Align columns
- Almost prime
- Amicable pairs
- Anagrams
- Animation
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Arena storage pool
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Array concatenation
- Array length
- Arrays
- Assertions
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Median
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average

### B

### C

- Caesar cipher
- Call a foreign-language function
- Call a function in a shared library
- Case-sensitivity of identifiers
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Character codes
- Check that file exists
- Cholesky decomposition
- Classes
- Closest-pair problem
- Collections
- Combinations
- Command-line arguments
- Comments
- Compile-time calculation
- Compound data type
- Conditional structures
- Conway's Game of Life
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Create an object at a given address
- Cumulative standard deviation

### D

- Date format
- Date manipulation
- Day of the week
- Define a primitive data type
- Delegates
- Delete a file
- Detect division by zero
- Determine if a string is numeric
- Digital root
- Dot product
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Traversal
- Dragon curve
- Draw a cuboid
- Draw a sphere

### E

- Emirp primes
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Enumerations
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Euler's sum of powers conjecture
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Execute a system command
- Exponentiation operator
- Extensible prime generator
- Extreme floating point values

### F

- Factorial
- Factors of a Mersenne number
- Factors of an integer
- Farey sequence
- Fibonacci n-step number sequences
- Fibonacci sequence
- Fibonacci word
- File input/output
- File modification time
- File size
- Filter
- Find limit of recursion
- Find the missing permutation
- Five weekends
- FizzBuzz
- Flow-control structures
- Floyd's triangle
- Formatted numeric output
- Forward difference
- Function composition
- Function definition

### G

### H

- Hailstone sequence
- Hamming numbers
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Heronian triangles
- Hexapawn
- Higher-order functions
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Host introspection
- Hostname
- HTTP

### I

### K

### L

- Langton's ant
- Largest int from concatenated ints
- Leap year
- Least common multiple
- Letter frequency
- Levenshtein distance
- Linear congruential generator
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Long multiplication
- Longest common subsequence
- Longest string challenge
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Lucas-Lehmer test
- Ludic numbers
- Luhn test of credit card numbers
- Lychrel numbers

### M

- Machine code
- Mad Libs
- Magic squares of odd order
- Man or boy test
- Mandelbrot set
- Map range
- Matrix transposition
- Maximum triangle path sum
- Memory allocation
- Memory layout of a data structure
- Menu
- Middle three digits
- Modular exponentiation
- Modular inverse
- Modulinos
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Multiple distinct objects
- Multiplication tables
- Munchausen numbers
- Mutual recursion

### N

### P

- Palindrome detection
- Pangram checker
- Paraffins
- Parametrized SQL statement
- Pascal matrix generation
- Pascal's triangle
- Perceptron
- Percolation/Mean run density
- Perfect numbers
- Permutations
- Permutations with repetitions
- Pernicious numbers
- Pi
- Pick random element
- Pig the dice game
- Playing cards
- Pointers and references
- Polymorphism
- Population count
- Price fraction
- Primality by trial division
- Prime conspiracy
- Prime decomposition
- Primorial numbers
- Program name
- Program termination
- Proper divisors
- Pythagorean triples

### R

- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range extraction
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Repeat a string
- Return multiple values
- Reverse a string
- Reverse words in a string
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rot-13
- Run-length encoding
- Runge-Kutta method

### S

- Scope modifiers
- Search a list
- Secure temporary file
- SEDOLs
- Self-describing numbers
- Semiprime
- Sequence of non-squares
- Sequence of primes by Trial Division
- Set
- SHA-1
- Shell one-liner
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sieve of Eratosthenes
- Simple windowed application
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Smith numbers
- Sockets
- Sort an array of composite structures
- Sort stability
- Sort using a custom comparator
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Soundex
- Special characters
- Spiral matrix
- Stack
- Stair-climbing puzzle
- Statistics/Normal distribution
- Stern-Brocot sequence
- String append
- String case
- String concatenation
- String length
- String prepend
- Strip a set of characters from a string
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Substring
- Substring/Top and tail
- Sudoku
- Sum and product of an array
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- System time

### T

- Take notes on the command line
- Taxicab numbers
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Cursor positioning
- Terminal control/Display an extended character
- Terminal control/Inverse video
- Terminal control/Ringing the terminal bell
- Ternary logic
- Test a function
- The ISAAC Cipher
- The Twelve Days of Christmas
- Thue-Morse
- Tokenize a string
- Top rank per group
- Topological sort
- Towers of Hanoi
- Transportation problem
- Trigonometric functions
- Truncate a file
- Two Sum