J. Michael Moore Structured Programming CPSC 110 Drawn from James Tam's material.

Slides:



Advertisements
Similar presentations
1 Chapter Five Selection and Repetition. 2 Objectives How to make decisions using the if statement How to make decisions using the if-else statement How.
Advertisements

Pascal Programming Today Chapter 4 1 »Conditional statements allow the execution of one of a number of possible operations. »Conditional statements include:
Dr. Yang, Qingxiong (with slides borrowed from Dr. Yuen, Joe) LT4: Control Flow - Loop CS2311 Computer Programming.
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
James Tam Repetition In Pascal In this section of notes you will learn how to have a section of code repeated without duplicating the code.
Chapter 4 Control Structures I. Objectives ► Examine relational and logical operators ► Explore how to form and evaluate logical (Boolean) expressions.
James Tam Making Decisions In Python In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
James Tam Repetition In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
James Tam Loops In Python In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
J. Michael Moore Other Control Structures CSCE 110 Influenced by material developed by James Tam & Jennifer Welch.
James Tam Loops In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
Basic Elements of Programming A VB program is built from statements, statements from expressions, expressions from operators and operands, and operands.
1 Objectives You should be able to describe: Relational Expressions The if-else Statement Nested if Statements The switch Statement Common Programming.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
James Tam Programming: Part I In this section of notes you will learn about how to write simple programs using JES.
J. Michael Moore Structured Programming CSCE 110 Drawn from James Tam's material.
James Tam Loops In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
Chapter 8 (Control Structure) Slide 1 Control Structures Control structures are used by the programmer to incorporate the desired sequence of execution.
J. Michael Moore Logic and Boolean Expressions CSCE 110.
Logical Operators Java provides two binary logical operators (&& and ||) that are used to combine boolean expressions. Java also provides one unary (!)
James Tam Loops In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate your code.
School of Computing Science CMT1000 Ed Currie © Middlesex University 1 CMT1000: Introduction to Programming Ed Currie Lecture 5B: Branch Statements - Making.
Programming: Part II In this section of notes you will learn more advanced programming concepts such as branching and repetition as well as how to work.
J. Michael Moore Other Control Structures CSCE 110 Influenced by material developed by James Tam & Jennifer Welch.
James Tam Loops In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
Making Decisions In Python
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
A High-Level Model For Software Development
James Tam Making Decisions In Pascal In this section of notes you will learn how to have your Pascal programs choose between alternative courses of action.
CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana.
Section 3 - Selection and Repetition Constructs. Control Structures 1. Sequence 2. Selection 3. Repetition.
Fundamentals of Python: From First Programs Through Data Structures
Fundamentals of Python: First Programs
CONTROL STATEMENTS IF-ELSE, SWITCH- CASE Introduction to Computer Science I - COMP 1005, 1405 Instructor : Behnam Hajian
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational operators – Discover.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
2 Objectives You should be able to describe: Relational Expressions Relational Expressions The if-else Statement The if-else Statement Nested if Statements.
Saeed Ghanbartehrani Summer 2015 Lecture Notes #5: Programming Structures IE 212: Computational Methods for Industrial Engineering.
1 2. Program Construction in Java. 2.4 Selection (decisions)
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X1 Chapter 3 Control Statements.
Programming 1 DCT 1033 Control Structures I (Selection) if selection statement If..else double selection statement Switch multiple selection statement.
Repetition. Control of Flow SEQUENCE SELECTION (if..else, switch…case) REPETITION.
Loops Brent M. Dingle Texas A&M University Chapter 7 – part B (and some from Mastering Turbo Pascal 5.5, 3 rd Edition by Tom Swan)
Flow of Control Chapter 3. Outline Branching Statements Java Loop Statements Programming with Loops The Type boolean.
CPS120 Introduction to Computer Science Iteration (Looping)
James Tam Making Decisions In Python In this section of notes you will learn how to have your programs choose between alternative courses of action.
CSCI 161 Lecture 7 Martin van Bommel. Control Statements Statements that affect the sequence of execution of other statements Normal is sequential May.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
More Python!. Lists, Variables with more than one value Variables can point to more than one value at a time. The simplest way to do this is with a List.
James Tam Making Decisions In Python In this section of notes you will learn how to have your programs choose between alternative courses of action.
Flow of Control: Loops Module 4. Objectives Design a loop Use while, do, and for in a program Use the for-each with enumerations Use assertion checks.
COMP Loop Statements Yi Hong May 21, 2015.
Flow of Control Joe McCarthy CSS 161: Fundamentals of Computing1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Why Repetition? Read 8 real numbers and compute their average REAL X1, X2, X3, X4, X5, X6, X7, X8 REAL SUM, AVG READ *, X1, X2, X3, X4, X5, X6, X7, X8.
Catie Welsh February 9,  Friday - No Lab! ◦ Bring questions on Project 2  Lab 3 due on Friday 2.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 2: Control Structures (Selection & Repetition)
REPETITION CONTROL STRUCTURE
Loops In Pascal In this section of notes you will learn how to rerun parts of your program without having to duplicate the code. Repetition in Pascal:
The switch Statement, and Introduction to Looping
Chapter 3 Control Statements Lecturer: Mrs Rohani Hassan
Scratch: selection / branching/ if / If…else / compound conditionals / error trapping by Mr. Clausen.
Iteration: Beyond the Basic PERFORM
ICT Programming Lesson 3:
Simple Branches and Loops
Presentation transcript:

