Dale Roberts 1 Program Control - Algorithms Department of Computer and Information Science, School of Science, IUPUI CSCI N305.

Slides:



Advertisements
Similar presentations
Decisions If statements in C.
Advertisements

More on Algorithms and Problem Solving
3 Decision Making: Equality and Relational Operators A condition is an expression that can be either true or false. Conditions can be formed using the.
C How to Program, 6/e Summary © by Pearson Education, Inc. All Rights Reserved.
 Control structures  Algorithm & flowchart  If statements  While statements.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 4 – C Program Control Outline 4.1Introduction.
Chapter 3 - Structured Program Development
Lec3: Structured Program Development
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 3 - Structured Program Development Outline.
CMT Programming Software Applications Week 3 Dr. Xiaohong Gao TP Room B107 Control Structures.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control.
Structured Program Development in C
Lecture 3 Structured Program Development in C
 2002 Prentice Hall. All rights reserved. 1 Chapter 3 – Control Structures Outline 3.1 Introduction 3.2 Algorithms 3.3 Pseudocode 3.4Control Structures.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved The switch Multiple-Selection Statement switch.
The University of Texas – Pan American
Control Structures Session 03 Mata kuliah: M0874 – Programming II Tahun: 2010.
Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring Lecture 3 Outline 3.1 Introduction.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 4 - Program Control Outline 4.1Introduction 4.2The Essentials of Repetition 4.3Counter-Controlled.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Computer Organization Six logical units in every.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Structural Program Development: If, If-Else Outline.
Lecture 4 C Program Control Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
1 4.8The do/while Repetition Structure The do/while repetition structure –Similar to the while structure –Condition for repetition tested after the body.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Flow Control (Switch, do-while, break) Outline 4.7The.
Structured Program Development Outline 2.1Introduction 2.2Algorithms 2.3Pseudo code 2.4Control Structures 2.5The If Selection Structure 2.6The If/Else.
Lecture 2: Logical Problems with Choices. Problem Solving Before writing a program Have a thorough understanding of the problem Carefully plan an approach.
Pseudocode When designing an ALGORITHM to solve a problem, Pseudocode, can be used. –Artificial, informal language used to develop algorithms –Similar.
C Lecture Notes 1 Structured Program Development.
Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection Structure 3.6The.
Chapter 3 Structured Program Development. Objectives To understand basic problem-solving techniques. To be able to develop algorithms through the process.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control.
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 21, 2005 Lecture Number: 10.
Selection. Flow Chart If selection If/else selection Compound statement Switch.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 2 - Control Structures Outline 2.1Introduction 2.2Algorithms 2.3Pseudocode 2.4Control Structures.
 2003 Prentice Hall, Inc. All rights reserved. 1 Control Structures Outline -Introduction -Algorithms -Pseudocode -Control Structures -if Selection Structure.
C Programming 2002 Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection.
Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection Structure 3.6The.
Lecture 2 Control Structure. Relational Operators -- From the previous lecture Relational Operator Meaning == is equal to < is less than > is greater.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 3 (2) & 4 September 8 & 10, 2009.
Lecture 4: C/C++ Control Structures Computer Programming Control Structures Lecture No. 4.
Structured Program Development Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010.
1 Lecture 3 Control Structures else/if and while.
Chapter 3 Structured Program Development Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
1 Lecture 2 Control Structures: Part 1 Selection: else / if and switch.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
C++ Programming Lecture 5 Control Structure I (Selection) – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook.
Dale Roberts Program Control Department of Computer and Information Science, School of Science, IUPUI Fall 2003 CSCI 230 Dale Roberts, Lecturer
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
Chapter 3 Structured Program Development in C C How to Program, 8/e, GE © 2016 Pearson Education, Ltd. All rights reserved.1.
Chapter 4 – C Program Control
The if…else Selection Statement
Algorithm: procedure in terms of
- Standard C Statements
Chapter 2.1 Control Structures (Selection)
CSC113: Computer Programming (Theory = 03, Lab = 01)
Programming Fundamentals
Programming Fundamentals
Lecture 2: Logical Problems with Choices
Program Control using Java - Theory
Structured Program
Chapter 3 - Structured Program Development
3 Control Statements:.
Chapter 3 – Control Structures
Chapter 3 - Structured Program Development
Dale Roberts, Lecturer IUPUI
Dale Roberts, Lecturer IUPUI
Structural Program Development: If, If-Else
Presentation transcript:

Dale Roberts 1 Program Control - Algorithms Department of Computer and Information Science, School of Science, IUPUI CSCI N305

