9/23/2013. Chapter 2. Objectives. Introduction. Objectives (continued) Representing Algorithms. Representing Algorithms

Size: px
Start display at page:

Download "9/23/2013. Chapter 2. Objectives. Introduction. Objectives (continued) Representing Algorithms. Representing Algorithms"

Transcription

1 Chapter 2 The Algorithmic Foundations of Computer Science Objectives After studying this chapter, students will be able to: Explain the benefits of pseudocode over natural language or a programming language Represent algorithms using pseudocode Identify algorithm statements as sequential, conditional, or iterative Define abstraction and top-down design, and explain their use in breaking down complex problems INVITATION TO Computer Science 1 Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Objectives After studying this chapter, students will be able to: Illustrate the operation of sample algorithms multiplication by repeated addition sequential search of a collection of values finding the maximum element in a collection finding a pattern string in a larger piece of text Introduction Algorithms for everyday may not be suitable for computers to perform (as in Chapter 1) Algorithmic problem solving focuses on algorithms suitable for computers Pseudocode is a tool for designing algorithms This chapter will use a set of problems to illustrate algorithmic problem solving Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Natural language Language spoken and written in everyday life Examples: English, Spanish, Arabic, etc. Problems with using natural language for algorithms Verbose Imprecise Relies on context and experiences to give precise meaning to a word or phrase High-level programming language Examples: C++, Java Problem with using a high-level programming language for algorithms During the initial phases of design, we are forced to deal with detailed language issues 1

2 Pseudocode English language constructs modeled to look like statements available in most programming languages Steps presented in a structured manner (numbered, indented, etc.) No fixed syntax for most operations is required Less ambiguous, more readable than natural language Emphasis is on process, not notation Well-understood forms allow logical reasoning about algorithm behavior Can be easily translated into a programming language Pseudocode is used to design algorithms Natural language is: expressive, easy to use verbose, unstructured, and ambiguous Programming languages are: structured, designed for computers Formal syntax, grammar grammatically fussy, cryptic Pseudocode lies somewhere between these two Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Types of algorithmic operations Sequential step by step Conditional if Iterative - loop Sequential operations perform a single task Input: gets data values from outside the algorithm Computation: a single numeric calculation Output: sends data values to the outside world A variable is a named location to hold a value A sequential algorithm is made up only of sequential operations Example: computing average miles per gallon Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

3 Control operation: changes the normal flow of control Conditional statement: asks a question and selects among alternative options 1. Evaluate the true/false condition 2. If the condition is true, then do the first set of operations and skip the second set 3. If the condition is false, skip the first set of operations and do the second set Example: check for good or bad gas mileage Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Iteration: an operation that causes looping, repeating a block of instructions While statement repeats while a condition remains true continuation condition: a test to see if while loop should continue loop body: instructions to perform repeatedly Example: repeated mileage calculations Iterative Operations [ loops] Components of a loop Continuation condition Loop body Infinite loop (avoid) The continuation condition never becomes false An error Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

4 Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Do/while, repeat/until alternate iterative operation continuation condition appears at the end loop body always performed at least once post-test loop Primitive operations: sequential, conditional, and iterative are all that is needed Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 1: Go Forth and Multiply Given two nonnegative integer values, a 0, b 0, compute and output the product (a b) using the technique of repeated addition. That is, determine the value of the sum a + a + a a (b times). Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

5 Example 1: Go Forth and Multiply Example 1: Go Forth and Multiply Get input values Get values for a and b Compute the answer Loop b times, adding each time* Output the result Print the final value* * steps need elaboration Loop b times, adding each time Set the value of count to 0 While (count < b) do the rest of the loop* Set the value of count to count + 1 End of loop * steps need elaboration Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 1: Go Forth and Multiply Loop b times, adding each time Set the value of count to 0 Set the value of product to 0 While (count < b) do Set the value of product to (product + a) Set the value of count to count + 1 End of loop Output the result Print the value of product Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 2: Looking, Looking, Looking Examples of algorithmic problem solving: Searching 2. Sequential search: find a particular value in an unordered collection 3. Find maximum: find the largest value in a collection of data 4. Pattern matching: determine if and where a particular pattern occurs in a piece of text Example 2: Looking, Looking, Looking Assume that we have a list of 10,000 names that we define as N 1, N 2, N 3,..., N 10,000, along with the 10,000 telephone numbers of those individuals, denoted as T 1, T 2, T 3,..., T 10,000. To simplify the problem, we initially assume that all names in the book are unique and that the names need not be in alphabetical order. Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

