# Cambridge IGCSE & A Level Pseudocode Compiler > Free in-browser compiler and practice environment for Cambridge IGCSE Computer Science (0478/0984), O Level (2210), and AS & A Level Computer Science (9618) pseudocode. Programs are parsed and executed in the browser. Practice questions and exams are graded server-side by comparing printed output to test cases. This is not an official Cambridge International product. ## Product - [Online compiler](https://pseudocode-compiler.sherlemious.com/): write and run Cambridge pseudocode - [Syntax documentation](https://pseudocode-compiler.sherlemious.com/docs): IGCSE and 9618 reference - [Practice questions](https://pseudocode-compiler.sherlemious.com/practice): past-paper style tasks with autograding - [Cambridge pseudocode examples](https://pseudocode-compiler.sherlemious.com/examples): runnable snippets by topic - [FAQ](https://pseudocode-compiler.sherlemious.com/faq): how the site works, DECLARE, teachers, grading - [Privacy policy](https://pseudocode-compiler.sherlemious.com/privacy) - [Terms](https://pseudocode-compiler.sherlemious.com/terms) ## Syntax documentation - [Getting Started](https://pseudocode-compiler.sherlemious.com/docs#getting-started) - [Getting Started: Your First Program](https://pseudocode-compiler.sherlemious.com/docs#first-program) - [Getting Started: Asking for Input](https://pseudocode-compiler.sherlemious.com/docs#first-input) - [Getting Started: Making Decisions](https://pseudocode-compiler.sherlemious.com/docs#first-decision) - [Getting Started: Repeating Things](https://pseudocode-compiler.sherlemious.com/docs#first-loop) - [General Syntax](https://pseudocode-compiler.sherlemious.com/docs#general) - [Variables & Types](https://pseudocode-compiler.sherlemious.com/docs#variables) - [Variables & Types: Declaring Variables](https://pseudocode-compiler.sherlemious.com/docs#declaring) - [Variables & Types: Constants](https://pseudocode-compiler.sherlemious.com/docs#constants) - [Variables & Types: Data Types](https://pseudocode-compiler.sherlemious.com/docs#data-types) - [Input / Output](https://pseudocode-compiler.sherlemious.com/docs#io) - [Input / Output: OUTPUT](https://pseudocode-compiler.sherlemious.com/docs#output) - [Input / Output: INPUT](https://pseudocode-compiler.sherlemious.com/docs#input) - [Arrays](https://pseudocode-compiler.sherlemious.com/docs#arrays) - [Arrays: 1D Arrays](https://pseudocode-compiler.sherlemious.com/docs#arrays-1d) - [Arrays: 2D Arrays](https://pseudocode-compiler.sherlemious.com/docs#arrays-2d) - [Operators](https://pseudocode-compiler.sherlemious.com/docs#operators) - [Operators: Arithmetic](https://pseudocode-compiler.sherlemious.com/docs#arithmetic) - [Operators: Comparison](https://pseudocode-compiler.sherlemious.com/docs#comparison) - [Operators: Logical](https://pseudocode-compiler.sherlemious.com/docs#logical) - [Operators: String Concatenation](https://pseudocode-compiler.sherlemious.com/docs#concatenation) - [Selection](https://pseudocode-compiler.sherlemious.com/docs#selection) - [Selection: IF / ELSE / ELSEIF](https://pseudocode-compiler.sherlemious.com/docs#if) - [Selection: CASE / OTHERWISE](https://pseudocode-compiler.sherlemious.com/docs#case) - [Iteration](https://pseudocode-compiler.sherlemious.com/docs#iteration) - [Iteration: FOR Loop](https://pseudocode-compiler.sherlemious.com/docs#for) - [Iteration: WHILE Loop](https://pseudocode-compiler.sherlemious.com/docs#while) - [Iteration: REPEAT Loop](https://pseudocode-compiler.sherlemious.com/docs#repeat) - [Procedures & Functions](https://pseudocode-compiler.sherlemious.com/docs#subroutines) - [Procedures & Functions: Procedures](https://pseudocode-compiler.sherlemious.com/docs#procedures) - [Procedures & Functions: Functions](https://pseudocode-compiler.sherlemious.com/docs#functions) - [Built-in Functions](https://pseudocode-compiler.sherlemious.com/docs#builtins) - [Built-in Functions: String Functions](https://pseudocode-compiler.sherlemious.com/docs#string-functions) - [Built-in Functions: Math Functions](https://pseudocode-compiler.sherlemious.com/docs#math-functions) - [Built-in Functions: Type Conversion](https://pseudocode-compiler.sherlemious.com/docs#type-conversion) - [File Handling](https://pseudocode-compiler.sherlemious.com/docs#files) - [File Handling: File Operations](https://pseudocode-compiler.sherlemious.com/docs#file-ops) - [File Handling: Writing Files](https://pseudocode-compiler.sherlemious.com/docs#file-write) - [File Handling: Reading Files](https://pseudocode-compiler.sherlemious.com/docs#file-read) - [AS & A Level (9618)](https://pseudocode-compiler.sherlemious.com/docs#alevel) - [AS & A Level (9618): User-Defined Types](https://pseudocode-compiler.sherlemious.com/docs#alevel-types) - [AS & A Level (9618): DATE Type](https://pseudocode-compiler.sherlemious.com/docs#alevel-date) - [AS & A Level (9618): BYREF & BYVAL](https://pseudocode-compiler.sherlemious.com/docs#alevel-byref) - [AS & A Level (9618): CASE Ranges](https://pseudocode-compiler.sherlemious.com/docs#alevel-case-ranges) - [AS & A Level (9618): Random-Access Files](https://pseudocode-compiler.sherlemious.com/docs#alevel-random-files) - [AS & A Level (9618): Classes & Objects](https://pseudocode-compiler.sherlemious.com/docs#alevel-oop) - [Common Patterns](https://pseudocode-compiler.sherlemious.com/docs#patterns) ## Examples - [Hello World](https://pseudocode-compiler.sherlemious.com/examples#hello-world): Basics - [Variables and Constants](https://pseudocode-compiler.sherlemious.com/examples#variables-and-constants): Basics - [Basic Input](https://pseudocode-compiler.sherlemious.com/examples#basic-input): Input/Output - [Multiple Inputs](https://pseudocode-compiler.sherlemious.com/examples#multiple-inputs): Input/Output - [Arithmetic Operators](https://pseudocode-compiler.sherlemious.com/examples#arithmetic-operators): Operators - [Comparison & Logical](https://pseudocode-compiler.sherlemious.com/examples#comparison-and-logical): Operators - [IF-ELSE Statement](https://pseudocode-compiler.sherlemious.com/examples#if-else-statement): Selection - [IF-ELSEIF Grading](https://pseudocode-compiler.sherlemious.com/examples#if-elseif-grading): Selection - [CASE Statement](https://pseudocode-compiler.sherlemious.com/examples#case-statement): Selection - [FOR Loop](https://pseudocode-compiler.sherlemious.com/examples#for-loop): Loops - [FOR Loop with STEP](https://pseudocode-compiler.sherlemious.com/examples#for-loop-with-step): Loops - [WHILE Loop](https://pseudocode-compiler.sherlemious.com/examples#while-loop): Loops - [REPEAT-UNTIL Loop](https://pseudocode-compiler.sherlemious.com/examples#repeat-until-loop): Loops - [Number Guessing Game](https://pseudocode-compiler.sherlemious.com/examples#number-guessing-game): Loops - [1D Array - Input & Display](https://pseudocode-compiler.sherlemious.com/examples#1d-array-input-and-display): Arrays - [1D Array - Find Maximum](https://pseudocode-compiler.sherlemious.com/examples#1d-array-find-maximum): Arrays - [1D Array - Min and Max with INFINITY](https://pseudocode-compiler.sherlemious.com/examples#1d-array-min-and-max-with-infinity): Arrays - [1D Array - Calculate Average](https://pseudocode-compiler.sherlemious.com/examples#1d-array-calculate-average): Arrays - [2D Array - Grid](https://pseudocode-compiler.sherlemious.com/examples#2d-array-grid): Arrays - [String Functions](https://pseudocode-compiler.sherlemious.com/examples#string-functions): String Functions - [String Concatenation](https://pseudocode-compiler.sherlemious.com/examples#string-concatenation): String Functions - [Simple Procedure](https://pseudocode-compiler.sherlemious.com/examples#simple-procedure): Procedures & Functions - [Function - Square](https://pseudocode-compiler.sherlemious.com/examples#function-square): Procedures & Functions - [Function - Factorial](https://pseudocode-compiler.sherlemious.com/examples#function-factorial): Procedures & Functions - [Write to File](https://pseudocode-compiler.sherlemious.com/examples#write-to-file): File Handling - [Read from File](https://pseudocode-compiler.sherlemious.com/examples#read-from-file): File Handling - [Append to File](https://pseudocode-compiler.sherlemious.com/examples#append-to-file): File Handling - [Math Functions](https://pseudocode-compiler.sherlemious.com/examples#math-functions): Math - [Temperature Converter](https://pseudocode-compiler.sherlemious.com/examples#temperature-converter): Math - [Type Conversion](https://pseudocode-compiler.sherlemious.com/examples#type-conversion): Type Conversion - [Student Grade Manager](https://pseudocode-compiler.sherlemious.com/examples#student-grade-manager): Complete Programs - [Simple Calculator](https://pseudocode-compiler.sherlemious.com/examples#simple-calculator): Complete Programs - [Linear Search](https://pseudocode-compiler.sherlemious.com/examples#linear-search): Algorithms - [Binary Search](https://pseudocode-compiler.sherlemious.com/examples#binary-search): Algorithms - [Bubble Sort](https://pseudocode-compiler.sherlemious.com/examples#bubble-sort): Algorithms - [Selection Sort](https://pseudocode-compiler.sherlemious.com/examples#selection-sort): Algorithms - [Insertion Sort](https://pseudocode-compiler.sherlemious.com/examples#insertion-sort): Algorithms - [Prime Number Checker](https://pseudocode-compiler.sherlemious.com/examples#prime-number-checker): Algorithms - [Prime Numbers in Range](https://pseudocode-compiler.sherlemious.com/examples#prime-numbers-in-range): Algorithms - [Fibonacci Sequence](https://pseudocode-compiler.sherlemious.com/examples#fibonacci-sequence): Algorithms - [Greatest Common Divisor (GCD)](https://pseudocode-compiler.sherlemious.com/examples#greatest-common-divisor-gcd): Algorithms - [Factorial (Iterative)](https://pseudocode-compiler.sherlemious.com/examples#factorial-iterative): Algorithms - [Palindrome Checker](https://pseudocode-compiler.sherlemious.com/examples#palindrome-checker): Algorithms - [Count Vowels in String](https://pseudocode-compiler.sherlemious.com/examples#count-vowels-in-string): Algorithms - [Reverse Words in String](https://pseudocode-compiler.sherlemious.com/examples#reverse-words-in-string): Algorithms - [Find Second Largest](https://pseudocode-compiler.sherlemious.com/examples#find-second-largest): Algorithms - [Remove Duplicates from Array](https://pseudocode-compiler.sherlemious.com/examples#remove-duplicates-from-array): Algorithms - [Merge Two Sorted Arrays](https://pseudocode-compiler.sherlemious.com/examples#merge-two-sorted-arrays): Algorithms - [Records (TYPE ... ENDTYPE)](https://pseudocode-compiler.sherlemious.com/examples#records-type-endtype): AS & A Level (9618) - [Enumerated Types & Pointers](https://pseudocode-compiler.sherlemious.com/examples#enumerated-types-and-pointers): AS & A Level (9618) - [BYREF and BYVAL Parameters](https://pseudocode-compiler.sherlemious.com/examples#byref-and-byval-parameters): AS & A Level (9618) - [CASE with Ranges](https://pseudocode-compiler.sherlemious.com/examples#case-with-ranges): AS & A Level (9618) - [Random-Access Files](https://pseudocode-compiler.sherlemious.com/examples#random-access-files): AS & A Level (9618) - [Classes & Inheritance (OOP)](https://pseudocode-compiler.sherlemious.com/examples#classes-and-inheritance-oop): AS & A Level (9618) ## FAQ - [Is there a free IGCSE pseudocode compiler?](https://pseudocode-compiler.sherlemious.com/faq#is-there-a-compiler) - [Which Cambridge syllabuses does it support?](https://pseudocode-compiler.sherlemious.com/faq#syllabuses) - [Is this an official Cambridge International product?](https://pseudocode-compiler.sherlemious.com/faq#official-cambridge) - [Do I need to install anything or create an account?](https://pseudocode-compiler.sherlemious.com/faq#install-account) - [Is it really free?](https://pseudocode-compiler.sherlemious.com/faq#cost) - [How does running code work?](https://pseudocode-compiler.sherlemious.com/faq#how-run-works) - [How does INPUT work?](https://pseudocode-compiler.sherlemious.com/faq#input) - [Where do OPENFILE / READFILE / WRITEFILE files live?](https://pseudocode-compiler.sherlemious.com/faq#files) - [How are practice questions graded?](https://pseudocode-compiler.sherlemious.com/faq#grading) - [What are the trace table, flowchart and Python views?](https://pseudocode-compiler.sherlemious.com/faq#trace-flowchart-python) - [How do I share a program?](https://pseudocode-compiler.sherlemious.com/faq#share-code) - [Why did a practice test fail when my logic looks right?](https://pseudocode-compiler.sherlemious.com/faq#grading-failed) - [Is my code saved if I close the tab?](https://pseudocode-compiler.sherlemious.com/faq#autosave) - [Is DECLARE optional?](https://pseudocode-compiler.sherlemious.com/faq#declare-optional) - [Are THEN and DO required?](https://pseudocode-compiler.sherlemious.com/faq#then-do-optional) - [Are keywords and names case-sensitive?](https://pseudocode-compiler.sherlemious.com/faq#case-sensitivity) - [Can I use = instead of <- ?](https://pseudocode-compiler.sherlemious.com/faq#assignment-operator) - [Are arrays 1-indexed?](https://pseudocode-compiler.sherlemious.com/faq#array-indexing) - [What A Level (9618) features are included?](https://pseudocode-compiler.sherlemious.com/faq#a-level-features) - [Why does DECLARE Date : STRING still work?](https://pseudocode-compiler.sherlemious.com/faq#soft-keywords) - [Can I write Python, Java or Portugol instead?](https://pseudocode-compiler.sherlemious.com/faq#not-python) - [Can an IF or loop body be empty?](https://pseudocode-compiler.sherlemious.com/faq#empty-blocks) - [Does each statement need its own line?](https://pseudocode-compiler.sherlemious.com/faq#newline-statements) - [Can I use this with a class?](https://pseudocode-compiler.sherlemious.com/faq#teachers-class) - [How do shared exams work?](https://pseudocode-compiler.sherlemious.com/faq#shared-exams) - [What student data do you collect?](https://pseudocode-compiler.sherlemious.com/faq#privacy-data) - [Can students see solutions or game the autograder?](https://pseudocode-compiler.sherlemious.com/faq#cheating) ## Practice questions - [2D Array Row Sums](https://pseudocode-compiler.sherlemious.com/practice/cmn0dt0fo006owefc0d8prgcf): 2D Arrays · HARD - [Absolute Value](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsle2001twefctioi7rx1): Selection · EASY - [AddOn BYREF Accumulator](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y00k00k3we6gc7h9pwpw): Procedures & Functions · MEDIUM - [Age Validator](https://pseudocode-compiler.sherlemious.com/practice/cmqlpilk500f1wef85jfwwmzz): Validation · EASY - [Append a Visitor to the Log](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y0yd00kiwe6gkca0jd28): File Handling · MEDIUM - [Array Maximum](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsplc002swefchlcth1x1): Arrays · MEDIUM - [Array Sum](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsp6q002nwefc381e40gc): Arrays · MEDIUM - [Array Zero Counter & Total](https://pseudocode-compiler.sherlemious.com/practice/cmn85uiyy008zweywuxd1dijf): Arrays · EASY - [BMI Calculator](https://pseudocode-compiler.sherlemious.com/practice/cmqlpimh000fgwef8o3ma7hzj): Selection · MEDIUM - [Bank Account Encapsulation](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y29m00l1we6g60mjp8te): Object-Oriented Programming · HARD - [Book Class Catalogue Card](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y1ya00kxwe6ggcdz7p5w): Object-Oriented Programming · MEDIUM - [Boundary Grade Classifier](https://pseudocode-compiler.sherlemious.com/practice/cmqc9eowz00dkweg864c02p9d): Selection · EASY - [Bubble Sort](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsshj003kwefcmo74cdh4): Algorithms · HARD - [Calculate Rectangle Area](https://pseudocode-compiler.sherlemious.com/practice/cmqlpikwm00erwef8telb0nj7): Arithmetic · EASY - [Capitalise First Letter](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsymf005twefc4e5ze3mj): String Processing · MEDIUM - [Celsius to Fahrenheit](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsvr8004zwefcaidbqdfs): Arithmetic · EASY - [Cinema Seat Free-Count](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xxaj00iywe6gqrjnokrl): 2D Arrays · EASY - [Count Above Average](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsyxc005zwefcsqntwfix): Arrays · MEDIUM - [Count Digits in a Number](https://pseudocode-compiler.sherlemious.com/practice/cmqlpptcy00fnwefce3kevfmm): Loops · EASY - [Count Down](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsmzh001ywefcpazq5fiz): Loops · EASY - [Count Letter Function](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y0c600k8we6gkovfv39c): Procedures & Functions · MEDIUM - [Count Numbers in Range](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsy0y005hwefc82vgr6qq): Loops · MEDIUM - [Count Occurrences](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsulu004iwefc3jsco18f): Arrays · HARD - [Count Vowels](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsqtf0039wefcpx96iofq): String Processing · MEDIUM - [Count Words in a Sentence](https://pseudocode-compiler.sherlemious.com/practice/cmqlpptzb00fxwefc5ju42oa4): String Processing · MEDIUM - [Date Validator With Leap Years](https://pseudocode-compiler.sherlemious.com/practice/cmqc9er9y00ekweg8jnljt2nz): Validation · HARD - [Even Numbers to N](https://pseudocode-compiler.sherlemious.com/practice/cmqlpilvd00f6wef88ye8d51i): Loops · EASY - [Factorial](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsqh20033wefcd2u39gv1): Procedures & Functions · MEDIUM - [Filter Pass Marks to a File](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y1bc00knwe6gu8arnrdh): File Handling · HARD - [Find a Value in a 2D Grid](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xxoe00j3we6g6zfgda69): 2D Arrays · MEDIUM - [First Double Letter](https://pseudocode-compiler.sherlemious.com/practice/cmqc9epjh00dvweg8czct7uz5): String Processing · MEDIUM - [First N Fibonacci Numbers](https://pseudocode-compiler.sherlemious.com/practice/cmn0dstan003wwefcxyy4kebn): Algorithms · HARD - [First and Last Character](https://pseudocode-compiler.sherlemious.com/practice/cmqlpim6c00fbwef8oxlx3g65): String Processing · EASY - [FizzBuzz](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsorp002jwefcxuoggvun): Loops · MEDIUM - [Grade from Score](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsoak002bwefcj9qualvc): Selection · MEDIUM - [Greatest Common Divisor](https://pseudocode-compiler.sherlemious.com/practice/cmn0dstij0041wefcu8mxp057): Algorithms · HARD - [Greet By Name Procedure](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xz1n00jnwe6glqakjijq): Procedures & Functions · EASY - [Guessing Attempts Counter](https://pseudocode-compiler.sherlemious.com/practice/cmqlpptp400fswefcmrs75rjg): Loops · EASY - [Highest Score in a Results File](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y1mw00kswe6gmaw9r10x): File Handling · MEDIUM - [Highest Student Record](https://pseudocode-compiler.sherlemious.com/practice/cmqlppv3r00ghwefccmnuczr6): Data Types · MEDIUM - [In-Range Function](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xzp600jxwe6gngijvqun): Procedures & Functions · EASY - [Largest of Three Numbers](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsl0n001nwefc0kqyk29x): Selection · EASY - [Leap Year Checker](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsz9a0065wefc03p9800i): Selection · HARD - [Linear Search](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsu2g004dwefcla6fpk0k): Algorithms · HARD - [Log File Error Summary](https://pseudocode-compiler.sherlemious.com/practice/cmqc9erul00exweg80vwq2c8j): File Handling · HARD - [Longest Hot Streak](https://pseudocode-compiler.sherlemious.com/practice/cmqc9eqnk00ebweg8rcao9xiy): Arrays · MEDIUM - [Manager Pay with Inheritance](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y2ku00l6we6g6l9dq1gz): Object-Oriented Programming · HARD - [Minimum of Three](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsuzk004nwefchcjgs6ya): Selection · EASY - [Number Classifier](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsvbl004twefcw81j068d): Selection · EASY - [Odd or Even](https://pseudocode-compiler.sherlemious.com/practice/cmn0dskm4001hwefczdpo1lis): Selection · EASY - [Palindrome Check](https://pseudocode-compiler.sherlemious.com/practice/cmn0dspzh002xwefcs7fwuyw9): String Processing · MEDIUM - [Pass or Fail](https://pseudocode-compiler.sherlemious.com/practice/cmqlpil9b00ewwef8om5j9oh9): Selection · EASY - [Password Strength Checker](https://pseudocode-compiler.sherlemious.com/practice/cmn0dt05n006hwefcqy7dcjs7): String Processing · HARD - [Password Validation Rules](https://pseudocode-compiler.sherlemious.com/practice/cmn85ujao0095weywbouu1m28): String Processing · MEDIUM - [Patient Reading Warnings](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xydf00jdwe6gxoq1rlac): 2D Arrays · HARD · 0478/2B - [Prime Number Checker](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsstv003pwefcd0gwj2f3): Algorithms · HARD - [Read Names from File](https://pseudocode-compiler.sherlemious.com/practice/cmn0xm6ts006uwebo6p57agru): File Handling · MEDIUM - [Recursive Factorial Function](https://pseudocode-compiler.sherlemious.com/practice/cmqlpputj00gcwefc5w5zm656): Procedures & Functions · MEDIUM - [Reverse a String](https://pseudocode-compiler.sherlemious.com/practice/cmn0dstqn0047wefce891qcg6): String Processing · HARD - [Reverse an Array](https://pseudocode-compiler.sherlemious.com/practice/cmqlpims100flwef8znv5oya4): Arrays · EASY - [Rotate Array Left](https://pseudocode-compiler.sherlemious.com/practice/cmqlppu9f00g2wefcnxxdfjv6): Arrays · MEDIUM - [Run-Length Compressor](https://pseudocode-compiler.sherlemious.com/practice/cmqc9epu500e1weg8f5j0cjw3): String Processing · HARD - [Running Club Top 3 & Certificates](https://pseudocode-compiler.sherlemious.com/practice/cmn85ujk7009cweywr38emp74): Algorithms · HARD - [Search a Product File](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y0na00kdwe6gokwwojo5): File Handling · MEDIUM - [Second Highest Distinct Score](https://pseudocode-compiler.sherlemious.com/practice/cmqc9eq4p00e6weg8jffflx7d): Arrays · MEDIUM - [Selection Sort](https://pseudocode-compiler.sherlemious.com/practice/cmn0dszni006cwefcjygqe1kg): Algorithms · HARD - [Simple Interest](https://pseudocode-compiler.sherlemious.com/practice/cmqlpin2z00fqwef852y7b54s): Arithmetic · EASY - [Stack Push and Pop](https://pseudocode-compiler.sherlemious.com/practice/cmqlppve100gmwefc5ddp17iq): Stacks · HARD - [Stock Reorder List](https://pseudocode-compiler.sherlemious.com/practice/cmqc9eqzm00egweg8x3kokjl1): Arrays · MEDIUM - [Sum 1 to N](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsngy0022wefcr5poumn4): Loops · EASY - [Sum Until Zero](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsxnm005bwefcjyzsrkyg): Loops · MEDIUM - [Sum of Digits](https://pseudocode-compiler.sherlemious.com/practice/cmn0dss5r003fwefcurjq2n8v): Arithmetic · MEDIUM - [Sum of Two Numbers](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsk16001bwefcn6ymftnl): Arithmetic · EASY - [Swap Values Using BYREF](https://pseudocode-compiler.sherlemious.com/practice/cmqlppujg00g7wefcabl0i99g): Procedures & Functions · EASY - [Temperature Range Sentinel](https://pseudocode-compiler.sherlemious.com/practice/cmn85ujtn009iweywdm3jx5ua): Selection · EASY - [Tic-Tac-Toe Winner](https://pseudocode-compiler.sherlemious.com/practice/cmqc9erk800erweg8vibh82co): 2D Arrays · HARD - [Times Table](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsnvx0027wefcia65nc9t): Loops · EASY - [Times Table Procedure](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xzd500jswe6gu1q4sm46): Procedures & Functions · EASY - [Username Validator](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsyck005nwefc8gg9kwl4): String Processing · MEDIUM - [Validated PIN Entry](https://pseudocode-compiler.sherlemious.com/practice/cmqc9ep9200dqweg814cyrz7e): Validation · EASY - [Validated Score Entry](https://pseudocode-compiler.sherlemious.com/practice/cmn0dsw660055wefckyieq0tl): Loops · MEDIUM - [Write Names to File and Read Back](https://pseudocode-compiler.sherlemious.com/practice/cmn0xm75w006ywebo5rgoybpa): File Handling · HARD - [8-Bit Binary Converter](https://pseudocode-compiler.sherlemious.com/practice/cmn85ugh2007iweywmthssugf): Algorithms · MEDIUM · 2025 Oct/Nov Variant 3 - [Double Entry Verification](https://pseudocode-compiler.sherlemious.com/practice/cmn85uhjn0086weyw0h45aamd): Arrays · MEDIUM · 2025 May/June Variant 2 - [Email Validation Check](https://pseudocode-compiler.sherlemious.com/practice/cmn85ug7c007cweywy94w5inh): String Processing · MEDIUM · 2025 Oct/Nov Variant 2 - [Extract Consonants](https://pseudocode-compiler.sherlemious.com/practice/cmn85uht5008bweywujhfo7ob): String Processing · MEDIUM · 2025 May/June Variant 3 - [Extract Country Code](https://pseudocode-compiler.sherlemious.com/practice/cmn85ugqo007oweywwpnyfd30): String Processing · MEDIUM · 2025 May/June Variant 1 - [Highest, Smallest, Total and Average](https://pseudocode-compiler.sherlemious.com/practice/cmn85uie3008nweyw1ykg0m2u): Algorithms · MEDIUM · 2025 Feb/Mar - [Insertion Sort an Array](https://pseudocode-compiler.sherlemious.com/practice/cmsxq1zsy00h1wepoc7fa2ndb): Algorithms · MEDIUM · 2025 May/June Variant 2 - [Integer Input Validation](https://pseudocode-compiler.sherlemious.com/practice/cmn85ui2m008hweywlowyw1cu): Loops · EASY · 2025 Feb/Mar - [Odd or Even Function](https://pseudocode-compiler.sherlemious.com/practice/cmn85uh0p007uweyw11fhh5v6): Procedures & Functions · EASY · 2025 May/June Variant 1 - [Password Length Validation](https://pseudocode-compiler.sherlemious.com/practice/cmn85uha60080weywtqwd50ks): Loops · EASY · 2025 May/June Variant 3 - [Seconds to Minutes and Seconds](https://pseudocode-compiler.sherlemious.com/practice/cmn85ufxe0076weyw238rz9ml): Arithmetic · EASY · 2025 Oct/Nov Variant 1 - [Singly Linked List Traversal](https://pseudocode-compiler.sherlemious.com/practice/cmsxq1zgh00gwwepob1f8aola): Linked Lists · MEDIUM · 2025 May/June Variant 2 - [Sports Club Membership System](https://pseudocode-compiler.sherlemious.com/practice/cmn85uip8008tweywe5lw258f): Arrays · HARD · 2025 Feb/Mar - [Theme Park Booking](https://pseudocode-compiler.sherlemious.com/practice/cmn85ufkt0070weyw82p82k1p): Arithmetic · EASY · 2025 Oct/Nov Variant 3 - [Word Count Across a File](https://pseudocode-compiler.sherlemious.com/practice/cmsxq203j00h6wepopmseo0ty): File Handling · MEDIUM · 2025 May/June Variant 2 - [Binary Search on a Sorted Array](https://pseudocode-compiler.sherlemious.com/practice/cmsxq22ms00hxwepowyihtfhm): Algorithms · MEDIUM · 2024 Oct/Nov Variant 1 - [Bubble Sort a List of Item Names](https://pseudocode-compiler.sherlemious.com/practice/cmsxq251r00inwepoyzt7j18x): Algorithms · MEDIUM · 2024 Oct/Nov Variant 2 - [Bubble Sort an Array](https://pseudocode-compiler.sherlemious.com/practice/cmn85ukcl009uweywpdhtuoqh): Algorithms · HARD · 2024 Feb/Mar Variant 2 - [Bubble Sort and Binary Search](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjpug00d5wevgth62gb8c): Algorithms · HARD · 2024 May/June Variant 1 Q1(d/e) - [Find an Item in the Sorted List](https://pseudocode-compiler.sherlemious.com/practice/cmsxq25mw00iswepot5v7lgqa): Arrays · EASY · 2024 Oct/Nov Variant 2 - [Initialise DataStored](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjpj600d0wevgjir1yfcy): Arrays · MEDIUM · 2024 May/June Variant 1 Q1(b/c) - [League Points from a Results Grid](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xyqh00jiwe6godn34f73): 2D Arrays · MEDIUM · 2024 May/June Variant 3 Q9 - [Linear Queue Operations](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjqfo00dewevgg8tuci1l): Queues · HARD · 2024 May/June Variant 1 Q3 - [Linear Search in an Array](https://pseudocode-compiler.sherlemious.com/practice/cmn85uk34009oweywe2qmyv8s): Arrays · MEDIUM · 2024 Feb/Mar Variant 2 - [Odd and Even Index Totals](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjqpg00djwevguwtmcxos): Arrays · MEDIUM · 2024 May/June Variant 1 Q4 - [Output Array Contents Until Data Ends](https://pseudocode-compiler.sherlemious.com/practice/cmsxq24n600iiwepocsbartab): Arrays · MEDIUM · 2024 May/June Variant 2 - [Profit Calculator with Validation](https://pseudocode-compiler.sherlemious.com/practice/cmn85ukmd00a0weywadiwdhdi): Loops · MEDIUM · 2024 Feb/Mar Variant 2 - [Recursive Sum of Digits](https://pseudocode-compiler.sherlemious.com/practice/cmsxq222l00hrwepostf5z4jx): Recursion · MEDIUM · 2024 Oct/Nov Variant 1 - [Remove Comments from Source File](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjr8v00dtwevg71mt5f7q): File Handling · HARD · 2024 May/June Variant 1 Q8(a/b) - [Right-Angled Triangle Function](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjqz700dowevgmjukehuw): Procedures & Functions · MEDIUM · 2024 May/June Variant 1 Q6 - [Rounded Average of a Value List](https://pseudocode-compiler.sherlemious.com/practice/cmsxq245u00idwepot0dum1mu): Loops · EASY · 2024 May/June Variant 2 - [Screen Time Tracker](https://pseudocode-compiler.sherlemious.com/practice/cmn85ukw400a6weywi877pdh6): Algorithms · HARD · 2024 Feb/Mar Variant 2 - [Tree Class Summary](https://pseudocode-compiler.sherlemious.com/practice/cmqbnjq4800dawevgnjb0y3vh): Object-Oriented Programming · HARD · 2024 May/June Variant 1 Q2 - [Validated Stock Count Total](https://pseudocode-compiler.sherlemious.com/practice/cmsxq261j00ixwepovbg2laf6): Loops · EASY · 2024 May/June Variant 1 - [Weekly Screen Time Grid](https://pseudocode-compiler.sherlemious.com/practice/cmsz1xy0h00j8we6gjkaxmrgp): 2D Arrays · HARD · 2024 Feb/Mar Variant 2 Q11 - [Weekly Temperature Grid Average](https://pseudocode-compiler.sherlemious.com/practice/cmsxq26fw00j2wepom9qnz9xh): 2D Arrays · MEDIUM · 2024 Oct/Nov Variant 3 - [Average of Numbers in Array](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3kk50060wezgvpunr34v): Arrays · EASY · 2023 Feb/Mar Variant 2 Q2(b) - [Balanced Brackets Checker](https://pseudocode-compiler.sherlemious.com/practice/cmsxq1ykp00gkwepofmh5lma2): Stacks · HARD · 2023 Oct/Nov Variant 2 - [Bubble Sort Pass Counter](https://pseudocode-compiler.sherlemious.com/practice/cmsxq1yx000gqwepo5y4zakzx): Algorithms · MEDIUM · 2023 Oct/Nov Variant 2 - [Character Position Finder](https://pseudocode-compiler.sherlemious.com/practice/cmn86fonx00axwefsdema1m1f): String Processing · MEDIUM · 2023 May/June Variant 2 - [Circular Queue Enqueue and Dequeue](https://pseudocode-compiler.sherlemious.com/practice/cmsxq20os00hhwepoh47cfcf7): Queues · HARD · 2023 Oct/Nov Variant 2 - [Daily Temperature Aggregator](https://pseudocode-compiler.sherlemious.com/practice/cmn86fnuo00afwefsotfigzbw): Algorithms · MEDIUM · 2023 Oct/Nov Variant 3 - [Double Entry Validation](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3lz9006qwezgs3d0fz8i): Loops · MEDIUM · 2023 May/June Variant 2 Q4(b) - [Energy Efficiency A-rated Check](https://pseudocode-compiler.sherlemious.com/practice/cmn86fpi500bfwefs36aum5iu): Selection · EASY · 2023 Feb/Mar Variant 1 - [Energy Efficiency Rating](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3k8e005uwezgrn7l9a79): Selection · EASY · 2023 Feb/Mar Variant 2 Q6(b) - [Extracting String Data](https://pseudocode-compiler.sherlemious.com/practice/cmn86fnbe00a3wefswzvzkrq2): String Processing · EASY · 2023 Oct/Nov Variant 2 - [Find Minimum in Array](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3ktz0066wezgoubztd60): Arrays · EASY · 2023 Oct/Nov Variant 2 Q3(b) - [Insert at the Front of a Linked List](https://pseudocode-compiler.sherlemious.com/practice/cmsxq20e400hcwepob81ncm80): Linked Lists · HARD · 2023 Oct/Nov Variant 2 - [Lowest Temperature Finder](https://pseudocode-compiler.sherlemious.com/practice/cmn86fnl100a9wefs048sk688): Algorithms · MEDIUM · 2023 Oct/Nov Variant 2 - [Matrix Row and Column Totals](https://pseudocode-compiler.sherlemious.com/practice/cmsxq23gd00i8wepoe0hdw7ir): 2D Arrays · MEDIUM · 2023 May/June Variant 1 - [Measurement Double-Entry Check](https://pseudocode-compiler.sherlemious.com/practice/cmn86foe500arwefs2ceg29yf): Loops · EASY · 2023 May/June Variant 2 - [Rope Cost Calculator](https://pseudocode-compiler.sherlemious.com/practice/cmn86fmqm009rwefs654kx97r): Selection · MEDIUM · 2023 Oct/Nov Variant 1 - [Rounding Comparison Function](https://pseudocode-compiler.sherlemious.com/practice/cmn86fprt00blwefs3r5v2bfy): Procedures & Functions · MEDIUM · 2023 Feb/Mar Variant 2 - [Shape Class Hierarchy](https://pseudocode-compiler.sherlemious.com/practice/cmsxq21jd00hmwepopyaxv1rg): Object-Oriented Programming · HARD · 2023 Oct/Nov Variant 2 - [Sports League Match Tracker](https://pseudocode-compiler.sherlemious.com/practice/cmn86fq1c00brwefswjwhegkb): Algorithms · HARD · 2023 Feb/Mar Variant 2 - [String Extraction and Lowercase](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3lnn006owezgep354nn8): String Processing · MEDIUM · 2023 Oct/Nov Variant 2 Q7 - [Temperature Readings & Conversion](https://pseudocode-compiler.sherlemious.com/practice/cmn86fp8n00b9wefs2dya6h9w): Arrays · HARD · 2023 May/June Variant 1 - [Theatre Seat Booking Validation](https://pseudocode-compiler.sherlemious.com/practice/cmn86fn1t009xwefsdncmbcg7): Loops · EASY · 2023 Oct/Nov Variant 3 - [Tokenise a Sentence into Words](https://pseudocode-compiler.sherlemious.com/practice/cmsxq231n00i3wepogcuk4997): String Processing · MEDIUM · 2023 May/June Variant 1 - [Totalling Positive Numbers](https://pseudocode-compiler.sherlemious.com/practice/cmn86foz100b3wefs2tkjadl9): Loops · MEDIUM · 2023 May/June Variant 1 - [Validate Input in Range](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3m9i006wwezg0a4x714c): Loops · EASY · 2023 May/June Variant 3 Q5(b) - [Validation Range Check](https://pseudocode-compiler.sherlemious.com/practice/cmn86fo4c00alwefs5e2un71v): Selection · EASY · 2023 May/June Variant 3 - [3-Digit Palindrome Filter](https://pseudocode-compiler.sherlemious.com/practice/cmn8cu07a00cfwepsqrtw9gck): Loops · MEDIUM · 2022 May/June Variant 1 - [Bread Rolls Stock Tracker](https://pseudocode-compiler.sherlemious.com/practice/cmn86fqay00bxwefs1a3m0oiw): Loops · MEDIUM · 2022 Oct/Nov Variant 1 - [Count Students by Age Group](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3ldp006iwezgdgqgihnt): Loops · MEDIUM · 2022 Feb/Mar Variant 2 Q2(a) - [Parking Booking Validator](https://pseudocode-compiler.sherlemious.com/practice/cmn86frdn00clwefs6w2t9ixm): Validation · EASY · 2022 Oct/Nov Variant 2 - [Student Age Category Counter](https://pseudocode-compiler.sherlemious.com/practice/cmn8cu0hk00clweps6csdd1z2): Selection · MEDIUM · 2022 Feb/Mar Variant 2 - [Student Mark Categorizer](https://pseudocode-compiler.sherlemious.com/practice/cmn86fr4200cfwefstju9vokn): Selection · MEDIUM · 2022 Oct/Nov Variant 2 - [Three-Digit Number Breakdown](https://pseudocode-compiler.sherlemious.com/practice/cmn86fqkr00c4wefsbk4xfa8d): Arithmetic · EASY · 2022 Oct/Nov Variant 2 - [Wheelbarrow Restock Tracker](https://pseudocode-compiler.sherlemious.com/practice/cmn86fquh00cawefszy8cnmna): Loops · MEDIUM · 2022 Oct/Nov Variant 3 - [Count Vowels and Consonants](https://pseudocode-compiler.sherlemious.com/practice/cmsxq27gj00jdwepom204ie3f): String Processing · EASY · 2021 Feb/Mar Variant 1 - [Maximum, Minimum and Range](https://pseudocode-compiler.sherlemious.com/practice/cmn0x3l3t006cwezgot14mknc): Loops · MEDIUM · 2021 May/June Variant 2 Q2(a) - [Quiz Item Loaded from a File](https://pseudocode-compiler.sherlemious.com/practice/cmsz1y2wq00lbwe6gktny5ibd): Object-Oriented Programming · HARD · 2021 May/June Variant 2 Q3 - [Simple Calculator](https://pseudocode-compiler.sherlemious.com/practice/cmn8ctzv600c9wepskedgpct8): Selection · EASY · 2021 Oct/Nov Variant 2 - [Ticket Price by Age Band](https://pseudocode-compiler.sherlemious.com/practice/cmsxq26ux00j7wepo6jfgjptv): Selection · EASY · 2021 Feb/Mar Variant 2