Bavarian Abitur Informatics, increased requirement level - independent foundations study materials
Bavarian Abitur Informatics, increased requirement level - independent foundations study resources

Bavarian Abitur Informatics, increased requirement level - independent foundations practice questions

One question at a time. Build your Bavarian Abitur Informatics, increased requirement level - independent foundations understanding.

First 50 of 190 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Programming, object modelling and software development

In object-oriented modelling for the Bavarian Abitur, what does polymorphism mean?

  1. Objects of different subclasses can be used wherever a superclass type is expected, and each object executes its own overridden method version Correct answer.
  2. Every attribute of a class must be declared public
  3. A class may contain only static methods
  4. Two classes are merged into one by copying all attributes

Explanation

Polymorphism lets a superclass reference refer to subclass objects; calls bind to the object's actual class. ISB tasks use this when abstract node types hold different concrete tree elements.

Question 2Programming, object modelling and software development

In a program, the three basic constructs used to control the flow of execution are which of the following?

  1. Sequence, selection, and iteration Correct answer.
  2. Compilation, interpretation, and assembly
  3. Encryption, decryption, and hashing
  4. Stacks, queues, and dictionaries

Explanation

The three fundamental programming constructs are sequence (statements in order), selection (branching with conditionals), and iteration (repetition with loops). Understanding these three constructs is an explicit GACE Programming objective.

Question 3Programming, object modelling and software development

Using standard operator precedence, what is the value of the expression 2 + 3 * 4?

  1. 14 Correct answer.
  2. 20
  3. 11
  4. 24

Explanation

Multiplication has higher precedence than addition, so 3 * 4 is evaluated first to get 12, then 2 + 12 = 14. Applying operator precedence to evaluate expressions is a GACE Programming objective.

Question 4Programming, object modelling and software development

Consider the pseudocode: x <- 5; y <- x + 3; x <- x * 2; print x; print y. What is printed?

  1. 10 and 8 Correct answer.
  2. 5 and 8
  3. 10 and 16
  4. 16 and 10

Explanation

Tracing in order: x becomes 5, then y becomes 5 + 3 = 8, then x becomes 5 * 2 = 10. Printing x then y outputs 10 and 8. The value of y was fixed when computed and is not affected by the later change to x. Tracing code to determine variable values is a GACE objective.

Question 5Programming, object modelling and software development

A program statement reads: if (age >= 18) then print "adult" else print "minor". When age is exactly 18, what is printed?

  1. adult Correct answer.
  2. minor
  3. Nothing is printed
  4. Both adult and minor

Explanation

The relational operator >= means greater than or equal to, so the condition age >= 18 is true when age is exactly 18, and the program prints "adult". Understanding relational operators and selection is a GACE Programming objective.

Question 6Programming, object modelling and software development

A loop is written as: count <- 0; while (count < 3) { print count; count <- count + 1 }. What does the loop print?

  1. 0 1 2 Correct answer.
  2. 1 2 3
  3. 0 1 2 3
  4. 0 1 2 3 4

Explanation

The loop starts with count = 0 and continues while count is less than 3. It prints 0, increments to 1, prints 1, increments to 2, prints 2, increments to 3, then the condition fails and the loop stops. The output is 0 1 2. Tracing iteration is a GACE objective.

Question 7Programming, object modelling and software development

A programmer replaces the literal value 3.14159 used many times throughout a program with a named constant PI. Which benefit most directly results from this change?

  1. Improved maintainability, since the value can be updated in one place Correct answer.
  2. Faster network transmission of the program
  3. Automatic encryption of the program's output
  4. Conversion of the program from interpreted to compiled

Explanation

Using a named constant means the value is defined once and referenced by name, so any future change requires editing only one location, improving maintainability and reducing errors. Identifying situations where constants are preferred over hard-coded values is a GACE objective.

Question 8Programming, object modelling and software development

A program attempts to divide a number by a variable whose value is zero while the program is running, causing it to crash. This is best classified as which type of error?

  1. A runtime error Correct answer.
  2. A syntax error
  3. A compile-time spelling error
  4. A documentation error

Explanation

Division by zero occurs while the program executes, not when it is being translated, so it is a runtime error. The GACE objective asks teachers to identify the type of error produced by a code segment, including syntax, runtime, overflow, round-off, and logic errors.