6 Example 2: Looking, Looking, Looking Finding the correct solution to a problem is called algorithm discovery and is the most challenging and creative part of the problem-solving process. Three versions here illustrate algorithm discovery, working toward a correct, efficient solution A sequential algorithm (no loops or conditionals) An incomplete iterative algorithm A correct algorithm Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 2: Looking, Looking, Looking Correct sequential search algorithm Uses iteration to simplify the task Refers to a value in the list using an index (or pointer) Handles special cases (like a name not found in the collection) Uses the variable Found to exit the iteration as soon as a match is found Example 3: Big, Bigger, Biggest Task Find the largest value from a list of values Algorithm outline Keep track of the largest value seen so far (initialized to be the first in the list) Compare each value to the largest seen so far, and keep the larger as the new largest 6

7 Example 3: Big, Bigger, Biggest A building-block algorithm used in many libraries Library: A collection of pre-defined useful algorithms Example 3: Big, Bigger, Biggest Find Largest algorithm Uses iteration and indices like previous example Given a value n 1 and a list containing exactly n unique numbers called A 1, A 2,..., A n, find and print out both the largest value in the list and the position in the list where that largest value occurred. Updates location and largest so far when needed in the loop Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 4: Meeting Your Match Task Find if and where a pattern string occurs within a longer piece of text Algorithm outline Try each possible location of pattern string in turn At each location, compare pattern characters against string characters Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 4: Meeting Your Match Pattern-matching: common across many applications word processor search, web search, image analysis, human genome project You will be given some text composed of n characters that will be referred to as T 1 T 2... T n. You will also be given a pattern of m characters, m n, that will be represented as P 1 P 2... P m. The algorithm must locate every occurrence of the given pattern within the text. The output of the algorithm is the location in the text where each match occurred. Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Example 4: Meeting Your Match Algorithm has two parts: 1. Sliding the pattern along the text, aligning it with each position in turn 2. Given a particular alignment, determine if there is a match at that location Solve parts separately and use Abstraction, focus on high level, not details Top-down design, start with big picture, gradually elaborate parts Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

8 Example 4: Meeting Your Match Abstraction Separating high-level view from low-level details Key concept in computer science Makes difficult problems intellectually manageable Allows piece-by-piece development of algorithms Example 4: Meeting Your Match Top-down design When solving a complex problem: Create high-level operations in first draft of an algorithm After drafting the outline of the algorithm, return to the high-level operations and elaborate each one Repeat until all operations are primitives Example 3: Meeting Your Match Pattern-matching algorithm Contains a loop within a loop External loop iterates through possible locations of matches to pattern Internal loop iterates through corresponding characters of pattern and string to evaluate match Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Pattern Matching Some applications Matching phrases in Literature or text Find a pattern and replace it with another Web search ( Google )- matching strings Patterns in X-rays, CAT scans, etc. Patterns in the human genome whole new field of bioinformatics Invitation to Computer Science, 6th Editionm, modified by SJF, Fall

