Tracing While Loops 7 January 2019 OSU CSE 1
Consider... int i = 4, j = 1, n = 0; while (i > j) { if (n % 2 == 0) { i--; } else { j++; } n++; } 7 January 2019 OSU CSE 2
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { if (n % 2 == 0) { i--; } else { j++; } n++; } 7 January 2019 OSU CSE 3
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 j = 1 n = 0 if (n % 2 == 0) { i--; } else { j++; } n++; } 7 January 2019 OSU CSE 4
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 j = 1 n = 0 if (n % 2 == 0) { i = 4 j = 1 n = 0 i--; } else { j++; } n++; } 7 January 2019 OSU CSE 5
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 j = 1 n = 0 if (n % 2 == 0) { i = 4 j = 1 n = 0 i--; i = 3 j = 1 n = 0 } else { j++; } n++; } 7 January 2019 OSU CSE 6
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 j = 1 n = 0 if (n % 2 == 0) { i = 4 j = 1 n = 0 i--; i = 3 j = 1 n = 0 } else { i = — j = — n = — j++; i = — j = — n = — } i = 3 j = 1 n = 0 n++; } 7 January 2019 OSU CSE 7
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 j = 1 n = 0 if (n % 2 == 0) { i = 4 j = 1 n = 0 i--; i = 3 j = 1 n = 0 } else { i = — j = — n = — j++; i = — j = — n = — } i = 3 j = 1 n = 0 n++; i = 3 j = 1 n = 1 } 7 January 2019 OSU CSE 8
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 j = 1 1 n = 0 1 if (n % 2 == 0) { i = 4 j = 1 n = 0 i--; i = 3 j = 1 n = 0 } else { i = — j = — n = — j++; i = — j = — n = — } i = 3 j = 1 n = 0 n++; i = 3 j = 1 n = 1 } 7 January 2019 OSU CSE 9
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 j = 1 1 n = 0 1 if (n % 2 == 0) { i = 4 — j = 1 — n = 0 — i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — j = — n = — } i = 3 j = 1 n = 0 n++; i = 3 j = 1 n = 1 } 7 January 2019 OSU CSE 10
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 j = 1 1 n = 0 1 if (n % 2 == 0) { i = 4 — j = 1 — n = 0 — i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 j = 1 n = 0 n++; i = 3 j = 1 n = 1 } 7 January 2019 OSU CSE 11
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 j = 1 1 n = 0 1 if (n % 2 == 0) { i = 4 — j = 1 — n = 0 — i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 3 j = 1 2 n = 0 1 n++; i = 3 j = 1 n = 1 } 7 January 2019 OSU CSE 12
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 j = 1 1 n = 0 1 if (n % 2 == 0) { i = 4 — j = 1 — n = 0 — i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 3 j = 1 2 n = 0 1 n++; i = 3 3 j = 1 2 n = 1 2 } 7 January 2019 OSU CSE 13
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — j = 1 — n = 0 — i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 3 j = 1 2 n = 0 1 n++; i = 3 3 j = 1 2 n = 1 2 } 7 January 2019 OSU CSE 14
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — 3 j = 1 — 2 n = 0 — 2 i--; i = 3 — j = 1 — n = 0 — } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 3 j = 1 2 n = 0 1 n++; i = 3 3 j = 1 2 n = 1 2 } 7 January 2019 OSU CSE 15
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — 3 j = 1 — 2 n = 0 — 2 i--; i = 3 — 2 j = 1 — 2 n = 0 — 2 } else { i = — 3 j = — 1 n = — 1 j++; i = — 3 j = — 2 n = — 1 } i = 3 3 j = 1 2 n = 0 1 n++; i = 3 3 j = 1 2 n = 1 2 } 7 January 2019 OSU CSE 16
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — 3 j = 1 — 2 n = 0 — 2 i--; i = 3 — 2 j = 1 — 2 n = 0 — 2 } else { i = — 3 — j = — 1 — n = — 1 — j++; i = — 3 — j = — 2 — n = — 1 — } i = 3 3 2 j = 1 2 2 n = 0 1 2 n++; i = 3 3 j = 1 2 n = 1 2 } 7 January 2019 OSU CSE 17
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — 3 j = 1 — 2 n = 0 — 2 i--; i = 3 — 2 j = 1 — 2 n = 0 — 2 } else { i = — 3 — j = — 1 — n = — 1 — j++; i = — 3 — j = — 2 — n = — 1 — } i = 3 3 2 j = 1 2 2 n = 0 1 2 n++; i = 3 3 2 j = 1 2 2 n = 1 2 3 } 7 January 2019 OSU CSE 18
Trace It int i = 4, j = 1, n = 0; i = 4 j = 1 n = 0 while (i > j) { i = 4 3 3 j = 1 1 2 n = 0 1 2 if (n % 2 == 0) { i = 4 — 3 j = 1 — 2 n = 0 — 2 i--; i = 3 — 2 j = 1 — 2 n = 0 — 2 } else { i = — 3 — j = — 1 — n = — 1 — j++; i = — 3 — j = — 2 — n = — 1 — } i = 3 3 2 j = 1 2 2 n = 0 1 2 n++; i = 3 3 2 j = 1 2 2 n = 1 2 3 } i = 2 j = 2 n = 3 7 January 2019 OSU CSE 19
What Does It Do? • Describe in one short sentence what the snippet of code we just traced does. • Don’t repeat the code in English… 7 January 2019 OSU CSE 20
Recommend
More recommend