Question 9Programming, object modelling and software development

A program adds the integer 1 to a variable that already holds the maximum value its data type can store, and the result wraps around to a large negative number. This is an example of which type of error?

  1. An overflow error Correct answer.
  2. A syntax error
  3. A logic error in a comment
  4. A round-off error in floating point addition

Explanation

When a value exceeds the largest number a fixed-size data type can represent, it overflows and wraps around, often to a negative value. Differentiating among error types including overflow is an explicit GACE objective.

Question 10Programming, object modelling and software development

Which data type is most appropriate for storing a person's exact age in whole years?

  1. Integer Correct answer.
  2. Floating point
  3. String
  4. Boolean

Explanation

Age in whole years is a counting number with no fractional part, so an integer is the most appropriate and efficient choice. Identifying the most appropriate data type in a given context is a GACE Programming objective.

Question 11Programming, object modelling and software development

In the pseudocode notation used on the GACE assessment, the operator / indicates floating point division unless stated otherwise. What is the value of 7 / 2?

  1. 3.5 Correct answer.
  2. 3
  3. 4
  4. 1

Explanation

Floating point division keeps the fractional part, so 7 / 2 = 3.5. The GACE pseudocode notation explicitly states that / indicates floating point division unless otherwise noted. Describing the difference between integer and floating point division is a GACE objective.

Question 12Programming, object modelling and software development

A function is defined as area(length, width) returns length * width. A program calls area(4, 5). What value is returned?

  1. 20 Correct answer.
  2. 9
  3. 45
  4. 4

Explanation

The arguments 4 and 5 are passed to the parameters length and width, and the function returns length * width = 4 * 5 = 20. Tracing code that calls procedures with parameters and return values is an explicit GACE objective.

Question 13Programming, object modelling and software development

Which scenario best describes an event-driven program?

  1. A program that runs a specific function whenever the user clicks a button Correct answer.
  2. A program that prints the numbers 1 through 10 and then stops
  3. A program that converts a decimal number to binary once
  4. A program that calculates the average of a fixed list of grades

Explanation

Event-driven programs respond to external events such as clicks, key presses, sensor readings, or messages, executing handler code when an event occurs. Running a function when a button is clicked is the defining example. The GACE objective covers event-driven programs that respond to external events.

Question 14Programming, object modelling and software development

Using the GACE Boolean operators, what is the value of the expression (true and false) or (not false)?

  1. true Correct answer.
  2. false
  3. null
  4. It cannot be evaluated

Explanation

Evaluate the parts: (true and false) is false because both operands must be true for and; (not false) is true. Then false or true is true. Using Boolean algebra to evaluate expressions is a GACE objective.

Question 15Programming, object modelling and software development

Which Boolean expression is equivalent to not (A and B) according to De Morgan's laws?

  1. (not A) or (not B) Correct answer.
  2. (not A) and (not B)
  3. A or B
  4. A and B

Explanation

De Morgan's laws state that the negation of a conjunction equals the disjunction of the negations: not (A and B) is equivalent to (not A) or (not B). Identifying equivalent Boolean expressions is a GACE objective.

Question 16Programming, object modelling and software development

Which characteristic best describes a stack data structure?

  1. Last-in, first-out (LIFO) access, where the most recently added item is removed first Correct answer.
  2. First-in, first-out (FIFO) access, where the oldest item is removed first
  3. Key-value lookup, where each item is found by a unique key
  4. Direct random access to any element by numeric index only

Explanation

A stack follows last-in, first-out (LIFO) order: the most recently pushed item is the first one popped, like a stack of plates. The GACE objective requires familiarity with stacks, queues, and dictionaries/maps and their behavior.

Question 17Programming, object modelling and software development

A program must store and look up a student's grade by the student's unique ID number. Which data structure is the most appropriate choice?

  1. A dictionary (map) that associates each ID key with a grade value Correct answer.
  2. A stack that only allows access to the top element
  3. A queue that only allows removal from the front
  4. A single Boolean variable

Explanation

A dictionary or map stores key-value pairs and allows fast lookup of a value by its key, which exactly matches looking up a grade by a unique student ID. Choosing the most appropriate data structure for a context is a GACE objective.

Question 18Programming, object modelling and software development

