Master Pseudocode with Pro
Get unlimited access to the AI Tutor, Code Generator, and Converters. Plus, enjoy an ad-free experience.
The Complete OCR GCSE Pseudocode Guide
If you are studying for the OCR GCSE Computer Science examination (J277), you will encounter a very specific style of pseudocode in your exam papers.
Unlike other boards that use blocky, uppercase keywords and explicit data typing, OCR has designed its pseudocode to closely mirror modern, high-level languages—most notably Python. It uses lowercase keywords, object-oriented method calls, and implied variable typing.
This comprehensive guide breaks down the entire OCR GCSE pseudocode specification. We will cover variables, operators, selection, iteration, string handling, arrays, subroutines, and file handling.
Table of Contents
Variables, Scope, and Casting
In OCR pseudocode, you do not need to formally "declare" a variable. A variable is automatically declared the first time a value is assigned to it, and it assumes the data type of that value. Variables are assigned using the standard equals = operator.
Variables inside subroutines are assumed to be local. If you want a variable to be accessible everywhere, you must explicitly use the global keyword.
Input, Output, and Comments
Input and output operations in OCR look identical to Python 3. The print() function outputs data to the screen, while the input() function pauses the program to retrieve data from the user. Comments are denoted by double forward slashes.
Operators (Arithmetic, Relational, Logical)
Arithmetic Operators
- Standard Math:
+,-,*,/ - Integer Division (Quotient): Uses the
DIVkeyword. Example:17 DIV 5gives 3. - Modulus (Remainder): Uses the
MODkeyword. Example:12 MOD 5gives 2. - Exponentiation (Powers): Uses the caret
^symbol. Example:3^4gives 81.
Comparison (Relational) Operators
Because the single equals = is used for assignment, OCR strictly uses a double equals == for equivalence checks.
- Equal to:
== - Not equal to:
!= - Magnitude:
<,>,<=,>=
Logical Operators
Logical operators are written in capitals: AND, OR, and NOT. (e.g., while x <= 5 AND flag == false).
Selection (IF and SWITCH Statements)
OCR utilizes two types of selection: standard if/elseif/else chains, and switch/case blocks for cleaner multiple-choice evaluations.
Iteration (Loops)
OCR supports count-controlled (FOR) loops, as well as two types of condition-controlled loops.
String Handling
String handling in OCR relies heavily on an object-oriented syntax (dot notation). Strings are strictly 0-indexed. Note that the .substring() method takes a starting position and the number of characters to extract (length).
Subroutines (Functions & Procedures)
OCR explicitly differentiates between functions (which return a value) and procedures (which do not). Parameters are assumed to be passed by value unless specified otherwise using byVal or byRef.
Arrays (1D and 2D)
Arrays are 0-based and must be declared with the array keyword, providing the maximum dimension size inside square brackets.
Reading and Writing Files
OCR handles files by generating a "file object" using openRead or openWrite, and then calling methods on that object using dot notation.
Conclusion
The OCR pseudocode specification is distinct in how heavily it borrows from modern, high-level languages like Python. Understanding its use of dot-notation (for files and strings) and its Pythonic iteration structures is vital for scoring highly in the exams.
Be incredibly careful with assignment (=) versus equality (==), and remember that arrays and strings are strictly 0-indexed. If you practice using this syntax, tracing algorithms and writing your own solutions will become second nature!
Ready to practice? Try our editor.
Give our pseudocode editor a go today for free - with a built-in compiler, tools to convert pseudocode to code, and project saving, PseudoEditor makes writing pseudocode easier than ever!
Start coding now