Software Engineering › Key terms › Diagrams and tools › Mainline and subroutines (algorithms)
Mainline and subroutines (algorithms)
Diagram Diagrams and tools
Definition
Start complex algorithms with a clear, uncluttered mainline that calls subroutines; the details of each subroutine are in separate algorithms.
Example: BEGIN Main: GetData, Process, Display END.
Found in: syllabus, course specifications, school notes.
Where it is used in the test
Syllabus area: Diagrams and tools.
Question types it can appear in
- Pseudocode: Use it correctly in the exam pseudocode editor.
- Drawing: Draw or label it in the online drawing tool.
- Short answer: Define, outline or explain it and tie it to the scenario.
Where it has appeared in the paper
The Software Engineering Project (Part B). Part letters follow each paper’s own layout.
Related past questions
- Sample exam Q14 (3 marks): Algorithm design (subroutines) The Software Engineering Project (Part B) · 3 marks
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Study links
- Flashcard: Mainline and subroutines (algorithms) in Diagrams and Modelling Tools (Years 11 and 12) · study that set
- Memorise: Drawing rules: DFD, structure chart, storyboard, decision tree, class diagram, ERD
How to use it in an answer
A model sentence
Diagram: “Start complex algorithms with a clear, uncluttered mainline that calls subroutines; the details of each subroutine are in separate algorithms.” Then apply it: BEGIN Main: GetData, Process, Display END.
In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.
Command words used with it
No linked question shows the command word for this term. Across the past pseudocode and drawing and short answer questions in this bank the words used most are: Explain, Outline, Describe, Compare, Classify, Analyse. Check the actual word in your question.
Technique for the question types
- Pseudocode: Write HSC-style pseudocode: capital keywords, paired END words, indentation; initialise variables; output the required result.
- Drawing: Use the online drawing tool: label every symbol and arrow, use the correct symbols from the specification, and add every required item.
- Short answer: One clear point per mark, use the stimulus and course terms, and answer the command word.
Worked answers from the marking guidelines
Sample exam Q14 (3 marks): Algorithm design (subroutines) (3 marks): criteria and sample answer
Criteria
3: Substantially correct pseudocode that includes at least ONE subroutine. 2: Addresses some of the requirements. 1: Some understanding of the problem.
Sample answer
BEGIN main Get num_pizzas total_cost = 0 FOR i = 1 TO num_pizzas Get pizza_size Get num_toppings cost_per_pizza = calculate_pizza_cost(pizza_size, num_toppings) DISPLAY cost_per_pizza total_cost = total_cost + cost_per_pizza NEXT i DISPLAY total_cost END main
BEGIN calculate_pizza_cost(size, num_toppings) base_price = 10 topping_price = 1.5 IF size = "Medium" THEN base_price = base_price + 2 ELSEIF size = "Large" THEN base_price = base_price + 4 ENDIF pizza_cost = base_price + num_toppings * topping_price RETURN pizza_cost END calculate_pizza_cost
Common mistakes
- Pseudocode questions (2025 HSC exam Q17): use pseudocode control structures accurately; iterate an array and sum it; apply relational operators correctly; use the stimulus to choose the right structures.
- Drawing questions (2025 HSC exam Q22): refine attributes into separate inherited classes; use appropriate class diagram symbols.
- Use the term exactly as the syllabus words it, then link it to the scenario in the question; the 2025 feedback repeatedly rewards using the stimulus.
- Answer the command word: outline gives main points only, explain gives a reason or cause, discuss gives both sides.
Related terms
Same group in the syllabus: Class diagram · Class diagram inheritance and multiplicity · Entity relationship diagram (ERD) · Storyboard · Decision tree · Data dictionary · Gantt chart · Process diary (log book) · Wiring diagram · Flowchart