In object-oriented programming, what does encapsulation primarily refer to?

  1. Bundling data and the methods that operate on it together while restricting direct access to internal state Correct answer.
  2. Allowing one class to inherit attributes and methods from another
  3. Defining multiple methods with the same name but different parameters
  4. Translating source code into machine code

Explanation

Encapsulation bundles an object's data (fields) and the methods that act on that data into a single unit and hides internal details, exposing a controlled interface. The GACE objective asks teachers to identify the benefits of inheritance and encapsulation.

Question 19Programming, object modelling and software development

A subclass Dog defines its own version of a method speak() that already exists in its parent class Animal, replacing the inherited behavior. This is an example of which object-oriented concept?

  1. Method overriding Correct answer.
  2. Method overloading
  3. Encapsulation
  4. Compilation

Explanation

Overriding occurs when a subclass provides its own implementation of a method that is already defined in its superclass, replacing the inherited behavior for instances of the subclass. Distinguishing between overloading and overriding is a GACE objective.

Question 20Programming, object modelling and software development

What is the key difference between a compiler and an interpreter?

  1. A compiler translates the entire program into machine code before execution, while an interpreter translates and executes code line by line at runtime Correct answer.
  2. A compiler runs code line by line, while an interpreter translates everything first
  3. A compiler only works with binary numbers, while an interpreter only works with decimal numbers
  4. There is no functional difference between them

Explanation

A compiler translates the whole source program into machine (object) code ahead of time, producing an executable, whereas an interpreter reads, translates, and executes the source one statement at a time during runtime. Identifying differences between compilation and interpretation is a GACE objective.

Question 21Programming, object modelling and software development

Given an API function getMax(list) that returns the largest value in a list, which is the correct way to store the result for the list scores?

  1. highest <- getMax(scores) Correct answer.
  2. getMax(scores) <- highest
  3. highest getMax scores
  4. getMax <- scores(highest)

Explanation

To use a function's return value, you call the function with the proper argument and assign the returned result to a variable: highest <- getMax(scores). Identifying correct calls and use of return values from an API definition is a GACE objective.

Question 22Programming, object modelling and software development

A program reads a user's age from a text field. Which input validation strategy is most appropriate before using the value as a number?

  1. Check that the entry contains only digits and falls within a reasonable range before converting it Correct answer.
  2. Immediately store the raw text and never check it
  3. Print the entry to the screen and assume it is valid
  4. Encrypt the entry without checking its contents

Explanation

Effective input validation confirms that data has the proper format (only digits) and falls within an acceptable range before the program relies on it, preventing crashes and bad results. Identifying effective input data validation strategies is a GACE objective.

Question 23Programming, object modelling and software development

A teacher wants students to find a logic error in a program that always reports a list is empty even when it contains items. Which debugging technique is most useful for locating the error?

  1. Insert print statements to display variable values at key points during execution Correct answer.
  2. Delete the entire program and start over without analysis
  3. Change the programming language
  4. Encrypt the source code

Explanation

Inserting print statements to show variable values at strategic points lets the programmer observe where the logic diverges from expectations, a standard debugging technique. The GACE objective lists describing useful debugging techniques, such as where to put print statements, as a skill.

Question 24Programming, object modelling and software development

When testing a function that accepts whole numbers from 1 to 100, which set of test cases best includes useful boundary values?

  1. 0, 1, 100, and 101 Correct answer.
  2. Only 50
  3. Only large random numbers in the thousands
  4. Only negative decimals

Explanation

Boundary testing checks values at and just outside the edges of valid input: 1 and 100 are the boundaries, and 0 and 101 are the values just outside. Choosing test cases that are most useful for given code is a GACE objective.

Question 25Programming, object modelling and software development

Which practice is the clearest sign of well-documented, modular code?

  1. Meaningful comments and descriptive names organized into small, single-purpose functions Correct answer.
  2. One enormous function with single-letter variable names and no comments
  3. Code that relies entirely on hard-coded values repeated throughout
  4. Random indentation and inconsistent naming

Explanation

Good documentation and modular design use clear comments, descriptive identifiers, and small functions that each perform one task, making code readable and maintainable. Identifying characteristics of good documentation and modular programs is a GACE objective.

Question 26Programming, object modelling and software development