J. Michael Moore Structured Programming CPSC 110 Drawn from James Tam's material

J. Michael Moore Programming Structure ___________________

J. Michael Moore Sequence Programs are executed at a time. A compound statement a sequence of statements as a __________ statement.

J. Michael Moore Compound Statement begin statement1; statement2;. end;

J. Michael Moore High Level View Of Decision Making For The Computer Is income below $10,000? False Is income between $10K - $20K? True Income tax = 20% False etc. True Nominal income deduction Eligible for social assistance

J. Michael Moore Decision-Making In Pascal Decisions are questions with answers that are either _____ or ______ (Boolean) e.g., Is it true that the variable 'x' is positive? The program branches one way or another depending upon the answer to the question.

J. Michael Moore If-Then Question? Execute a statement True False Remainder of the program

J. Michael Moore Boolean expression Decision-making: checking if a particular condition is true Format: if (boolean-expression) then statement; additional statements; Example: if (age >= 18) then writeln('You are an adult'); writeln('Tell me more about yourself'); If-Then Indicates ________ ________________ _________ _________

J. Michael Moore Allowable Operands For Boolean Expressions Can also stand alone as a Boolean expression (it is a boolean value) integer real boolean char const Operands: Boolean-expression: operand relational-operator operand OR boolean-value

J. Michael Moore Relational Operators For Boolean Expressions If (operand relational-operator operand) then Pascal Mathematical operator equivalent Meaning < < Less than > > Greater than = = Equal to <= ≤ Less than or equal to >= ≥ Greater than or equal to <> ≠ Not equal to

J. Michael Moore Statement / Body Body of if-then consists of a single statement Format: if (Boolean expression) then s1; s2; Example: if (x = 1) then writeln('Body of if'); writeln ('After body'); If-Then (Simple Statement) Indicates ____________________________________ ___________________. (Note: _________________________ ____________________________.)

J. Michael Moore Body / Compound Statement Body of if-then consists of multiple statements Format: if (Boolean expression) then begin s1; s2; : sn; end; sn+1; If-Then (Compound Statement) Indicates ____________________________________ _____________________________________________

J. Michael Moore If-Then (Compound Statement) Example: taxRate := 0.2; if (income < 10000) then begin writeln('Eligable for social assistance'); taxCredit = 100; end; tax = income * taxRate ;

J. Michael Moore If-Then: What Gets Executed When true, the if executes ____________ which is a _________ statement. ________ statement: the body follows the 'then' and precedes the first semi-colon. _______________ statement: the body is enclosed within the begin-end pair as a compound statement.

J. Michael Moore If-Then-Else Question? Execute a statement True False Execute a statement Remainder of the program

J. Michael Moore Decision-making with two conditions (true or false) Format: if (boolean-expression) then body of 'if' else body of 'else'; additional statements; If-Then-Else No semi-colon ___________ ________________________ ________________________!!! Semi-colon _______________ __________________________ _________________________. Note: ____________________ _________________________ _______________.

J. Michael Moore If-Then-Else Example: if (age >= 18) then writeln('Adult') else writeln('Not an adult'); writeln('Tell me more about yourself');

