Download presentation
Presentation is loading. Please wait.
Published byBethanie Barton Modified over 9 years ago
1
ACSE 2006 8 th Conference The Iconic Programmer Stephen Chen
2
ACSE -- The Iconic Programmer 2 Overview Actual slides from first three weeks Want students to focus on programming concepts rather than (JAVA) syntax Want students to learn to think in structures (i.e. problem solve)
3
ACSE -- The Iconic Programmer 3 Structured Programming Focus on processes – focus on actions 3 structures of structured programming Sequence Perform an action Branch Select an action (or no action) Loop Repeat an action
4
ACSE -- The Iconic Programmer 4 Each structure has an icon Program by assembling icons Iconic Programmer
5
ACSE -- The Iconic Programmer 5 Sequence Standard operation of a computer Actions are performed in sequence First action Second action … Last action Program runs same way each time
6
ACSE -- The Iconic Programmer 6 Actions Action Manipulate data Iconic Programmer Declare Assign Output
7
ACSE -- The Iconic Programmer 7 Declarations A computer needs to allocate storage space for all data that it manipulates Declaration gives a meaningful name to the data element/storage space Iconic Programmer Only integer data elements Give name in text box
8
ACSE -- The Iconic Programmer 8 Assignments Once the computer has a storage space, it can store/change data in that space Iconic Programmer Random value Result of mathematical expression User input
9
ACSE -- The Iconic Programmer 9 Mathematical Expressions value = value +1 (math) The value is equal to the value plus one Impossible mathematically value = value + 1 (computers) The storage space for value will become the previous contents plus one Actions: perform math, perform storage
10
ACSE -- The Iconic Programmer 10 Output When computer is done with program (or during debugging), we may want to see the result – what is in a storage space Iconic Programmer Value in storage space Text information (nominally stored)
11
ACSE -- The Iconic Programmer 11 Sample Program Output the double and triple of an input Declare a storage space Assign an input value to the storage space Declare a second storage space Assign double the input to this space Output the value in the second space Assign triple the input to this space Output the value in the second space
12
ACSE -- The Iconic Programmer 12 Branching allows a program to make decisions Diamonds represent conditions Two outgoing paths from condition Paths (with sequences) can be skipped Branching
13
ACSE -- The Iconic Programmer 13 Example of Branching Program specification Make withdrawal if funds are sufficient Program actions Check account balance and withdraw amount Make withdrawal Need to make withdrawal optional
14
ACSE -- The Iconic Programmer 14 Decisions Branching selects from two paths Two paths two states true (yes) false (no) Diamond contains a condition A condition is a true - false question
15
ACSE -- The Iconic Programmer 15 Relational Operators How to turn integers into true / false ? Greater than Less than Equal to Not equal to Greater than or equal to Less than or equal to
16
ACSE -- The Iconic Programmer 16 Compound Conditions Allow us to put two (or more) sub- conditions into a condition AND OR
17
ACSE -- The Iconic Programmer 17 AND The expression is TRUE if and only if both input variables are TRUE TRUE 1 FALSE 0 TRUE 1 TRUE 1 FALSE 0 FALSE 0 FALSE 0 FALSE 0
18
ACSE -- The Iconic Programmer 18 OR The expression is TRUE if either input variable is TRUE TRUE 1 FALSE 0 TRUE 1 TRUE 1 TRUE 1 FALSE 0 TRUE 1 FALSE 0
19
ACSE -- The Iconic Programmer 19 Inclusive and Exclusive OR Computers use inclusive OR Stop the bus if passengerA OR passengerB wants to get off Exclusive OR is different You can get $1000 cash back or 0% financing
20
ACSE -- The Iconic Programmer 20 Two Branches Did you roll a doublet? die1 == die2 double move Normal move
21
ACSE -- The Iconic Programmer 21 Multiple Branches What is your grade classification? >= 80 honours >= 60 pass Not pass
22
ACSE -- The Iconic Programmer 22 Looping In Sequence and Branching, each action is performed at most once Looping allows certain actions to be repeated Keeps programs from getting large and unmanageable
23
ACSE -- The Iconic Programmer 23 Example of Looping Program specification Take user inputs until they guess correctly Program Declare and initialize number Declare guess Input and compare guess …
24
ACSE -- The Iconic Programmer 24 Looping Icon Loops have same components as branches Condition selects one of two paths Optional path “loops back” to condition
25
ACSE -- The Iconic Programmer 25 Java syntax – branches Basic shell if (/*boolean expression*/) { // conditional statements }
26
ACSE -- The Iconic Programmer 26 Java syntax – exclusive branches if (/*boolean expression*/) { // conditional statements } else { // default statements }
27
ACSE -- The Iconic Programmer 27 Java syntax – multiple branches if (/*boolean expression*/) { // conditional statements } else if (/*boolean expression*/) { // more conditional statements }
28
ACSE -- The Iconic Programmer 28 Java syntax – loops Basic shell while (/*boolean expression*/) { // repeatable statements }
29
ACSE -- The Iconic Programmer 29 Common Error Decision to loop does not require a branch Decisions are not structures Branches - selected actions Loops - repeated actions
30
ACSE -- The Iconic Programmer 30 Sample Program – Telephone Banking Write a program that implements an ATM interface 1 – get balance 2 – deposit 3 – withdraw 9 – end session What are the key structures?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.