# SD CS Principles: SD.CSP.4.3

## CodeHS Lessons

Recommend specific control structures and identify tradeoffs involving implementation, readability, and program performance.

 Standard 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.14 Control Structures Example 2.1 Challenge Problems 6.2 If/Else Statements 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 7.1 Control Structures Challenges
 Standard 5.1 Booleans 5.2 If Statements 5.3 Comparison Operators 5.4 Logical Operators 7.3 Break and Continue 7.4 Nested Control Structures 24.1 Short Circuit Evaluation
 Standard 3.2 if Statements and Control Flow 3.3 if-else Statements 3.4 else if Statements
 Standard 4.1 Booleans 4.2 Logical Operators 4.3 Comparison Operators 4.4 If Statements 4.5 Key Events 4.6 For Loops in JavaScript 4.7 General For Loops 4.8 For Loop Practice 4.9 Random Numbers 4.10 While Loops 4.11 Loop and a Half
 Standard 4.1 Booleans 4.2 Logical Operators 4.3 Comparison Operators 4.4 If Statements 4.5 Key Events 4.6 For Loops in Python 4.7 General For Loops 4.10 While Loops 4.11 Loop and a Half 28.1 Short Circuit Evaluation
 Standard 4.1 Booleans 4.2 Logical Operators 4.3 Comparison Operators 4.4 If Statements 4.6 Key Events 4.7 For Loops in JavaScript 4.8 General For Loops 4.9 For Loop Practice 4.10 Random Numbers 4.11 While Loops 4.12 Loop and a Half
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade
 Standard 9.8 If Statements 9.9 For Loops in JavaScript 9.12 While Loops 9.13 Loop and a Half 8.13 The Cascade 8.2 Structure of an HTML Page 9.10 For Loop Practice
 Standard 21.1 Challenge Problems 22.4 If Statements 22.5 For Loops in JavaScript 22.9 While Loops 22.10 Loop and a Half 23.1 Control Structures Challenges 22.6 General For Loops 22.7 For Loop Practice
 Standard 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.14 Control Structures Example 1.16 Challenge Problems 5.2 If/Else Statements 5.6 While Loops 5.7 The Break Statement 5.9 For Loops 6.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.14 Control Structures Example 2.1 Challenge Problems 6.2 If/Else Statements 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 7.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.14 Control Structures Example 2.1 Challenge Problems 6.2 If/Else Statements 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 7.1 Control Structures Challenges
 Standard 5.9 Using i in For Loops 5.10 Extended Loop Control 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 5.9 Using i in For Loops 5.10 Extended Loop Control 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 4.4 If/Else Statements
 Standard 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.16 Karel Challenges 13.14 Using i in For Loops 13.15 Extended Loop Control 13.18 While Loops 13.19 Putting Together Control Structures
 Standard 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.16 Karel Challenges 3.14 Using i in For Loops 3.15 Extended Loop Control 3.18 While Loops 3.19 Putting Together Control Structures
 Standard 2.12 While Loops in Karel 2.13 Control Structures Example 2.14 More Karel Examples and Testing 2.15 How to Indent Your Code 2.16 Karel Challenges 6.14 Using i in For Loops 6.15 Extended Loop Control 6.18 While Loops 6.19 Putting Together Control Structures
 Standard 7.8 Comparison Operators 7.9 Logical Operators 7.12 Break and Continue
 Standard 1.12 While Loops in Karel 1.13 Control Structures Example 1.14 More Karel Examples and Testing 1.15 How to Indent Your Code 1.16 Karel Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.3 Break and Continue 5.4 Nested Control Structures 17.1 Short Circuit Evaluation
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 6.4 If Statements 6.5 For Loops in JavaScript 6.6 General For Loops 6.7 For Loop Practice 6.9 While Loops 6.10 Loop and a Half 7.1 Control Structures Challenges
 Standard 4.4 Using i in For Loops 4.5 Extended Loop Control 6.3 While Loops 8.1 Putting Together Control Structures
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.9 For Loops 2.10 While Loops 2.11 If Statements 2.12 Loop-and-a-Half
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.9 While Loops 5.10 Loop and a Half 6.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.9 While Loops 5.10 Loop and a Half 6.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 5.4 If Statements 5.5 For Loops in JavaScript 5.6 General For Loops 5.7 For Loop Practice 5.9 While Loops 5.10 Loop and a Half 6.1 Control Structures Challenges
 Standard 4.4 Using i in For Loops 4.5 Extended Loop Control 5.3 While Loops 6.1 Putting Together Control Structures
 Standard 2.14 Using i in For Loops 2.15 Extended Loop Control 2.18 While Loops 2.19 Putting Together Control Structures 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.3 Break and Continue 5.4 Nested Control Structures 15.1 Short Circuit Evaluation
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade 14.8 If Statements 14.9 For Loops in JavaScript
 Standard 5.2 if Statements and Control Flow 5.3 if-else Statements 5.4 else if Statements
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 8.4 If Statements 8.5 For Loops in JavaScript 8.6 General For Loops 8.7 For Loop Practice 8.9 While Loops 8.10 Loop and a Half 9.1 Control Structures Challenges
 Standard 2.16 Using i in For Loops 2.17 Extended Loop Control 2.20 While Loops 2.22 Putting Together Control Structures 6.1 Booleans 6.2 If Statements 6.3 Comparison Operators 6.4 Logical Operators 7.3 Break and Continue 7.4 Nested Control Structures 17.1 Short Circuit Evaluation
 Standard 3.10 For Loops 3.11 If Statements 3.12 If/Else Statements 3.13 While Loops in Karel 3.14 Control Structures Example 4.2 Challenge Problems 8.4 If Statements 8.5 For Loops in JavaScript 8.6 General For Loops 8.7 For Loop Practice 8.9 While Loops 8.10 Loop and a Half 9.1 Control Structures Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 9.4 If Statements 9.5 For Loops in JavaScript 9.6 General For Loops 9.7 For Loop Practice 9.9 While Loops 9.10 Loop and a Half 10.1 Control Structures Challenges
 Standard 3.14 Using i in For Loops 3.15 Extended Loop Control 3.18 While Loops 3.19 Putting Together Control Structures
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.2 Structure of an HTML Page 15.4 If Statements 15.5 For Loops in JavaScript 15.9 While Loops 15.10 Loop and a Half 16.1 Control Structures Challenges 15.6 General For Loops 15.7 For Loop Practice
 Standard 4.1 Booleans 4.2 Logical Operators 4.3 Comparison Operators 4.4 If Statements 4.5 Key Events 4.6 For Loops in JavaScript 4.7 General For Loops 4.8 For Loop Practice 4.9 Random Numbers 4.10 While Loops 4.11 Loop and a Half
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 14.4 If Statements 14.5 For Loops in JavaScript 14.9 While Loops 14.10 Loop and a Half 15.1 Control Structures Challenges 14.6 General For Loops 14.7 For Loop Practice
 Standard 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 5.3 Break and Continue 5.4 Nested Control Structures 18.14 Using i in For Loops 18.15 Extended Loop Control 18.18 While Loops 18.19 Putting Together Control Structures
 Standard 1.2 Structure of an HTML Page 2.5 The Cascade
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 6.12 While Loops in Karel 6.13 Control Structures Example 6.14 More Karel Examples and Testing 6.15 How to Indent Your Code 6.16 Karel Challenges
 Standard 1.9 For Loops 1.10 If Statements and Conditionals 1.11 If/Else Statements 1.12 While Loops 1.14 Control Structures Example 4.2 If/Else Statements 4.6 While Loops 4.7 The Break Statement 4.9 For Loops 18.1 Challenge Problems 23.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 10.4 If Statements 10.5 For Loops in JavaScript 10.6 General For Loops 10.7 For Loop Practice 10.9 While Loops 10.10 Loop and a Half 11.1 Control Structures Challenges
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example 2.1 Challenge Problems 6.4 If Statements 6.5 For Loops in JavaScript 6.6 General For Loops 6.7 For Loop Practice 6.9 While Loops 6.10 Loop and a Half 7.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 3.1 Booleans 3.2 Logical Operators 3.3 Comparison Operators 3.4 If Statements 3.5 For Loops in JavaScript 3.6 General For Loops 3.7 For Loop Practice 3.8 Random Numbers 3.9 While Loops 3.10 Loop and a Half
 Standard 3.1 Booleans 3.2 Logical Operators 3.3 Comparison Operators 3.4 If Statements 3.5 For Loops in JavaScript 3.6 General For Loops 3.7 For Loop Practice 3.8 Random Numbers 3.9 While Loops 3.10 Loop and a Half
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 14.12 While Loops in Karel 14.13 Control Structures Example 14.14 More Karel Examples and Testing 14.15 How to Indent Your Code 14.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 3.14 Using i in For Loops 3.15 Extended Loop Control 3.18 While Loops 3.19 Putting Together Control Structures 8.12 While Loops in Karel 8.13 Control Structures Example 8.14 More Karel Examples and Testing 8.15 How to Indent Your Code 8.16 Karel Challenges
 Standard 3.15 Using i in For Loops 3.16 Extended Loop Control 3.19 While Loops 3.20 Putting Together Control Structures
 Standard 2.10 For Loops 2.11 If Statements and Conditionals 2.12 If/Else Statements 2.13 While Loops 2.15 Control Structures Example 7.2 If/Else Statements 7.6 While Loops 7.7 The Break Statement 7.9 For Loops
 Standard 2.9 For Loops 2.10 If Statements and Conditionals 2.11 If/Else Statements 2.12 While Loops 2.14 Control Structures Example 6.2 If/Else Statements 6.6 While Loops 6.7 The Break Statement 6.9 For Loops 14.1 Challenge Problems 19.1 Control Structures Challenges
 Standard 3.1 Booleans 3.2 Logical Operators 3.3 Comparison Operators 3.4 If Statements 3.5 Key Events 3.6 For Loops in JavaScript 3.7 General For Loops 3.8 For Loop Practice 3.9 Random Numbers 3.10 While Loops 3.11 Loop and a Half
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 3.10 For Loops 3.11 If Statements 3.12 If/Else Statements 3.13 While Loops in Karel 3.14 Control Structures Example 4.2 Challenge Problems 10.4 If Statements 10.5 For Loops in JavaScript 10.9 While Loops 10.10 Loop and a Half 11.1 Control Structures Challenges 10.6 General For Loops 10.7 For Loop Practice
 Standard 1.9 For Loops 1.10 If Statements 1.11 If/Else Statements 1.12 While Loops in Karel 1.13 Control Structures Example
 Standard 4.10 For Loops 4.11 If Statements 4.12 If/Else Statements 4.13 While Loops in Karel 4.14 Control Structures Example 6.4 If Statements 6.5 For Loops in JavaScript 6.6 General For Loops 6.7 For Loop Practice 6.9 While Loops 6.10 Loop and a Half
 Standard 2.9 For Loops 2.10 If Statements and Conditionals 2.11 If/Else Statements 2.12 While Loops 2.15 Control Structures Example 3.1 Challenge Problems 8.2 If/Else Statements 8.6 While Loops 8.7 The Break Statement 8.9 For Loops 9.1 Control Structures Challenges
 Standard 4.6 Using i in For Loops 4.7 Extended Loop Control 5.3 While Loops 6.1 Putting Together Control Structures
 Standard 2.9 For Loops 2.10 If Statements 2.11 If/Else Statements 2.12 While Loops in Karel 2.13 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 2.10 For Loops 2.11 If Statements 2.12 If/Else Statements 2.13 While Loops in Karel 2.14 Control Structures Example 3.2 Challenge Problems 7.4 If Statements 7.5 For Loops in JavaScript 7.6 General For Loops 7.7 For Loop Practice 7.9 While Loops 7.10 Loop and a Half 8.1 Control Structures Challenges
 Standard 1.14 Using i in For Loops 1.15 Extended Loop Control 1.18 While Loops 1.19 Putting Together Control Structures 11.12 While Loops in Karel 11.13 Control Structures Example 11.14 More Karel Examples and Testing 11.15 How to Indent Your Code 11.16 Karel Challenges
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade
 Standard 1.2 Structure of an HTML Page
 Standard 9.2 if Statements and Control Flow 9.3 if-else Statements 9.4 else if Statements
 Standard 9.2 if Statements and Control Flow 9.3 if-else Statements 9.4 else if Statements
 Standard 3.2 Structure of an HTML Page 4.5 The Cascade 13.8 If Statements 13.9 For Loops in JavaScript 13.12 While Loops 13.13 Loop and a Half 13.10 For Loop Practice
 Standard 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.3 Break and Continue 6.4 Nested Control Structures
 Standard 4.4 If/Else Statements
 Standard 5.9 Using i in For Loops 5.10 Extended Loop Control 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 5.9 Using i in For Loops 5.10 Extended Loop Control 7.4 While Loops 8.1 Putting Together Control Structures
 Standard 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.3 Break and Continue 6.4 Nested Control Structures
 Standard 4.1 Booleans 4.2 If Statements 4.3 Comparison Operators 4.4 Logical Operators 6.3 Break and Continue 6.4 Nested Control Structures
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade
 Standard 8.8 If Statements 8.9 For Loops in JavaScript 8.12 While Loops 8.13 Loop and a Half 8.10 For Loop Practice
 Standard 2.2 Structure of an HTML Page 3.5 The Cascade 12.8 If Statements 12.9 For Loops in JavaScript 12.10 For Loop Practice 12.12 While Loops 12.13 Loop and a Half
 Standard 4.10 For Loops 4.11 While Loops 4.12 If Statements 4.13 Loop-and-a-Half