9 Summary Pseudocode is used for algorithm design: structured like code, but allows English and math phrasing and notation Pseudocode is made up of: sequential, conditional, and iterative operations Algorithmic problem solving involves: Step-by-step development of algorithm pieces Use of abstraction, and top-down design Invitation to Computer Science, 6th Editionm, modified by SJF, Fall Important Algorithms Sequential search ( Get values) and Start at the beginning of list Set found = false Repeat until found or end of list Look at each element If element = target set found = true and print desired element else move pointer to next element End loop If found = false then print message not on list Stop Important Algorithms Find Largest ( Get values) and Start at the beginning of list Set found = false and Largest to first element Repeat until end of list Look at each element If element > largest set (found = true) and (largest = element) and (location = i) move pointer to next element End loop Print largest and location Stop Important Algorithms Pattern matching in text Location Text A man and a woman Pattern an Output There is a match at position 4, etc. Patterns in genes Gene: TCAGGCTAATCGGAAGT Probe: TAATC Match: Yes! Definitions Algorithm Discovery finding a correct and efficient solution to a problem Library collection of useful algorithms Iteration repeated operations Index the position of an element in a list Abstraction- ability to separate the high level view of an object from the low level details Top-Down Design viewing an operation at a high level of abstraction and later adding the details in steps ( stepwise refinement) Research Write an algorithm that generates a Caesar cipher (See p. 86, #21) and Chapter 13 Investigate the field of bioinformatics Basic Explanations htthttp://en.wikipedia.org/wiki/bioinformatics BLAST tool used to search protein databases ation3.html 9

Chapter 2. The Algorithmic Foundations of. Computer Science INVITATION TO. Computer Science. Tuesday, September 10, 13

Chapter 2. The Algorithmic Foundations of. Computer Science INVITATION TO. Computer Science. Tuesday, September 10, 13 Chapter 2 The Algorithmic Foundations of Computer Science INVITATION TO Computer Science 1 Objectives After studying this chapter, students will be able to: Explain the benefits of pseudocode over natural

More information

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Fourth Edition

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Fourth Edition Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Fourth Edition Objectives In this chapter, you will learn about Representing algorithms Examples of algorithmic problem

More information

Homework #2. If (your ID number s last two digits % 6) = 0: 6, 12, 18

Homework #2. If (your ID number s last two digits % 6) = 0: 6, 12, 18 2005/Sep/19 1 Homework #2 Chapter 1: Exercises 7, 9 with modifications: for Exercise 7.a: 20 and 32 are changed as your ID number s last two digits and 60. for Exercise 9: 47x25 are change as 47x(your

More information

A Quick Review of Chapter 1

A Quick Review of Chapter 1 A Quick Review of Chapter 1 The core of computing is algorithms Algorithm A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts

More information

Algorithm Discovery and Design

Algorithm Discovery and Design Algorithm Discovery and Design Chapter 2 The Algorithmic Foundations of Computer Science Algorithms Algorithm Step-by-step method for accomplishing some task Operations used to construct algorithms Sequential,

More information

Invitation to Computer Science 7th Edition TEST BANK Schneider Gersting

Invitation to Computer Science 7th Edition TEST BANK Schneider Gersting Invitation to Computer Science 7th Edition TEST BANK Schneider Gersting Instant download at: Invitation to Computer Science 7th Edition SOLUTIONS MANUAL Schneider Gersting Instant download at: https://testbankreal.com/download/invitation-computer-science-7th-edition-test-bankschneider-gersting/

More information

Algorithm Discovery and Design. Why are Algorithms Important? Representing Algorithms. Chapter 2 Topics: What language to use?

Algorithm Discovery and Design. Why are Algorithms Important? Representing Algorithms. Chapter 2 Topics: What language to use? Algorithm Discovery and Design Chapter 2 Topics: Representing Algorithms Algorithmic Problem Solving CMPUT101 Introduction to Computing (c) Yngvi Bjornsson & Jia You 1 Why are Algorithms Important? If

More information

Chapter 8 Algorithms 1

Chapter 8 Algorithms 1 Chapter 8 Algorithms 1 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.

More information

8 Algorithms 8.1. Foundations of Computer Science Cengage Learning

8 Algorithms 8.1. Foundations of Computer Science Cengage Learning 8 Algorithms 8.1 Foundations of Computer Science Cengage Learning 8.2 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define

More information

REPRESENTING ALGORITHMS. REPRESENTING ALGORITHMS IB DP Computer science Standard Level ICS3U

REPRESENTING ALGORITHMS. REPRESENTING ALGORITHMS IB DP Computer science Standard Level ICS3U C A N A D I A N I N T E R N A T I O N A L S C H O O L O F H O N G K O N G 2.1 Introduction 2.2 Representing Algorithms algorithm should be clear, precise, and unambiguous one possibility is to use the

More information

Algorithms. Chapter 8. Objectives After studying this chapter, students should be able to:

Algorithms. Chapter 8. Objectives After studying this chapter, students should be able to: Objectives After studying this chapter, students should be able to: Chapter 8 Algorithms Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.

More information

Chapter 6 Programming the LC-3

Chapter 6 Programming the LC-3 Chapter 6 Programming the LC-3 Based on slides McGraw-Hill Additional material 4/5 Lewis/Martin Aside: Booting the Computer How does it all begin? We have LC-3 hardware and a program, but what next? Initial

More information

SNS COLLEGE OF ENGINEERING,

SNS COLLEGE OF ENGINEERING, SNS COLLEGE OF ENGINEERING, COIMBATORE Department of Computer Science and Engineering QUESTION BANK(PART A) GE8151 - PROBLEM SOLVING AND PYTHON PROGRAMMING TWO MARKS UNIT-I 1. What is computer? Computers

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.8 Application: Algorithms Copyright Cengage Learning. All rights reserved. Application:

More information

Administrativia. CS107 Introduction to Computer Science. Readings. Algorithms. Expressing algorithms

Administrativia. CS107 Introduction to Computer Science. Readings. Algorithms. Expressing algorithms CS107 Introduction to Computer Science Lecture 2 An Introduction to Algorithms: and Conditionals Administrativia Lab access Searles 128: Mon-Friday 8-5pm (unless class in progress) and 6-10pm Sat, Sun

More information

Repetition Structures

Repetition Structures Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements

More information

STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode

STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode STUDENT OUTLINE Lesson 8: Structured Programming, Control Structures, if- Statements, Pseudocode INTRODUCTION: This lesson is the first of four covering the standard control structures of a high-level

More information

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III. 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III. 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING UNIT III 2 Marks PROBLEM SOLVING AND OFFICE AUTOMATION Planning the Computer Program Purpose Algorithm Flow Charts Pseudocode -Application Software Packages-

More information

Algorithms (Introduction)

Algorithms (Introduction) Algorithms (Introduction) Readings: [SG] Ch. 2 q Chapter Outline: 1. Chapter Goals 2. What are Algorithms 3. Pseudo-Code to Express Algorithms 4. Some Simple Algorithms 5. Examples of Algorithmic Problem

More information

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution.

Condition-Controlled Loop. Condition-Controlled Loop. If Statement. Various Forms. Conditional-Controlled Loop. Loop Caution. Repetition Structures Introduction to Repetition Structures Chapter 5 Spring 2016, CSUS Chapter 5.1 Introduction to Repetition Structures The Problems with Duplicate Code A repetition structure causes

More information

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful

More information

Control Statements. Musa M. Ameen Computer Engineering Dept.

Control Statements. Musa M. Ameen Computer Engineering Dept. 2 Control Statements Musa M. Ameen Computer Engineering Dept. 1 OBJECTIVES In this chapter you will learn: To use basic problem-solving techniques. To develop algorithms through the process of topdown,

More information

Loops and Files. Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz

Loops and Files. Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Loops and Files Chapter 04 MIT 12043, Fundamentals of Programming By: S. Sabraz Nawaz Chapter Topics o The Increment and Decrement Operators o The while Loop o Shorthand Assignment Operators o The do-while

More information

Iteration Part 1. Motivation for iteration. How does a for loop work? Execution model of a for loop. What is Iteration?

Iteration Part 1. Motivation for iteration. How does a for loop work? Execution model of a for loop. What is Iteration? Iteration Part 1 Motivation for iteration Display time until no more time left Iteration is a problemsolving strategy found in many situations. Keep coding until all test cases passed CS111 Computer Programming

More information

Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( ) MUHAMMAD BILAL ( ) ISIT:

Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( ) MUHAMMAD BILAL ( ) ISIT: Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( 1163135 ) MUHAMMAD BILAL (1163122 ) ISIT:www.techo786.wordpress.com CHAPTER: 3 NOTE: CONTROL STATEMENTS Question s Given below are Long

More information

CS 103 Unit 8b Slides

CS 103 Unit 8b Slides 1 CS 103 Unit 8b Slides Algorithms Mark Redekopp ALGORITHMS 2 3 How Do You Find a Word in a Dictionary Describe an efficient method Assumptions / Guidelines Let target_word = word to lookup N pages in

More information

YOLOP Language Reference Manual

YOLOP Language Reference Manual YOLOP Language Reference Manual Sasha McIntosh, Jonathan Liu & Lisa Li sam2270, jl3516 and ll2768 1. Introduction YOLOP (Your Octothorpean Language for Optical Processing) is an image manipulation language

More information

Chapter 2 - Control Structures

Chapter 2 - Control Structures Chapter 2 - Control Structures 1 Outline 2.1 Introduction 2.2 Algorithms 2.3 Pseudocode 2.4 Control Structures 2.5 if Selection Structure 2.6 if/else Selection Structure 2.7 while Repetition Structure

More information

Steps to program development

Steps to program development Automate processes - Programming Concepts and Design Steps to program development A computer program is a set of formal instructions, which the computer executes in order to carry out some designated task.

More information

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:

More information

CS102 Unit 2. Sets and Mathematical Formalism Programming Languages and Simple Program Execution

CS102 Unit 2. Sets and Mathematical Formalism Programming Languages and Simple Program Execution 1 CS102 Unit 2 Sets and Mathematical Formalism Programming Languages and Simple Program Execution 2 Review Show how "Hi!\n" would be stored in the memory below Use decimal to represent each byte Remember

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Assignment 4 Recursive and Sorting Methods Solutions Required Reading Java Foundations Chapter 13 Linked Structures Chapter 17 Recursion Chapter 18 Searching and Sorting Chapter 19 Trees Instructions PLEASE

More information

Structured Program Development in C

Structured Program Development in C 1 3 Structured Program Development in C 3.2 Algorithms 2 Computing problems All can be solved by executing a series of actions in a specific order Algorithm: procedure in terms of Actions to be executed

More information

G Programming Languages - Fall 2012

G Programming Languages - Fall 2012 G22.2110-003 Programming Languages - Fall 2012 Lecture 3 Thomas Wies New York University Review Last week Names and Bindings Lifetimes and Allocation Garbage Collection Scope Outline Control Flow Sequencing

More information

10/11/2013. Chapter 3. Objectives. Objectives (continued) Introduction. Attributes of Algorithms. Introduction. The Efficiency of Algorithms

10/11/2013. Chapter 3. Objectives. Objectives (continued) Introduction. Attributes of Algorithms. Introduction. The Efficiency of Algorithms Chapter 3 The Efficiency of Algorithms Objectives INVITATION TO Computer Science 1 After studying this chapter, students will be able to: Describe algorithm attributes and why they are important Explain

More information

Introduction. C provides two styles of flow control:

Introduction. C provides two styles of flow control: Introduction C provides two styles of flow control: Branching Looping Branching is deciding what actions to take and looping is deciding how many times to take a certain action. Branching constructs: if

More information

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments

More information

CS187 - Science Gateway Seminar for CS and Math

CS187 - Science Gateway Seminar for CS and Math CS187 - Science Gateway Seminar for CS and Math Fall 2013 Class 6 Sep. 19, 2013 Programming and Programming Languages Why, How and What? A programming language is a formal language (vs. natural language)

More information

Control Structures. Lecture 4 COP 3014 Fall September 18, 2017

Control Structures. Lecture 4 COP 3014 Fall September 18, 2017 Control Structures Lecture 4 COP 3014 Fall 2017 September 18, 2017 Control Flow Control flow refers to the specification of the order in which the individual statements, instructions or function calls

More information

Outline. Program development cycle. Algorithms development and representation. Examples.

Outline. Program development cycle. Algorithms development and representation. Examples. Outline Program development cycle. Algorithms development and representation. Examples. 1 Program Development Cycle Program development cycle steps: Problem definition. Problem analysis (understanding).

More information

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models, and Applications for Distributed Systems M Control Structures Intro. Sequential execution Statements are normally executed one

More information

BIL101E: Introduction to Computers and Information systems Lecture 8

BIL101E: Introduction to Computers and Information systems Lecture 8 BIL101E: Introduction to Computers and Information systems Lecture 8 8.1 Algorithms 8.2 Pseudocode 8.3 Control Structures 8.4 Decision Making: Equality and Relational Operators 8.5 The if Selection Structure

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba Before writing a program to solve a problem, have a thorough understanding of the problem and a carefully planned approach to solving it. Understand the types of building

More information

Flow Charts. Visual Depiction of Logic Flow

Flow Charts. Visual Depiction of Logic Flow Flow Charts Visual Depiction of Logic Flow Flow Charts Describe a sequence of events using pictures Often associated with computer programs, but are quite common in other fields General way to depict a

More information

C++ Programming: From Problem Analysis to Program Design, Third Edition

C++ Programming: From Problem Analysis to Program Design, Third Edition C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 5: Control Structures II (Repetition) Why Is Repetition Needed? Repetition allows you to efficiently use variables Can input,

More information

Control Structures in Java if-else and switch

Control Structures in Java if-else and switch Control Structures in Java if-else and switch Lecture 4 CGS 3416 Spring 2017 January 23, 2017 Lecture 4CGS 3416 Spring 2017 Selection January 23, 2017 1 / 26 Control Flow Control flow refers to the specification

More information

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I AL GHURAIR UNIVERSITY College of Computing CSC 209 JAVA I week 3- Control Statements: Part I Objectives: To use the if and if...else selection statements to choose among alternative actions. To use the

More information

Chapter 5: Control Structures II (Repetition) Objectives (cont d.) Objectives. while Looping (Repetition) Structure. Why Is Repetition Needed?

Chapter 5: Control Structures II (Repetition) Objectives (cont d.) Objectives. while Looping (Repetition) Structure. Why Is Repetition Needed? Chapter 5: Control Structures II (Repetition) Objectives In this chapter, you will: Learn about repetition (looping) control structures Explore how to construct and use countercontrolled, sentinel-controlled,

More information

CS 103 Lecture 4 Slides

CS 103 Lecture 4 Slides 1 CS 103 Lecture 4 Slides Algorithms Mark Redekopp ARRAYS 2 3 Need for Arrays If I want to keep the score of 100 players in a game I could declare a separate variable to track each one s score: int player1

More information

Conditionals and Recursion. Python Part 4

Conditionals and Recursion. Python Part 4 Conditionals and Recursion Python Part 4 Modulus Operator Yields the remainder when first operand is divided by the second. >>>remainder=7%3 >>>print (remainder) 1 Boolean expressions An expression that

More information

Java. Programming: Chapter Objectives. Why Is Repetition Needed? Chapter 5: Control Structures II. Program Design Including Data Structures

Java. Programming: Chapter Objectives. Why Is Repetition Needed? Chapter 5: Control Structures II. Program Design Including Data Structures Chapter 5: Control Structures II Java Programming: Program Design Including Data Structures Chapter Objectives Learn about repetition (looping) control structures Explore how to construct and use count-controlled,

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 01: Procedural Programming MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Procedural Programming 2 Introduction Procedural Programming: General Overview Procedural Programming:

More information

Structured Program Development

Structured Program Development Structured Program Development Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Outline Introduction The selection statement if if.else switch The

More information

Chapter 1: An Introduction to Computer Science

Chapter 1: An Introduction to Computer Science Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition Objectives In chapter 1, you will learn about One definition of computer science Algorithms Organization

More information

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section

More information

What you learned so far. Loops & Arrays efficiency for statements while statements. Assignment Plan. Required Reading. Objective 2/3/2018

What you learned so far. Loops & Arrays efficiency for statements while statements. Assignment Plan. Required Reading. Objective 2/3/2018 Loops & Arrays efficiency for statements while statements Hye-Chung Kum Population Informatics Research Group http://pinformatics.org/ License: Data Science in the Health Domain by Hye-Chung Kum is licensed

More information

SET DEFINITION 1 elements members

SET DEFINITION 1 elements members SETS SET DEFINITION 1 Unordered collection of objects, called elements or members of the set. Said to contain its elements. We write a A to denote that a is an element of the set A. The notation a A denotes

More information

CSE 230 Computer Science II (Data Structure) Introduction

CSE 230 Computer Science II (Data Structure) Introduction CSE 230 Computer Science II (Data Structure) Introduction Fall 2017 Stony Brook University Instructor: Shebuti Rayana Basic Terminologies Data types Data structure Phases of S/W development Specification

More information

There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions.

There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions. Introduction In the programs that we have dealt with so far, all statements inside the main function were executed in sequence as they appeared, one after the other. This type of sequencing is adequate

More information

Lexical Considerations

Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 6 Decaf Language Wednesday, September 7 The project for the course is to write a

More information

Chapter 5 Conditional and Iterative Statements. Statement are the instructions given to the computer to perform any kind of action.

Chapter 5 Conditional and Iterative Statements. Statement are the instructions given to the computer to perform any kind of action. Chapter 5 Conditional and Iterative Statements Statement Statement are the instructions given to the computer to perform any kind of action. Types of Statement 1. Empty Statement The which does nothing.

More information

BioBIKE Language Syntax Working with large numbers of items: Mapping and Loops

BioBIKE Language Syntax Working with large numbers of items: Mapping and Loops BioBIKE Language Syntax Working with large numbers of items: Mapping and Loops II. Loops II.A. Overview of loops by example Implicit mapping is simple: just replace a single item with a set of items. Explicit

More information

1 Lexical Considerations

1 Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Decaf Language Thursday, Feb 7 The project for the course is to write a compiler

More information

REPETITION CONTROL STRUCTURE LOGO

REPETITION CONTROL STRUCTURE LOGO CSC 128: FUNDAMENTALS OF COMPUTER PROBLEM SOLVING REPETITION CONTROL STRUCTURE 1 Contents 1 Introduction 2 for loop 3 while loop 4 do while loop 2 Introduction It is used when a statement or a block of

More information

Decision Making -Branching. Class Incharge: S. Sasirekha

Decision Making -Branching. Class Incharge: S. Sasirekha Decision Making -Branching Class Incharge: S. Sasirekha Branching The C language programs presented until now follows a sequential form of execution of statements. Many times it is required to alter the

More information

Chapter 3 Structured Program Development

Chapter 3 Structured Program Development 1 Chapter 3 Structured Program Development Copyright 2007 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 3 - Structured Program Development Outline 3.1 Introduction

More information

RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 97 INSTRUCTIONS

RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 97 INSTRUCTIONS RYERSON POLYTECHNIC UNIVERSITY DEPARTMENT OF MATH, PHYSICS, AND COMPUTER SCIENCE CPS 710 FINAL EXAM FALL 97 STUDENT ID: INSTRUCTIONS Please write your student ID on this page. Do not write it or your name

More information

10/9/2012. Comparison and Logical Operators The if Statement The if else Statement Nested if Statements The switch case. switch case Statement

10/9/2012. Comparison and Logical Operators The if Statement The if else Statement Nested if Statements The switch case. switch case Statement 1. 2. 3. 4. I l Implementing ti Control C t ll Logic i iin C# 5 5. Comparison and Logical Operators The if Statement The if Statement Nested if Statements The switch case switch case Statement 2 Operator

More information

Engineering program development. Edited by Péter Vass

Engineering program development. Edited by Péter Vass Engineering program development Edited by Péter Vass Introduction Question: Why engineering program development may be useful for a PhD student in Earth Sciences? Counter-argument: In these days a wide

More information

(2 1) What does evaluate to? What does evaluate to? What does evaluate to?

(2 1) What does evaluate to? What does evaluate to? What does evaluate to? Order of Operations (Time 20 minutes) Math is a language, just like English, Spanish, or any other language. We use nouns, like "bread", "tomato", "mustard" and "cheese" to describe physical objects. Math

More information

C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 5: Control Structures II (Repetition)

C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 5: Control Structures II (Repetition) C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 5: Control Structures II (Repetition) Objectives In this chapter, you will: Learn about repetition (looping) control structures

More information

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017 Loops! Loops! Loops! Lecture 5 COP 3014 Fall 2017 September 25, 2017 Repetition Statements Repetition statements are called loops, and are used to repeat the same code mulitple times in succession. The

More information

5 The Control Structure Diagram (CSD)

5 The Control Structure Diagram (CSD) 5 The Control Structure Diagram (CSD) The Control Structure Diagram (CSD) is an algorithmic level diagram intended to improve the comprehensibility of source code by clearly depicting control constructs,

More information

Computer System and programming in C

Computer System and programming in C Approaches to Problem Solving Concept of algorithm and flow charts ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence

More information

Office Wo Office W r o d r 2007 Revi i ng and R d Refifini ng a D Document

Office Wo Office W r o d r 2007 Revi i ng and R d Refifini ng a D Document Office Word 2007 Lab 2 Revising i and Refining i a Document In this lab, the student will learn more about editing documents They will learn to use many more of the formatting features included in Office

More information

Method & Tools for Program Analysis & Design

Method & Tools for Program Analysis & Design Method & Tools for Program Analysis & Design TMB208 Pemrograman Teknik Kredit: 3 (2-3) 1 Programming Logic and Design, Introductory, Fourth Edition 2 1 Programming Methods Based on structures of programming

More information

Loops / Repetition Statements

Loops / Repetition Statements Loops / Repetition Statements Repetition statements allow us to execute a statement multiple times Often they are referred to as loops C has three kinds of repetition statements: the while loop the for

More information

Chapter 5. Algorithms Pearson Addison-Wesley. All rights reserved

Chapter 5. Algorithms Pearson Addison-Wesley. All rights reserved Chapter 5 Algorithms 2007 Pearson Addison-Wesley. All rights reserved Chapter 5: Algorithms 5.1 The Concept of an Algorithm 5.2 Algorithm Representation 5.3 Algorithm Discovery 5.4 Iterative Structures

More information

SNS COLLEGE OF ENGINEERING

SNS COLLEGE OF ENGINEERING SNS COLLEGE OF ENGINEERING DEPARTMENT OF CSE Presented By Thillaiarasu.N SCRAMBLE 2 Solution 3 What is Pseudocode? 4 Consists of: Short Readable Formally styled English language Used for: Explaining the

More information

Lecture Transcript While and Do While Statements in C++

Lecture Transcript While and Do While Statements in C++ Lecture Transcript While and Do While Statements in C++ Hello and welcome back. In this lecture we are going to look at the while and do...while iteration statements in C++. Here is a quick recap of some

More information

Algorithms and Flowcharts

Algorithms and Flowcharts UNIT 2 Chapter 1 Algorithms and Flowcharts After studying this lesson, the students will be able to understand the need of Algorithm and Flowcharts; solve problems by using algorithms and flowcharts; get

More information

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Program Development Cycle Program development

More information

Lexical Considerations

Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2010 Handout Decaf Language Tuesday, Feb 2 The project for the course is to write a compiler

More information

LECTURE 5 Control Structures Part 2

LECTURE 5 Control Structures Part 2 LECTURE 5 Control Structures Part 2 REPETITION STATEMENTS Repetition statements are called loops, and are used to repeat the same code multiple times in succession. The number of repetitions is based on

More information

(Refer Slide Time: 1:27)

(Refer Slide Time: 1:27) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data

More information

Why Is Repetition Needed?

Why Is Repetition Needed? Why Is Repetition Needed? Repetition allows efficient use of variables. It lets you process many values using a small number of variables. For example, to add five numbers: Inefficient way: Declare a variable

More information

Understanding the problem

Understanding the problem 2.1.1 Problem solving and design An algorithm is a plan, a logical step-by-step process for solving a problem. Algorithms are normally written as a flowchart or in pseudocode. The key to any problem-solving

More information

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Introduction to Programming Language Concepts

More information

[Page 177 (continued)] a. if ( age >= 65 ); cout << "Age is greater than or equal to 65" << endl; else cout << "Age is less than 65 << endl";

[Page 177 (continued)] a. if ( age >= 65 ); cout << Age is greater than or equal to 65 << endl; else cout << Age is less than 65 << endl; Page 1 of 10 [Page 177 (continued)] Exercises 4.11 Identify and correct the error(s) in each of the following: a. if ( age >= 65 ); cout

More information

Designing Loops and General Debug Pre-Defined Functions in C++ CS 16: Solving Problems with Computers I Lecture #6

Designing Loops and General Debug Pre-Defined Functions in C++ CS 16: Solving Problems with Computers I Lecture #6 Designing Loops and General Debug Pre-Defined Functions in C++ CS 16: Solving Problems with Computers I Lecture #6 Ziad Matni Dept. of Computer Science, UCSB Announcements Homework #5 due today Lab #3

More information

STUDENT LESSON A12 Iterations

STUDENT LESSON A12 Iterations STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of

More information

Key Points. COSC 123 Computer Creativity. Java Decisions and Loops. Making Decisions Performing Comparisons. Making Decisions

Key Points. COSC 123 Computer Creativity. Java Decisions and Loops. Making Decisions Performing Comparisons. Making Decisions COSC 123 Computer Creativity Java Decisions and Loops Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) A decision is made by evaluating a condition in an if/

