Sign InCreate Account

EditorProjectsPseudocode TutorPractice QuestionsCode ConverterCode GeneratorFlowchartsUpgrade

Master Pseudocode with Pro

Get unlimited access to the AI Tutor, Code Generator, and Converters. Plus, enjoy an ad-free experience.

Upgrade Now

The Complete OCR Pseudocode Guide (AS and A Level)

If you are studying for an OCR Computer Science examination (such as the AS or A Level H046/H446), 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, Java, and C#. It uses lowercase keywords, object-oriented method calls, and implied variable typing.

This comprehensive guide breaks down the entire OCR pseudocode specification from top to bottom. We will cover variables, operators, selection, iteration, string handling, arrays, subroutines, file handling, and full Object-Oriented Programming (OOP).

Table of Contents

Variables, Scope, and CastingInput, Output, and CommentsOperators (Arithmetic, Relational, Logical)Selection (IF and SWITCH Statements)Iteration (Loops)String HandlingSubroutines (Functions & Procedures)Arrays (1D and 2D)Reading and Writing FilesObject-Oriented Programming (OOP)Conclusion

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.

Loading...

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.

Loading...

Operators (Arithmetic, Relational, Logical)

Arithmetic Operators

  • Standard Math: +, -, *, /
  • Integer Division (Quotient): Uses the DIV keyword. Example: 17 DIV 5 gives 3.
  • Modulus (Remainder): Uses the MOD keyword. Example: 12 MOD 5 gives 2.
  • Exponentiation (Powers): Uses the caret ^ symbol. Example: 3^4 gives 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.

Loading...

Iteration (Loops)

OCR supports count-controlled (FOR) loops, as well as two types of condition-controlled loops.

Loading...

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).

Loading...

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.

Loading...

Arrays (1D and 2D)

Arrays are 0-based and must be declared with the array keyword, providing the maximum dimension size inside square brackets.

Loading...

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.

Loading...

Object-Oriented Programming (OOP)

OCR heavily features OOP. You define classes using the class keyword. Attributes and methods should be explicitly tagged as public or private. Constructors must be named new.

To handle inheritance, use the inherits keyword. You can call the parent class's methods (like its constructor) using the super. prefix.

Loading...

Conclusion

The OCR pseudocode specification is distinct in how heavily it borrows from modern, high-level, object-oriented languages. Understanding its use of dot-notation (for files, strings, and OOP objects) and its Pythonic iteration structures is vital for scoring highly in the A-Level 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!

Read Our Guide on
AQA Pseudocode


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

Product

For SchoolsOverviewFeaturesFAQ

© 2026 PseudoEditor. All rights reserved.