A-level Computing/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Programming

Features of Imperative High Level Languages
 * Illustrate these features for a particular imperative, third-generation language such as Pascal.


 * /A program/
 * /Variables/
 * /Comments/
 * /Input and output/

Use the following appropriately.
 * Built-in
 * Integer, byte, real, boolean, character, string, date/time.


 * User-defined
 * Enumerated, subrange, sets, records, arrays


 * /Data types/
 * /Built-in data types/
 * /Constant Definitions/
 * /Built-in functions/
 * /User-defined data types/


 * Type Definitions
 * Variable Declarations
 * Constant Definitions
 * Explain the advantages of named variables and constants.
 * Assignment
 * Iteration
 * Selection
 * Procedure/Function Declarations
 * Procedure and Function calling - Explain the advantages of procedure/functions.
 * Procedure and Function Parameters
 * Describe the use of parameters to pass data within programs.
 * Understand the different mechanisms for parameter passing: by value and by reference

Arithmetic operators including modulo arithmetic +, –, /, x, DIV, MOD

Relational operators =, <, >, <>, <=, >=

Boolean operators NOT, AND, OR

Logical bitwise operators NOT, AND, OR, XOR

Set operators Union, difference, intersection, membership

Built-in functions
 * Arithmetic functions: round, truncation.
 * String handling functions: length, position, substring, concatenation.
 * String conversion functions to/from integer, real, date/time.


 * /Selection/
 * /Iteration/
 * /Functions and Procedures/
 * /Operators/
 * /Arithmetic operators/
 * /Modulo arithmetic/
 * /Relational operators/
 * /Boolean operators/
 * /Logical bitwise operators/
 * /Set operators/

Recognise the different roles a variable can take:
 * fixed value, stepper, most recent holder, most wanted holder, gatherer, transformation, follower, temporary.


 * /Global and Local Variables/
 * /The Role of Variables/

Understand the structured approach to program design and construction.
 * Construct and use structure tables, structure charts and hierarchy charts when designing programs.
 * Use meaningful identifier names.
 * Use procedures/functions with interfaces.
 * Use procedures that execute a single task.
 * Explain the advantages of the structured approach.


 * /Fundamentals of Structured Programming/

Arrays
 * One- and Two-Dimensional Arrays - Use arrays in the design of solutions to simple problems.
 * Fields, Records and Files
 * Read/write from/to a text file (including csv file)
 * Read/write records from/to a file of records


 * /Data Structures/
 * /One-Dimensional Arrays/
 * /Two-Dimensional Arrays/
 * /Fields, Records and Files/


 * Understand the importance of validation of input data.
 * Program simple validation


 * /Validation/
 * /Debugging/

Variables
/questions/