BBC BASIC
'''BBC BASIC''' is a version of the BASIC programming language. It is notable for being one of the few modern dialects that makes no attempt to be compatible to any great degree with Microsoft BASICs.
BBC BASIC was originally written for the BBC Microcomputer as part of the '''BBC Computer Literacy Project''' under the direction of the British Broadcasting Corporation (thus the name), but now runs on most modern, popular operating systems (and several older and/or less-popular ones).
Wikipedia has an article about BBC BASIC, but the best source of information is probably the BBC BASIC homepage.
Tasks
- 100 doors
- 2048
- 24 game
- 24 game/Solve
- A+B
- ABC Problem
- Abstract type
- Accumulator factory
- Ackermann function
- Active object
- Add a variable to a class instance at runtime
- Address of a variable
- Align columns
- Anagrams
- Anagrams/Deranged anagrams
- Animate a pendulum
- Animation
- Anonymous recursion
- Apply a callback to an array
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Atomic updates
- Average loop length
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- Babbage problem
- Balanced brackets
- Barnsley fern
- Best shuffle
- Binary digits
- Binary search
- Binary strings
- Bitmap
- Bitmap/Bézier curves/Cubic
- Bitmap/Bézier curves/Quadratic
- Bitmap/Flood fill
- Bitmap/Histogram
- Bitmap/Midpoint circle algorithm
- Bitmap/Read a PPM file
- Bitmap/Write a PPM file
- Bitwise IO
- Bitwise operations
- Boolean values
- Box the compass
- Bresenham's Line Algorithm
- Brownian tree
- Bulls and cows
- Bulls and cows/Player
- CSV to HTML translation
- Caesar cipher
- Calendar
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Case-sensitivity of identifiers
- Catalan numbers
- Catamorphism
- Character codes
- Check that file exists
- Checkpoint synchronization
- Cholesky decomposition
- Classes
- Closest-pair problem
- Collections
- Color of a screen pixel
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Combinations
- Combinations with repetitions
- Command-line arguments
- Comments
- Compare sorting algorithms' performance
- Compound data type
- Concurrent computing
- Conditional structures
- Constrained random points on a circle
- Continued fraction
- Convert seconds to compound duration
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Create an object at a given address
- Cumulative standard deviation
- DNS query
- Date format
- Date manipulation
- Day of the week
- Deconvolution/1D
- Delete a file
- Department Numbers
- Detect division by zero
- Determine if a string is numeric
- Determine if only one instance is running
- Digital root
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Discordian date
- Dot product
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Traversal
- Dragon curve
- Draw a cuboid
- Draw a pixel
- Draw a sphere
- Dutch national flag problem
- Dynamic variable names
- Echo server
- Element-wise operations
- Empty directory
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Evaluate binomial coefficients
- Even or odd
- Events
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Executable library
- Execute Brainfuck
- Execute HQ9+
- Execute a Markov algorithm
- Execute a system command
- Exponentiation operator
- Exponentiation order
- Factorial
- Factors of a Mersenne number
- Factors of an integer
- Fast Fourier transform
- Fibonacci n-step number sequences
- Fibonacci sequence
- Filter
- Find common directory path
- Find largest left truncatable prime in a given base
- Find limit of recursion
- Find the last Sunday of each month
- Find the missing permutation
- First class environments
- First-class functions
- First-class functions/Use numbers analogously
- Five weekends
- FizzBuzz
- Flow-control structures
- Floyd's triangle
- Forest fire
- Formatted numeric output
- Forward difference
- Four bit adder
- Fractal tree
- French Republican calendar
- Function composition
- Function definition
- Function frequency
- GUI component interaction
- GUI enabling/disabling of controls
- GUI/Maximum window dimensions
- Galton box animation
- Gamma function
- General FizzBuzz
- Generate lower case ASCII alphabet
- Generic swap
- Globally replace text in several files
- Gray code
- Grayscale image
- Greatest element of a list
- Greatest subsequential sum
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- HTTP
- Hamming numbers
- Handle a signal
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world!
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Higher-order functions
- Hofstadter Figure-Figure sequences
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Holidays related to Easter
- Honeycombs
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Host introspection
- Hostname
- Hough transform
- Huffman coding
- IBAN
- Identity matrix
- Image convolution
- Image noise
- Include a file
- Increment a numerical string
- Infinity
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Input/Output for Pairs of Numbers
- Integer comparison
- Integer sequence
- Interactive programming
- Introspection
- Inverted index
- Iterated digits squaring
- Jensen's Device
- Josephus problem
- Joystick position
- Kaprekar numbers
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard input/Obtain a Y or N response
- Keyboard macros
- Knapsack problem/0-1
- Knapsack problem/Continuous
- Knight's tour
- Knuth shuffle
- Knuth's algorithm S
- LU decomposition
- LZW compression
- Langton's ant
- Largest int from concatenated ints
- Last letter-first letter
- Leap year
- Least common multiple
- Leonardo numbers
- Letter frequency
- Levenshtein distance
- Linear congruential generator
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Longest common subsequence
- Longest string challenge
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- 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
- Luhn test of credit card numbers
- MD5/Implementation
- Machine code
- Main step of GOST 28147-89
- Man or boy test
- Mandelbrot set
- Map range
- Matrix multiplication
- Matrix transposition
- Matrix-exponentiation operator
- Maze generation
- Maze solving
- Median filter
- Memory allocation
- Menu
- Metered concurrency
- Middle three digits
- Modular exponentiation
- Monte Carlo methods
- Monty Hall problem
- Morse code
- Multifactorial
- Multiple distinct objects
- Multiple regression
- Multiplication tables
- Multisplit
- Munchausen numbers
- Munching squares
- Mutual recursion
- N'th
- N-queens problem
- Naming conventions
- Narcissist
- Non-continuous subsequences
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Nth root
- Null object
- Number names
- Number reversal game
- Numerical integration
- Old Russian measure of length
- Old lady swallowed a fly
- One of n lines in a file
- One-dimensional cellular automata
- OpenGL
- Optional parameters
- Order two numerical lists
- Ordered Partitions
- Ordered words
- Palindrome detection
- Pangram checker
- Parsing/RPN calculator algorithm
- Partial function application
- Pascal's triangle
- Pascal's triangle/Puzzle
- Penney's game
- Percentage difference between images
- Perfect numbers
- Permutation test
- Permutations
- Permutations by swapping
- Permutations/Derangements
- Pi
- Pick random element
- Pinstripe/Display
- Pinstripe/Printer
- Play recorded sounds
- Playing cards
- Plot coordinate pairs
- Pointers and references
- Polymorphic copy
- Polymorphism
- Polynomial long division
- Polynomial regression
- Power set
- Price fraction
- Primality by trial division
- Probabilistic choice
- Problem of Apollonius
- Program name
- Program termination
- Pythagorean triples
- QR decomposition
- Quaternion type
- Queue/Definition
- Queue/Usage
- Quine
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range expansion
- Range extraction
- Rate counter
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Record sound
- Reduced row echelon form
- Regular expressions
- Remove duplicate elements
- Rename a file
- Repeat a string
- Resistor mesh
- Return multiple values
- Reverse a string
- Reverse words in a string
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rosetta Code/Count examples
- Rot-13
- Run-length encoding
- Runge-Kutta method
- Runtime evaluation
- Runtime evaluation/In an environment
- SEDOLs
- SHA-1
- SHA-256
- Scope modifiers
- Search a list
- Secure temporary file
- Self-describing numbers
- Self-referential sequence
- Semordnilap
- Send email
- Sequence of non-squares
- Set
- Seven-sided dice from five-sided dice
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Simple windowed application
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Sockets
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort stability
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble 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/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Stooge sort
- Soundex
- Special characters
- Special variables
- Speech synthesis
- Spiral matrix
- Split a character string based on change of character
- Stable marriage problem
- Stack
- Stair-climbing puzzle
- Stem-and-leaf plot
- String append
- String case
- String comparison
- String concatenation
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip block comments
- 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
- Subtractive generator
- Sudoku
- Sum and product of an array
- Sum digits of an integer
- Sum of a series
- Sum of squares
- Sutherland-Hodgman polygon clipping
- Symmetric difference
- System time
- Take notes on the command line
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Cursor movement
- Terminal control/Dimensions
- Terminal control/Display an extended character
- Terminal control/Hiding the cursor
- Terminal control/Inverse video
- Terminal control/Positional read
- Terminal control/Preserve screen
- Terminal control/Ringing the terminal bell
- Terminal control/Unicode output
- Ternary logic
- Text processing/1
- Text processing/Max licenses in use
- Thue-Morse
- Time a function
- Tokenize a string
- Tokenize a string with escaping
- Trigonometric functions
- Truncate a file
- Twelve statements
- URL decoding
- URL encoding
- Unbias a random generator
- Undefined values
- Unicode strings
- Van der Corput sequence
- Variable size/Get
- Variable size/Set
- Variables
- Vector products
- Verify distribution uniformity/Naive
- Video display modes
- Vigenère cipher
- Visualize a tree
- Walk a directory/Non-recursively
- Walk a directory/Recursively
- Web scraping
- Window creation
- Window management
- Wireworld
- Write entire file
- Write float arrays to a text file
- Write to Windows event log
- XML/Input
- Xiaolin Wu's line algorithm
- Yin and yang
- Zebra puzzle
- Zeckendorf number representation
- Zero to the zero power
- Zig-zag matrix