Dale Roberts 2 Algorithms Algorithms is the are part of the problem solving process ‘A’ in STAIR. All computing problems can be solved by executing a series of actions in a specific order, called an algorithm Algorithm: procedure in terms of Actions to be executed The order in which these actions are to be executed Program control Specify order in which statements are to executed

Dale Roberts 3 Definition of Algorithm Definition of an Algorithm consists of unambiguous & computable operations produce a result halt in a finite amount of time. (Some scientists add a restriction that the algorithm must halt in a reasonable amount of time.)

Dale Roberts 4 Control Structures Sequential execution Statements executed one after the other in the order written Transfer of control When the next statement executed is not the next one in sequence Overuse of goto statements led to many problems Bohm and Jacopini All programs written in terms of 3 control structures Sequence structures: Built into C. Programs executed sequentially by default Selection structures: C has three types: if, if / else, and switch Repetition structures: C has three types: while, do / while and for

Dale Roberts 5 Pseudocode Pseudocode Artificial, informal language that helps us develop algorithms Similar to everyday English Not actually executed on computers Helps us “think out” a program before writing it Easy to convert into a corresponding C program Consists only of executable statements

Dale Roberts 6 Control Structures Flowchart Graphical representation of an algorithm Drawn using certain special-purpose symbols connected by arrows called flowlines Rectangle symbol (action symbol): Indicates any type of action Oval symbol: Indicates the beginning or end of a program or a section of code Single-entry/single-exit control structures Connect exit point of one control structure to entry point of the next (control-structure stacking) Makes programs easy to build

Dale Roberts 7 Errors in Control Structures Syntax errors Caught by compiler Logic errors: Have their effect at execution time Non-fatal: program runs, but has incorrect output Fatal: program exits prematurely

Dale Roberts 8 The if Selection Structure Selection structure: Used to choose among alternative courses of action Pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” If condition true Print statement executed and program goes on to next statement If false, print statement is ignored and the program goes onto the next statement Indenting makes programs easier to read C ignores whitespace characters

Dale Roberts 9 The if Selection Structure Diamond symbol (decision symbol) Indicates decision is to be made Contains an expression that can be true or false Test the condition, follow appropriate path if structure is a single-entry/single-exit structure true false grade >= 60 print “Passed”

Dale Roberts 10 The if Selection Structure if structure is a single-entry/single-exit structure true false grade >= 60 print “Passed”

Dale Roberts The if / else Selection Structure if Only performs an action if the condition is true if / else Specifies an action to be performed both when the condition is true and when it is false Pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” Note spacing/indentation conventions

Dale Roberts 12 The if / else Selection Structure Flow chart of the if / else selection structure Nested if / else structures Test for multiple cases by placing if / else selection structures inside if / else selection structures Once condition is met, rest of statements skipped Deep indentation usually not used in practice truefalse print “Failed”print “Passed” grade >= 60

Dale Roberts 13 The if / else Selection Structure Pseudocode for a nested if / else structure If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

Dale Roberts The while Repetition Structure Repetition structure Programmer specifies an action to be repeated while some condition remains true Pseudocode: While there are more items on my shopping list Purchase next item and cross it off my list while loop repeated until condition becomes false

Dale Roberts The while Repetition Structure Example: int product = 2; while ( product <= 1000 ) product = 2 * product; product <= 1000 product = 2 * product true false

Dale Roberts 16 Summary: Structured Programming Structured programming Easier than unstructured programs to understand, test, debug and, modify programs Rules for structured programming Rules developed by programming community Only single-entry/single-exit control structures are used Rules: Rule #1.: Begin with the “simplest flowchart” Rule #2.: Any rectangle (action) can be replaced by two rectangles (actions) in sequence Rule #3.: Any rectangle (action) can be replaced by any control structure (sequence, if, if / else, switch, while, do / while or for ) Rules 2 and 3 can be applied in any order and multiple times

Dale Roberts 17 Summary: Structured-Programming Summary: Structured-Programming Rule 2 Rule 1 : Begin with the simplest flowchart Rule 2 : Any rectangle can be replaced by two rectangles in sequence Rule 2... Rule 2Rule 3 Rule 3 : Replace any rectangle with a control structure All programs can be broken down into 3 controls Sequence : handled automatically by compiler Selection : if, if / else or switch Repetition : while, do / while or for Can only be combined in two ways: Nesting (Rule 3) and Stacking (Rule 2) Any selection can be rewritten as an if statement, and any repetition can be rewritten as a while statement