Computer Science AS CIE
-
data-representation as5 主题
-
multimedia as3 主题
-
compression as2 主题
-
networks-and-the-internet as11 主题
-
computers-and-components as5 主题
-
logic-gates-and-logic-circuits as2 主题
-
central-processing-unit-cpu-architecture as6 主题
-
assembly-language- as4 主题
-
bit-manipulation as1 主题
-
operating-systems as3 主题
-
language-translators as2 主题
-
data-security as3 主题
-
data-integrity as1 主题
-
ethics-and-ownership as3 主题
-
database-concepts as3 主题
-
database-management-systems-dbms- as1 主题
-
data-definition-language-ddl-and-data-manipulation-language-dml as1 主题
-
computational-thinking-skills as1 主题
-
algorithms as4 主题
-
data-types-and-records as2 主题
-
arrays as2 主题
-
files as1 主题
-
introduction-to-abstract-data-types-adt as1 主题
-
programming-basics as1 主题
-
constructs as2 主题
-
structured-programming as1 主题
-
program-development-life-cycle as1 主题
-
program-design- as2 主题
-
program-testing-and-maintenance as3 主题
structure-charts as
Exam code:9618
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