Computer-science_A-level_Cie
-
computers-and-components6 主题
-
logic-gates-and-logic-circuits2 主题
-
central-processing-unit-cpu-architecture6 主题
-
assembly-language-4 主题
-
bit-manipulation1 主题
-
operating-systems3 主题
-
language-translators2 主题
-
data-security3 主题
-
data-integrity1 主题
-
ethics-and-ownership3 主题
-
database-concepts3 主题
-
database-management-systems-dbms-1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml1 主题
-
computational-thinking-skills1 主题
-
algorithms14 主题
-
data-types-and-records2 主题
-
arrays2 主题
-
files1 主题
-
introduction-to-abstract-data-types-adt1 主题
-
programming-basics1 主题
-
constructs2 主题
-
structured-programming1 主题
-
program-development-life-cycle2 主题
-
program-design-2 主题
-
program-testing-and-maintenance3 主题
-
user-defined-data-types1 主题
-
file-organisation-and-access-3 主题
-
floating-point-numbers-representation-and-manipulation3 主题
-
protocols2 主题
-
circuit-switching-packet-switching1 主题
-
processors-parallel-processing-and-virtual-machines5 主题
-
boolean-algebra-and-logic-circuits4 主题
-
purposes-of-an-operating-system-os3 主题
-
translation-software3 主题
-
encryption-encryption-protocols-and-digital-certificates3 主题
-
artificial-intelligence-ai4 主题
-
recursion1 主题
-
programming-paradigms4 主题
-
object-oriented-programming7 主题
-
file-processing-and-exception-handling2 主题
-
data-representation5 主题
-
multimedia3 主题
-
compression2 主题
-
networks-and-the-internet11 主题
structure-charts
Structure charts
What is a structure chart?
-
A structure chart is a modelling tool used in the design stage of program development
-
It helps to decompose a problem into smaller, manageable sub-tasks, representing each as a module
-
Structure charts focus on what the program does, not how it does it
Example
-
A program that asks a user to enter their username and password
-
Checks if the password matches the stored password and uses a counter to track how many times it is checked
-
If the password matches, a successful message is displayed, else after three failed attempts a ‘denied’ message is displayed
-
A structure chart might look like:

Key features
|
Feature |
Explanation |
|---|---|
|
Top-down design |
The chart starts with the main program and breaks it into sub-modules |
|
Decomposition |
Each module represents a specific task or function |
|
Module boxes |
Each module is shown as a box |
|
Vertical lines |
Show control flow – which module calls which |
|
Parameter arrows |
Arrows pointing into modules show data being passed in or returned |
|
Stepwise refinement |
Each level adds more detail to the task above |
|
Diamond shape |
Shows a condition that could be true or false |
|
Semi-circular arrow |
Indicates repetition |
Pseudocode from structure chart
-
The first step is to create an identifier table
|
Identifier |
Data type |
Description |
|---|---|---|
|
|
STRING |
Stores the username entered by the user |
|
|
STRING |
Stores the password entered by the user |
|
|
STRING |
The correct password stored in the system for comparison |
|
|
INTEGER |
Counts the number of failed login attempts |
|
|
BOOLEAN |
Indicates whether the login was successful |
-
Next, identify is any functions or procedures could be used
|
Module |
Type |
Purpose |
|---|---|---|
|
|
PROCEDURE |
Asks the user to input username and password |
|
|
FUNCTION |
Compares input password with stored password and returns TRUE/FALSE |
|
|
PROCEDURE |
Displays success or failure message |
-
Any finally, write the pseudocode
DECLARE Username : STRING
DECLARE Password : STRING
DECLARE StoredPass : STRING
DECLARE NoAttempts : INTEGER
DECLARE LoginSuccess : BOOLEAN StoredPass ← "admin123"
NoAttempts ← 0
LoginSuccess ← FALSE PROCEDURE GetCredentials() OUTPUT "Enter username: " INPUT Username OUTPUT "Enter password: " INPUT Password
ENDPROCEDURE FUNCTION CheckPassword(P : STRING) RETURNS BOOLEAN IF P = StoredPass THEN RETURN TRUE ELSE RETURN FALSE ENDIF
ENDFUNCTION PROCEDURE ShowAccessMessage(Success : BOOLEAN) IF Success = TRUE THEN OUTPUT "Login successful" ELSE OUTPUT "Access denied" ENDIF
ENDPROCEDURE WHILE NoAttempts < 3 AND LoginSuccess = FALSE CALL GetCredentials() LoginSuccess ← CheckPassword(Password) IF LoginSuccess = FALSE THEN OUTPUT "Incorrect password" NoAttempts ← NoAttempts + 1 ENDIF
ENDWHILE CALL ShowAccessMessage(LoginSuccess)
Responses