A development team uses code reviews, where peers read and comment on each other's code before it is merged. Which benefit most directly results from this practice?

  1. Catching errors and improving code quality through additional perspectives Correct answer.
  2. Automatically compiling the code into machine language
  3. Encrypting the source code for security
  4. Increasing the program's clock speed

Explanation

Code reviews bring additional perspectives that catch bugs, enforce standards, and improve overall quality before code is merged. The GACE objective identifies code reviews and peer feedback as techniques to produce high-quality code.

Question 27Programming, object modelling and software development

A program needs to repeat the same block of code an exact, known number of times. Which construct is most appropriate?

  1. A counted loop (for loop) Correct answer.
  2. A single if statement with no loop
  3. A function definition with no call
  4. A constant declaration

Explanation

When the number of repetitions is fixed and known in advance, a counted (for) loop is the most appropriate construct because it manages the counter automatically. Identifying which constructs are needed to implement given functionality is a GACE objective.

Question 28Programming, object modelling and software development

Consider the pseudocode: int[] a <- {3, 6, 9, 12}; print a[2]. Using zero-based indexing as in the GACE notation, what is printed?

  1. 9 Correct answer.
  2. 6
  3. 12
  4. 3

Explanation

With zero-based indexing, a[0] is 3, a[1] is 6, a[2] is 9, and a[3] is 12. Therefore a[2] prints 9. Tracing array references is part of the GACE Programming objectives on variables and data types.

Question 29Programming, object modelling and software development

A program declares a variable inside a function. Outside that function, the variable cannot be referenced. This behavior is best explained by which concept?

  1. Variable scope, specifically that the variable has local scope Correct answer.
  2. Operator precedence
  3. Floating point round-off
  4. Data encryption

Explanation

Scope determines where a variable can be accessed. A variable declared inside a function has local scope and is visible only within that function, not outside it. Distinguishing between global and local scope is a GACE objective.

Question 30Programming, object modelling and software development

A low-level programming language is best characterized by which property?

  1. It is close to machine code and offers fine control over hardware but is harder for humans to read Correct answer.
  2. It is highly abstract and reads almost like natural English
  3. It can never be translated into machine code
  4. It automatically manages all memory without programmer involvement

Explanation

Low-level languages, such as assembly, operate close to the hardware and machine code, giving precise control over the processor and memory at the cost of being harder for humans to read and write. Identifying characteristics of low- and high-level languages is a GACE objective.

Question 31Algorithms, recursion and complexity

In computer science, abstraction is best described as which of the following?

  1. Hiding unnecessary details so a problem or system can be understood and managed at a higher level Correct answer.
  2. Writing out every single low-level instruction a processor executes
  3. Translating source code into machine language
  4. Measuring the time complexity of an algorithm

Explanation

Abstraction means focusing on the essential features of a problem while ignoring or hiding unnecessary details, which lets people reason about complex systems at a manageable level. The GACE objective treats abstraction as a foundational concept of computer science.

Question 32Algorithms, recursion and complexity

What is the decimal (base-10) value of the binary number 1011?

  1. 11 Correct answer.
  2. 13
  3. 9
  4. 23

Explanation

Each binary digit represents a power of two from right to left: 1x8 + 0x4 + 1x2 + 1x1 = 8 + 0 + 2 + 1 = 11. Converting between number bases is an explicit GACE Algorithms and Computational Thinking objective.

Question 33Algorithms, recursion and complexity

What is the hexadecimal representation of the decimal number 255?

  1. FF Correct answer.
  2. 100
  3. 0F
  4. F0

Explanation

Hexadecimal is base 16, where F equals 15. The value 255 equals 15x16 + 15 = FF, the largest two-digit hexadecimal number. Analyzing and converting representations of numbers in different bases is a GACE objective.

Question 34Algorithms, recursion and complexity

A student breaks the task of building a school website into smaller subtasks: design the layout, write the content, code the navigation, and test the pages. This approach best demonstrates which computational thinking practice?

  1. Problem decomposition Correct answer.
  2. Number base conversion
  3. Data encryption
  4. Operator precedence

Explanation

Problem decomposition is the practice of breaking a large, complex problem into smaller, more manageable subproblems that can be solved individually. Dividing the website project into layout, content, navigation, and testing tasks is a clear example.

Question 35Algorithms, recursion and complexity