More information

Fundamentals of Programming Session 13

Fundamentals of Programming Session 13 Fundamentals of Programming Session 13 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2014 These slides have been created using Deitel s slides Sharif University of Technology Outlines

More information

Searching Algorithms/Time Analysis

Searching Algorithms/Time Analysis Searching Algorithms/Time Analysis CSE21 Fall 2017, Day 8 Oct 16, 2017 https://sites.google.com/a/eng.ucsd.edu/cse21-fall-2017-miles-jones/ (MinSort) loop invariant induction Loop invariant: After the

More information

Course Description This one-day instructor-led course provides students with an overview of the features and functions of Microsoft Word 2010.

Course Description This one-day instructor-led course provides students with an overview of the features and functions of Microsoft Word 2010. Module Title : Course 50541A : Learn Microsoft Word 2010 Step by Step, Level 1 Duration : 1 day Course Description This one-day instructor-led course provides students with an overview of the features

More information

Control Structures in Java if-else and switch

Control Structures in Java if-else and switch Control Structures in Java if-else and switch Lecture 4 CGS 3416 Spring 2016 February 2, 2016 Control Flow Control flow refers to the specification of the order in which the individual statements, instructions

More information

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration STATS 507 Data Analysis in Python Lecture 2: Functions, Conditionals, Recursion and Iteration Functions in Python We ve already seen examples of functions: e.g., type()and print() Function calls take the

More information

Section A. 1. is the alignment where the text is aligned from the left edge and ragged from the right edge.

Section A. 1. is the alignment where the text is aligned from the left edge and ragged from the right edge. ICT GRAND WORKSHEET- CLASS-5 2 nd Term - 2014-15 Chapters 5, 6, 7, 8 and 9. Fill in the blanks with the correct answers. Section A 1. is the alignment where the text is aligned from the left edge and ragged

More information

Islamic University of Gaza Computer Engineering Dept. C++ Programming. For Industrial And Electrical Engineering By Instructor: Ruba A.

Islamic University of Gaza Computer Engineering Dept. C++ Programming. For Industrial And Electrical Engineering By Instructor: Ruba A. Islamic University of Gaza Computer Engineering Dept. C++ Programming For Industrial And Electrical Engineering By Instructor: Ruba A. Salamh Chapter Four: Loops 2 Chapter Goals To implement while, for

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information