Chapter 9 1 Lists Lists are often called

  • Slides: 27
Download presentation
Chapter 9. 1: Lists • Lists are often called by another name in other

Chapter 9. 1: Lists • Lists are often called by another name in other programming languages – arrays.

Suppose there is a list of Customers (people waiting in line). You want to

Suppose there is a list of Customers (people waiting in line). You want to serve each customer one at a time, so each one should walk into the store one at a time. A. B. C. D. Use a Do. Together tile Use a Do. In. Order tile Use a For. All. Together tile Use a For. All. In. Order tile

Which of the following types can be used in a list? A. B. C.

Which of the following types can be used in a list? A. B. C. D. Rockette’s Thighs Rockette’s Hips All of the Above

If I declare a list thusly, and use a For. All. In. Order tile,

If I declare a list thusly, and use a For. All. In. Order tile, what order do the rockettes kick? Order A C rockette 2 rockette 3 rockette 2 You can’t be sure D None of the above B

Old Super. Bowl Commercial has three frogs talk • But what they are advertising

Old Super. Bowl Commercial has three frogs talk • But what they are advertising we isn’t “ahem” a school topic – So let’s modify it.

Three Frogs • Three frogs, together they say – Frog 1 (on left) “Hear

Three Frogs • Three frogs, together they say – Frog 1 (on left) “Hear No Evil” – Frog 2 (in middle) “See No Evil” – Frog 3 (on right) “Speak No Evil” • That’s hard – let’s start with – Three frogs talk in order left to right – All of them say the same thing: Hello – Like this:

What does this code do?

What does this code do?

What does this code do? A. The frogs talk in order left to right

What does this code do? A. The frogs talk in order left to right B. The frogs talk in backwards order (right to left) C. Each frog talks, but the order depends

It ALWAYS goes in the order you make your list in

It ALWAYS goes in the order you make your list in

Let’s assume I remake my list like this (L to R):

Let’s assume I remake my list like this (L to R):

What if I want the frogs to say Hello (left to right) 5 times?

What if I want the frogs to say Hello (left to right) 5 times? A. Make a counted loop run five times INSIDE (as the inner loop) the For. All. In. Order loop B. Make a counted loop run five times with the For. All. In. Order loop INSIDE (as the inner loop)

Predict: What would this code do? • ? ? ?

Predict: What would this code do? • ? ? ?

By the way… you can make a list out of different kinds of objects

By the way… you can make a list out of different kinds of objects • Do the wave with different “People” objects • Make different types of flowers grow And out of other things…

Hear no evil Problem: Each frog should say something different… See no evil Speak

Hear no evil Problem: Each frog should say something different… See no evil Speak no evil

What programming construct would you use? A. B. C. D. E. An if statement

What programming construct would you use? A. B. C. D. E. An if statement inside the For all in order A counted loop inside the For all in order An if statement before the For all in order A counted loop outside the For all in order I don’ t know…

There are (at least) two possible solutions… What is the BEST explanation of why

There are (at least) two possible solutions… What is the BEST explanation of why is one better than the other? A. Option 1 is better because it is shorter B. Option 1 is better because it does the least number of “checks” (or boolean condition evaluations) C. Option 2 is better because it makes clear exactly what the “checks” (or boolean condition evaluations) are D. Option 2 is better because it has a regular structure with empty “else” portions

A) Shorter B) Least Boolean Checks C) Clear Boolean Checks D) Regular Structure with

A) Shorter B) Least Boolean Checks C) Clear Boolean Checks D) Regular Structure with Empty “else”es

Remember this… • “Good” programs aren’t (always) the ones that – Make it easiest

Remember this… • “Good” programs aren’t (always) the ones that – Make it easiest on the programmer – Are easiest for humans to read – Require least amount of effort from programmer • Instead they are (usually) the ones that – Require least computing work (by computer) – Are easiest to adapt to new situations • Methods and parameters come in here

There’s an EVEN BETTER way to write this program! • Think about this… –

There’s an EVEN BETTER way to write this program! • Think about this… – What if we had… • A list of froggies – Some number of frogs that want to talk • A list of words – Exactly the same “number” of Strings to be “said” by each of those frogs… – How can we make a program that will make each frog say a specific word • In ONLY 2 LINES OF CODE? !? !?

Let’s make the beetles do a more complicated dance… • Like this:

Let’s make the beetles do a more complicated dance… • Like this:

Which structure would you want? A. One For. All. In. Order loop B. One

Which structure would you want? A. One For. All. In. Order loop B. One For. All. In. Order loop with an if statement inside C. One if statement with a For. All. Together inside D. None of the above

Does this code correctly implement our intended behavior? A. Yes B. No C. I

Does this code correctly implement our intended behavior? A. Yes B. No C. I don’t know And WHY!

What is new about this code? • Nested “for all” loops • A loop

What is new about this code? • Nested “for all” loops • A loop that “iterates” over all items in a list – Inside that is another loop that goes over all the items in a list – In this case, happen to be the same list • Wow, you can do complicated things now…

There are 4 beetles, how many times is this instruction executed? A. B. C.

There are 4 beetles, how many times is this instruction executed? A. B. C. D. E. 4 12 16 48 I don’t know

Parameters to methods: We can do better now!

Parameters to methods: We can do better now!

How would we do our “new” solo (with backup)

How would we do our “new” solo (with backup)