An algorithm performs a single pass through a list of n items, doing constant work for each item. Which describes its time complexity?

  1. Linear, O(n) Correct answer.
  2. Quadratic, O(n^2)
  3. Logarithmic, O(log n)
  4. Constant, O(1)

Explanation

When the number of operations grows in direct proportion to the input size n, the running time is linear, written O(n). A single pass doing constant work per element is the canonical example of linear time.

Question 36Algorithms, recursion and complexity

A binary search is performed on a sorted list of 16 elements. What is the maximum number of comparisons needed to determine whether a target value is present?

  1. 5 Correct answer.
  2. 16
  3. 8
  4. 4

Explanation

Binary search halves the search space with each comparison, so the maximum number of comparisons is floor(log2 n) + 1. For 16 elements, log2(16) = 4, giving a maximum of 5 comparisons. Calculating comparisons for binary search is a stated GACE objective.

Question 37Algorithms, recursion and complexity

Which essential component must every recursive algorithm include to avoid running forever?

  1. A base case (stopping condition) Correct answer.
  2. A nested loop
  3. A global variable
  4. A sorting step

Explanation

A recursive algorithm calls itself on smaller inputs and must include a base case, a condition under which it stops recursing and returns a direct result. Without a base case, the recursion never terminates. Identifying the base case is an explicit GACE objective.

Question 38Algorithms, recursion and complexity

Which problem is best characterized as one that cannot be solved exactly within a practical time, making a heuristic solution appropriate?

  1. Finding the absolute shortest route that visits hundreds of cities exactly once (the traveling salesman problem) Correct answer.
  2. Adding two integers together
  3. Finding the largest value in a list of ten numbers
  4. Reversing a short string of characters

Explanation

The traveling salesman problem grows so quickly with the number of cities that finding the guaranteed optimal route becomes computationally impractical for large inputs, so heuristics that find good-enough solutions are used. Recognizing when heuristic solutions are useful is a GACE objective.

Question 39Algorithms, recursion and complexity

A teacher explains the difference between random and pseudorandom numbers. Which statement is correct?

  1. Pseudorandom numbers are generated by a deterministic algorithm from a seed and will repeat if the same seed is used Correct answer.
  2. Pseudorandom numbers can never be reproduced under any circumstances
  3. Truly random numbers are always produced by software loops
  4. Pseudorandom and truly random numbers are identical in every way

Explanation

Pseudorandom number generators use a deterministic algorithm starting from a seed value, so the same seed always produces the same sequence, which makes them reproducible. This distinguishes them from truly random sources, which derive from physical, unpredictable phenomena.

Question 40Algorithms, recursion and complexity

Consider the recursive definition: factorial(0) = 1, and factorial(n) = n * factorial(n - 1) for n > 0. What value does factorial(4) produce?

  1. 24 Correct answer.
  2. 12
  3. 16
  4. 10

Explanation

Tracing the recursion: factorial(4) = 4 * 3 * 2 * 1 * factorial(0) = 4 * 3 * 2 * 1 * 1 = 24. Tracing simple recursive algorithms such as n factorial is an explicit GACE objective.

Question 41Algorithms, recursion and complexity

A flowchart uses a diamond shape at a decision point. What does the diamond most commonly represent in standard flowchart notation?

  1. A condition or decision that branches the flow based on yes/no or true/false Correct answer.
  2. The start or end of the algorithm
  3. A simple process or calculation step
  4. Input or output of data

Explanation

In standard flowchart notation, the diamond represents a decision: a condition is evaluated and the flow branches based on the result, typically yes/no or true/false. Interpreting flowchart symbols and tracing algorithms in different formats is a GACE objective.

Question 42Algorithms, recursion and complexity

A student is given a table showing input values 1, 2, 3, 4 paired with outputs 1, 4, 9, 16. Which rule best describes the pattern that produces the outputs?

  1. Each output is the input squared Correct answer.
  2. Each output is the input plus three
  3. Each output is the input multiplied by four
  4. Each output is double the input

Explanation

Checking the pairs: 1^2 = 1, 2^2 = 4, 3^2 = 9, 4^2 = 16. The output equals the square of the input. Identifying patterns in a table of values and the algorithm that produces them is a GACE pattern-recognition objective.

Question 43Algorithms, recursion and complexity