J. Michael Moore If-Then-Else (Simple Statement) Body of if-then-else consists of a _______ statement Format: if (Boolean expression) then s1 else s2; s3; __________________________ __________________________ ________________________!!! __________________________ __________________________ _________________________.

J. Michael Moore If-Then-Else (Simple Statement) Example: if (x = 1) then writeln('body of if') else writeln('body of else'); writeln('after if-then-else');

J. Michael Moore If-Then-Else (Compound Statement) if (boolean-expression) then begin s1; : sn; end else begin sn+1; : sn + m; end; sn + m + 1; No semi-colon (__________________________________!) Semi-colon (______________________________________ _______________________________________! – _______________________________________)

J. Michael Moore If-Then (Compound Statement) Example: if (income < 10000) then begin writeln('Eligible for social assistance'); taxRate := 0.1; end else begin writeln('Not eligible for social assistance'); taxRate := 0.2; end; tax = income * taxRate;

J. Michael Moore Quick Summary: If Vs. If-Else If: –Evaluates a __________________ (asks a question) –If the expression evaluates to _____ then execute the '______' of the _____. –If the expression evaluates to _______ then _________________________________________. –Use when your program evaluates a ____________ __________ and code will be ____________ only when the expression evaluates to ________.

J. Michael Moore Quick Summary: If Vs. If-Else If-else: –Evaluates a __________________ (asks a question) –If the expression evaluates to _____ then execute the '_______' of the ______. –Use when your program evaluates a _____________ ___________ and ________ code will ____________ if the expression evaluates to _____ than if the expression evaluates to _____.

J. Michael Moore Nested Decision Making Decision making is dependent. The first decision must evaluate to ________ before the ____________ decisions are even ____________ for evaluation. Questio n 1? True Questio n 2? True Statement Remainder of the program False

J. Michael Moore Outer body Inner body Nested Decision Making One decision is made ___________________ ______ decisions must evaluate to ______ before ______ decisions are even ___________ for evaluation. Format: if (Boolean expression) then inner body Example: if (income < 10000) then if (citizen = true) then writeln('Eligable for social assistance'); tax := income * TAX_RATE;

J. Michael Moore Is this for x or y???? if (x > 0) then if (y > 0) then writeln('x and y greater than zero') else writeln('x is greater than zero'); Nested Decision Making: The Dangling Else

J. Michael Moore The Dangling Else Reformatted if (x > 0) then if (y > 0) then writeln('x and y greater than zero') else writeln('x greater than zero');

J. Michael Moore Decision-Making With Multiple Alternatives if-then –Checks a condition and executes the body if the condition is ______ if-then-else –Checks a condition and executes one body if the condition is ______ and another body if the condition is ______ Approaches for multiple (two or more) alternatives –Multiple if's –Multiple else-if's

J. Michael Moore Decision Making With Multiple If's Question ? True Statement True Statement Question ? Remainder of the program False

J. Michael Moore Multiple If's: Non-Exclusive Conditions ____, ____ or ______ of the conditions may be true (__________________) Format: if (Boolean expression 1) then body 1; if (Boolean expression 2) then body 2; : statements after the conditions;

J. Michael Moore Multiple If's: Non-Exclusive Conditions (Example) Example: if (x > 0) then writeln('X is positive'); if (y > 0) then writeln('Y is positive'); if (z > 0) then writeln('Z is positive');

J. Michael Moore Multiple If's: Mutually Exclusive Conditions At most only one of many conditions can be true Can be implemented through multiple if's if (gpa = 4) then letter := 'A'; if (gpa = 3) then letter := 'B'; if (gpa = 2) then letter := 'C'; if (gpa = 1) then letter := 'D'; if (gpa = 0) then letter := 'F'; __________ combination!

Decision Making With If, Else-If Question ? True Statement False Question ? Remainder of the program Statement False True Statement

J. Michael Moore Multiple If, Else-If's: Mutually Exclusive Conditions Format: if (Boolean expression 1) then body 1 else if (Boolean expression 2) then body 2 : else body n; statements after the conditions;

