Font size
WorksheetsA1 Exam - C9 Algorithm design and problem Solving
Total questions: 107
Worksheet time: 2hrs 37mins
What is pseudocode?
A way of describing a set of instructions in text form
A specific programming language that all computers use
A diagrammatic representation of a set of instructions
What is a flowchart?
A flowchart is a text-based way of designing an algorithm
A flowchart is a specific programming language
A flowchart is a diagram that represents a set of instructions
What are the main ways that algorithms can be designed?
Pseudocode
Flowchart
Structure Diagram
Python
When can algorithms be used?
Only with computers
To design a solution to any problem
For programming
What is important to remember when designing an algorithm?
whether to use a flowchart or pseudocode
the instructions are in the correct order
that it must be easy to read
What should be considered when designing an algorithm?
If there is more than one way of solving the problem
If the correct hardware is being used
If the correct software is being used
What does sequence mean?
To create a pattern
To do something in order
To do something randomly
To repeat something over and over again
What does selection mean?
Selection is following instructions in order.
Selection is to repeat something over and over again
Selection is when you have a choice of options
Selection is choosing the best option
What is iteration?
This is choosing what to do next
This means doing something in order
It is repeating something over and over again.
It is writing pseudocode
When can algorithms be used?
Only with computers
To design a solution to any problem
For programming
What is important to remember when designing an algorithm?
whether to use a flowchart or pseudocode
the instructions are in the correct order
that it must be easy to read
What should be considered when designing an algorithm?
If there is more than one way of solving the problem
If the correct hardware is being used
If the correct software is being used
(a) is the first step of the PDLC(Product Development Life Cycle), where the problem is broken down and understood.
(a) is the second step of the PDLC, where the solution to the problem is planned in detail.
(a) is the third stage of the PDLC, where the planned solution is implemented.
(a) is the fourth stage of the PDLC, where you test to see if your solution solves the problem as intended.
A software engineer sets out to find all the requirements and inputs to a particular problem he is trying to solve. Which phase of the PDLC is he in?
Analysis
Coding
Testing
Design
What is the name for the process of hiding complex details and showing only what is necessary?
Abstraction
Decomposition
Requirements
Development
What is the name of the process of splitting a problem into smaller, manageable chunks?
(a)
True or false?
When defining a problem it is important to include as many details as possible, regardless of the context, just in case they are needed.
True
False
Which of these is a correct statement?
Requirements dictate the essential inputs to a program.
Requirements dictate the essential outputs of a program.
Requirements dictate optional inputs to a program.
Requirements dictate optional outputs from a program.
What is the first stage of thinking procedurally?
Taking the problem defined by the user and breaking it down into its constituent parts
Developing a solution
Testing a solution
Analysing a problem
What is the purpose of problem decomposition?
To make complex problems easier to solve and more manageable by allowing tasks to be divided between a group of people according to individual skill sets.
The process of separating ideas from specific instances of those ideas at work
Any situation in the design or programming of a system when you would want more than one thing happening at the same time
Letting the problem rot away
State another name given to top-down design.
Stepwise refinement
Problem Recognition
Divide and Conquer
Problem Decomposition
Backtracking
What is the purpose of top-down design?
Continually break problems down into subproblems until each subproblem can be represented as a single task and ideally a self-contained subroutine.
The analysis of a large amount of data in a data warehouse to provide new information.
An algorithm for finding a complete solution. This is a refined brute force methodology. It is a very general algorithm for finding all (or some) solutions to computational problems.
The process of separating ideas from specific instances of those ideas at work
What are the benefits of using top-down design?
Problems can be solved and modules developed by different people
Tasks can be tested separately. Modules are self-contained
Uses abstraction to create algorithms and prototypes
Wireframe designs are required before development can take place
What sort of problems is top-down design suited to?
Large, complex problems
Small, complex problems
Large, simple problems
Small, simple problems
What is the second stage of thinking procedurally in software development?
Identifying components of a solution
Taking the problem defined by the user and breaking it down into its constituent parts
Developing a solution
Testing a solution
What are the lowest level subproblems in top-down design in code?
self-contained modules or subroutines
Machine Code
High Level Language
Flow Chart
What do software developers need to consider when recombining components of a solution?
The order in which subroutines are executed, and how they interact with each other, based on their role in solving the problem.
Who the original author of the component was
Will they fit together
What must a software developers do before designing a subroutine to solve a particular problem?
See whether it is possible for an already existing subroutine or module to be used.
Taking the problem defined by the user and breaking it down into its constituent parts
Developing a solution
Testing a solution
Analysing a problem
State advantages of utilising reusable components.
More reliable than newly-coded components, as they have already been tested.
This saves time, money and resources.
Accuracy of the algorithms used
Effectiveness of algorithm in managing the cache
Content can be loaded without delay
Which of these are pillars of computational thinking?
Decomposition: Breaking down data, processes, or problems into smaller, manageable parts
Pattern Recognition: Observing patterns, trends, and regularities in data
Abstraction: Identifying the most important details and discarding the unimportant aspects to make the solution manageable
Algorithm Design: Developing the step by step instructions for solving this and similar problems
functional programming - treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data
Which of these is an example of decomposition?
Break a program into procedures and functions
Break a complex problem into modules using top down design
Use a pre-written library of procedures and functions to perform operations such as sorting and searching.
Subdividing a problem into smaller tasks that different teams can work on independently.
Ignore the colour of a player token in a snakes ladder game model.
Define the term computational thinking
Using a computer
Developing an algorithm to solve a problem
Making a computer use artificial intelligence
Google is computational thinking
Solving a problem using a computer
Identify which statement describes algorithmic thinking
Thinking like a computer
Writing binary numbers
Identifying the steps involved in solving a problem
Identifying what problems need to be solved
What are algorithms used for?
To plan out the solution to a problem
As a platform to program a solution
To test a solution to a problem
What does an algorithm need to be (choose more than 1)
Clear instructions
Exact
Easy to understand
Complex
What should be considered when designing an algorithm?
If there is more than one way to solve the problem
If the correct hardware is being used
If the correct software is being used
Which of the algorithms illustrates unbounded iteration?
Algorithm 1
Algorithm 2
Which of the algorithms illustrates bounded iteration?
Algorithm 1
Algorithm 2
Look at the Algorithm Below. In the corresponding Trace Table, what value should 'A' be?
1
3
5
7
Look at the Algorithm Below. In the corresponding Trace Table, what value should 'B' be?
1
3
5
7
Look at the Algorithm Below. In the corresponding Trace Table, what value should 'D' be?
11
13
8
1
What is the purpose of using a Trace table?
Planning before writing a program
To help debug a program
Check for spelling mistakes
Understand the program more
The trace table will contain two columns: (a) and Output.
This loop will repeat (a) times
The trace table will contain three columns: n, (a) , and Output.
Abstraction
looking for similarities among and within problems
Mental processes and strategies that include: decomposition, pattern matching, abstraction, algorithms
creating step-by-step algorithms
Reducing information and detail to focus on essential characteristics.
Breaking problems into smaller, more manageable problems.
To create a procedure, you open Scratch and click on__ and then __.
variable, make variable
my blocks, make a block
sound, add music
event, green flag
Breaking a complex problem down into smaller problems and solving each one individually.
Decomposition
Abstraction
Pattern Recognition
Algorithmic Design
Create a program with the following algorithm?
What is multi-media?
A combination of two or more forms of media
One form of media
No media used
Text only
Animation
Transition
Audio
Graphics
__ is a very useful design tool that allows you to create a plan for your presentation.
Layout
Animation
Images
Storyboard
What is the main problem with this presentation design?
Too much text
Not enough contrast
Not enough main ideas
Text not appropriately aligned
Which of the following is an example of a good presentation design.
_______ is ready-made button for defining hyperlink on a slide
Objects
Transition
Action Button
Play
What is the best tool to design the presentation such that the user can move from 1st slide to other slides or play some sound with a single click?
Use Action Buttons
Use Navigation Tools
Use Page Up / Down keys
Use Slide Show
What is an algorithm?
Patterns and trends used to solve a problem
A set of step-by-step instructions to resolve a problem
A programming language
What are algorithms used for?
To plan out the solution to a problem
As a platform to program a solution
To test a solution to a problem
Which of these is NOT an algorithm?
Following recipe instructions
Working out how an engine works
Tying your shoelaces
Making a cup of coffee
What does an algorithm need to be (choose more than 1)
Clear instructions
Exact
Easy to understand
Complex
When can an algorithm be used?
Only with computers
For programming
To design a solution to any problem
What should be considered when designing an algorithm?
If there is more than one way to solve the problem
If the correct hardware is being used
If the correct software is being used
You are at the yellow arrow, pointing in the direction indicated. How would you move to fill in the 2 black squares?
Straight, Turn right, Straight x 1, Fill Square, Straight x 2, Turn left, Straight x 1, Fill Square
Straight x 2, Turn right, Straight x 1, Fill Square, Straight x 2, Turn left, Straight x 1, Fill Square
Straight x 2, Turn right, Straight x 1, Fill Square, Straight x 2, Turn right, Straight x 1, Fill Square
Straight x 2, Turn right, Straight x 1, Fill Square, Straight x 2, Turn left, Straight x 2, Fill Square
What is a flowchart?
A diagram that represents a set of instructions
A high-level language that has specific syntax
A way of describing a set of instructions that doesn’t use specific syntax
Does this algorithm have a branch?
Yes
No
Which flowchart shape is this?
Decision Box
Input / Output box
Process box
Start / Stop box
Which flowchart shape is this?
Decision Box
Input / Output box
Process box
Start / Stop box
What does sequence mean?
To create a pattern
To do something in order
To do something randomly
To repeat something over and over again
What does selection mean?
Selection is following instructions in order.
Selection is to repeat something over and over again
Selection is when you have a choice of options
Selection is choosing the best option
Yes
19
What will happen if the user gets their details wrong?
Checks how many times they have tried
They get another try
What will happen if the user's book return is late?
Sends them an SMS (text)
Does not send them an SMS (text)
What are the steps to create an algorithm?
Design a solution for each sub-problem, Combine the solutions to solve the original problem, Test and refine the algorithm, Understand the problem
Understand the problem, Break down the problem into smaller sub-problems, Design a solution for each sub-problem, Combine the solutions to solve the original problem, Test and refine the algorithm.
Break down the problem into smaller sub-problems, Combine the solutions to solve the original problem, Test and refine the algorithm, Understand the problem
Understand the problem, Design a solution, Test the algorithm, Implement the algorithm, Refine the algorithm
Why are algorithms important in problem-solving?
Algorithms are not important in problem-solving.
Algorithms make problem-solving more complicated.
Algorithms are only useful for simple problems.
Algorithms provide step-by-step instructions to solve problems.
True or False: An algorithm is a step-by-step procedure to solve a problem.
An algorithm is a random guess
False
True
An algorithm is a mathematical equation
What is the first step in creating an algorithm?
Define the problem
Test the algorithm
Write the code
Analyze the data
What is the purpose of pseudocode in algorithm design?
To test the efficiency of the algorithm in a specific programming language.
To create a visual representation of the algorithm.
To provide a high-level description of the algorithm's logic without being tied to a specific programming language.
To write code that can be directly executed by a computer.
What are the advantages of using algorithms in programming?
Systematic approach to problem-solving, improved efficiency, and code reusability.
Increased security, better error handling, and optimized resource utilization.
Less code maintenance, improved readability, and enhanced debugging.
Faster execution time, reduced complexity, and increased scalability.
Select the best description to explain what a binary search algorithm is.
Put the elements in order, check each item in turn.
Put the elements in order, compare with the middle value, split the list in order and repeat.
Elements do not need to be in order, check each item in turn.
Elements do not need to be in order, compare to the middle value, split the list in order and repeat
This loop will repeat (a) times
The trace table will contain three columns: n, (a) , and Output.
The trace table will contain two columns: (a) and Output.
What is the purpose of using a Trace table?
Planning before writing a program
To help debug a program
Check for spelling mistakes
Understand the program more
Look at the Algorithm Below. In the corresponding Trace Table, what value should 'D' be?
11
13
8
1
Look at the Algorithm Below. In the corresponding Trace Table, what value should 'B' be?
1
3
5
7