An algorithm using nested loops compares every element of a list to every other element. As the list size n grows large, which growth rate best describes the number of comparisons?

  1. Quadratic, proportional to n^2 Correct answer.
  2. Linear, proportional to n
  3. Logarithmic, proportional to log n
  4. Constant, independent of n

Explanation

When an inner loop runs n times for each of the n iterations of an outer loop, the total number of comparisons is proportional to n times n, which is n^2, or quadratic growth. The GACE objective asks teachers to identify and compare linear, quadratic, exponential, and logarithmic algorithms.

Question 44Algorithms, recursion and complexity

Which list of items represents an abstraction hierarchy correctly ordered from the lowest (most detailed) level to the highest (most abstract) level?

  1. Transistors, logic gates, integrated circuits, computer Correct answer.
  2. Computer, integrated circuits, logic gates, transistors
  3. Logic gates, transistors, computer, integrated circuits
  4. Integrated circuits, computer, transistors, logic gates

Explanation

Abstraction hierarchies build from the most detailed physical components upward. Transistors combine into logic gates, gates form integrated circuits, and circuits make up the complete computer, moving from low (detailed) to high (abstract). Ordering an abstraction hierarchy is a GACE objective.

Question 45Algorithms, recursion and complexity

An algorithm's running time doubles every time one additional input element is added. Which growth rate does this describe?

  1. Exponential Correct answer.
  2. Linear
  3. Logarithmic
  4. Constant

Explanation

If adding one element doubles the work, the running time grows as a power of two with respect to input size, which is exponential growth. Exponential algorithms quickly become infeasible for large inputs, a key idea in the GACE limitations objective.

Question 46Algorithms, recursion and complexity

A selection sort repeatedly finds the smallest remaining element and places it at the front of the unsorted portion. After the first full pass over an unsorted list, which statement is guaranteed to be true?

  1. The smallest element is now in the first position Correct answer.
  2. The entire list is fully sorted
  3. The largest element is now in the first position
  4. No elements have changed position

Explanation

Selection sort scans the unsorted portion to find the minimum and swaps it into the next sorted position. After the first pass, the smallest element is correctly placed at the front. Tracing sorting algorithms and predicting intermediate results is a GACE objective.

Question 47Algorithms, recursion and complexity

Which application is the most appropriate use of randomization in computing?

  1. Shuffling a deck of cards in a digital card game Correct answer.
  2. Calculating the exact sum of a column of numbers in a spreadsheet
  3. Sorting a list of names into alphabetical order
  4. Converting a decimal number to binary

Explanation

Randomization is appropriate when unpredictability or fairness is desired, such as shuffling a virtual deck so each game deals a different arrangement. The GACE objective asks teachers to identify appropriate uses of randomization across applications.

Question 48Algorithms, recursion and complexity

A linear search examines a list of 100 unsorted items for a target value. In the worst case, how many items must it examine?

  1. 100 Correct answer.
  2. 7
  3. 50
  4. 1

Explanation

A linear search checks elements one at a time. In the worst case, the target is the last element or absent, so all 100 items must be examined. Calculating comparisons for linear search is a stated GACE objective.

Question 49Algorithms, recursion and complexity

A problem is described as undecidable, meaning no algorithm can ever solve it for all possible inputs. Which classic example fits this description?

  1. The halting problem: deciding whether an arbitrary program will eventually stop Correct answer.
  2. Adding two numbers stored in variables
  3. Searching a sorted array for a value
  4. Sorting a list of integers in ascending order

Explanation

The halting problem is the classic undecidable problem: no general algorithm can determine, for every possible program and input, whether the program will halt or run forever. Recognizing that some problems cannot be solved by a computer is a GACE objective.

Question 50Algorithms, recursion and complexity

An iterative algorithm uses a loop to compute the sum of the first n positive integers. Which recursive definition is equivalent?

  1. sum(n) = n + sum(n - 1), with sum(0) = 0 Correct answer.
  2. sum(n) = n * sum(n - 1), with sum(0) = 1
  3. sum(n) = sum(n - 1) - n, with sum(0) = 0
  4. sum(n) = n, with no base case

Explanation

The sum of the first n integers can be defined recursively by adding n to the sum of the first n-1 integers, with the base case sum(0) = 0. The GACE objective asks teachers to identify an iterative algorithm equivalent to a recursive one and vice versa.