J. Michael Moore Multiple If, Else-If's: Mutually Exclusive Conditions (Example) if (gpa = 4) then letter := 'A' else if (gpa = 3) then letter := 'B' else if (gpa = 2) then letter := 'C' else if (gpa = 1) then letter := 'D' else if (gpa = 0) then letter := 'F' else writeln('GPA must be one of 4, 3, 2, 1 or 0'); Watch your __________!

J. Michael Moore Testing Decision Making Constructs Make sure that the ______ of each possible ________ executes when it should. Test: 1)Obviously ______ cases 2)Obviously ______ cases 3)_______________ cases

J. Michael Moore Testing Decisions: An Example program testDecisions (input, output); begin var num : integer; write('Enter a value for num: '); readln(num); if (num >= 0) then writeln('Num is non-negative: ', num) else writeln('Num is negative: ', num); end.

J. Michael Moore Avoid Using Real Values When An Integer Will Do program testExample; begin var num : real; num := ; if (num = 0.61) then writeln('Sixty one cents') else writeln('Not sixty one cents'); end.

J. Michael Moore The Need For Repetition (Iteration / Loops) Writing out a simple counting program (1 – 3). program counting (output); begin writeln('1'); writeln('2'); writeln('3'); end.

J. Michael Moore The Need For Repetition (2) Simple program but what if ____________ need to be made? –The source code must be ____________ and _______________ each time that a ________ is needed. What if you need the program to ________________________?

J. Michael Moore Basic Structure Of Loops 1)_______________ the control a)Control – typically a variable that determines whether or not the loop executes or not. 2)_______ the control against a _________ 3)__________ the _________ of the loop 4)__________________ of the control

J. Michael Moore Types Of Loops Pre-test loops 1.____________ control 2.______ if a condition is ____ (using the control in some Boolean expression) a) If the condition __________ then continue on with the loop (go to step 3) b) If the condition __________ then break out of the loop (loop ends) 3._______ the _________ of the loop 4._______ the _________ of the control 5.Repeat step 2

J. Michael Moore Types Of Loops Pre-test loops General characteristics –The body of the loop executes ______ or more times –Execute the body ______ if the condition is _____ (__________ when it becomes ______) –Examples: while-do, for

J. Michael Moore Types Of Loops (2) Post-test loops 1._____________ control (sometimes this step is unneeded because the control is set in the body, step 3) 2.________ the ________ of the loop 3.________ the ________ of the control 4._______ if a condition is _____ (using the control in some Boolean expression) a) If the condition ______________ then break out of loop (loop ends) b) If the condition ______________ then continue on with loop (go to step 2)

J. Michael Moore Types Of Loops (2) Post-test loops General characteristics –The body of the loop executes _______ or more times –Execute the body ______ if condition is ______ (___________ when it's ________) –Examples: repeat-until

J. Michael Moore Generally used when the number of times that the loop executes ____________________________. Format: while (Boolean expression) do body Example: var i : integer; i: = 1; while (i <= 5) do begin writeln('i = ', i); i := i + 1; end; (* while *) Pre-Test Loop: While-Do

J. Michael Moore Can be used for almost any stopping condition. Loop executes as long as the ______________ ____________ is ______. Format: while (Boolean expression) do body Example var i : integer; i: = 1; while (i <= 5) do begin writeln('i = ', i); i := i + 1; end; (* while *) Pre-Test Loop: While-Do 1) ________ control 2) _____ condition 3) _________ body 4) ______ control

J. Michael Moore Tracing The While Loop

J. Michael Moore Infinite Loops Infinite loops ____________ (the __________________ is never met). They tend to be caused by ______ errors. To stop a program with an infinite loop in Unix simultaneously press the and the keys

J. Michael Moore Infinite Loops The loop control is __________________ var i : integer; i := 1; while (i <=10) do writeln('i=', i); i := i + 1; To stop a program with an infinite loop in Unix simultaneously press the and the keys

J. Michael Moore Infinite Loops The loop control is __________________ var i : integer; i := 1; while (i <=10) do writeln('i=', i); i := i + 1; To stop a program with an infinite loop in Unix simultaneously press the and the keys Notice how the formatting helps us see the problem.

J. Michael Moore Infinite Loops The updating of the loop control _______ ________________________________ var i : integer; i := 10; while (i > 0) do begin writeln('i = ', i); i := i + 1; end; To stop a program with an infinite loop in Unix simultaneously press the and the keys