3.10 Lists

Enduring Understanding

The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.

Learning Objective

For list operations:

a. Write expressions that use list indexing and list procedures.

b. Evaluate expressions that use list indexing and list procedures.

Essential Knowledge

The exam reference sheet provides basic operations on lists, including:

  • accessing an element by index

Text:

aList[i]

Block:

accesses the element of aList at index i. The first element of aList is at index 1 and is accessed using the notation aList[1].

  • assigning a value of an element of a list to a variable

Text:

x <-- aList[i]

Block:

  • assigning a value to an element of a list

Text:

aList[i] <-- x

Block:

assigns the value of x to aList[i].

Text:

aList[i] <-- aList[j]

Block:

assigns the value of aList[j] to aList[i].

  • inserting elements at a given index

Text:

INSERT(aList, i, value)

Block:

shifts to the right any values in aList at indices greater than or equal to i. The length of the list is increased by 1, and value is placed at index i in aList.

  • adding elements to the end of the list

Text:

APPEND(aList, value)

Block:

evaluates to the number of elements currently in aList.

List procedures are implemented in accordance with the syntax rules of the programming language.

  • removing elements

Text:

REMOVE(aList, value)

Block:

removes the item at index i in aList and shifts to the left any values at indices greater than i. The length of aList is decreased by 1.

  • determining the length of a list

Text:

LENGTH(aList)

Block:

evaluates to the number of elements currently in aList.

List procedures are implemented in accordance with the syntax rules of the programming language.

Learning Objective

For algorithms involving elements of a list:

a. Write iteration statements to traverse a list.

b. Determine the result of an algorithm that includes list traversals.

Essential Knowledge

Traversing a list can be a complete traversal, where all elements in the list are accessed, or a partial traversal, where only a portion of elements are accessed.

Exclusion Statement: Traversing multiple lists at the same time using the same index for both (parallel traversals) is outside the scope of this course and the AP Exam.

Iteration statements can be used to traverse a list.

The exam reference sheet provides

Text:

FOR EACH item IN aList

{

<block of statements>

}

Block:

The variable item is assigned the value of each element of aList sequentially, in order, from the first element to the last element. The code in block of statements is executed once for each assignment of item.

Knowledge of existing algorithms that use iteration can help in constructing new algorithms. Some examples of existing algorithms that are often used with lists include:

  • determining a minimum or maximum value in a list

  • computing a sum or average of a list of numbers

Linear search or sequential search algorithms check each element of a list, in order, until the desired value is found or all elements in the list have been checked.

Last updated