Teori Bahasa dan Automata Lecture 13: Algorithm

Slides:



Advertisements
Similar presentations
ALGORITHMS AND FLOWCHARTS
Advertisements

ALGORITHMS AND FLOWCHARTS
PROBLEM SOLVING TECHNIQUES
1.4 Programming Tools Flowcharts Pseudocode Hierarchy Chart
Chapter 2 - Problem Solving
ALGORITHMS AND FLOWCHARTS
Chapter 2 - Problem Solving
8 Algorithms Foundations of Computer Science ã Cengage Learning.
Chapter 2- Visual Basic Schneider
©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 The Origins of “Algorithm”
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 3 - Structured Program Development Outline.
Pseudocode and Algorithms
Developing logic (Examples on algorithm and flowchart)
Adapted from slides by Marie desJardins
An ordered sequence of unambiguous and well-defined instructions that performs some task and halts in finite time Let's examine the four parts of this.
 2003 Prentice Hall, Inc. All rights reserved.  2004 Prentice Hall, Inc. All rights reserved. Chapter 8 - JavaScript: Control Statements I Outline 8.1.
©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 Understand the concept of an algorithm. Define and use the three constructs for developing.
Chapter 8 Algorithms. Understand the concept of an algorithm. Define and use the three constructs for developing algorithms: sequence, decision, and repetition.
Chapter 2 Problem Solving On A Computer 2.1 Problem Solving Steps Solving a problem on a computer requires steps similar to those followed when solving.
ALGORITHM CHAPTER 8. Chapter Outlines and Objectives  Define an algorithm and relate it to problem solving.  Define three construct and describe their.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Lecture 2: Logical Problems with Choices. Problem Solving Before writing a program Have a thorough understanding of the problem Carefully plan an approach.
PSEUDOCODE C Programming Technique – Firdaus-Harun.com.
1 The Programming Layer 2 Outline Concepts –Definition –How to develop an algorithm –Essential features Three Constructs Algorithm Representation –Pseudocode.
ALGORITHMS AND FLOWCHARTS CSCI 105 – Computer Fluency.
Chapter 2: General Problem Solving Concepts
Lecture 4: Calculating by Iterating. The while Repetition Statement Repetition structure Programmer specifies an action to be repeated while some condition.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 8 - JavaScript: Control Statements I Outline 8.1 Introduction 8.2 Algorithms 8.3 Pseudocode 8.4.
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.
Algorithms & FlowchartsLecture 10. Algorithm’s CONCEPT.
1 Programming Tools Flowcharts Pseudocode Hierarchy Chart Direction of Numbered NYC Streets Algorithm Class Average Algorithm.
Introduction to Computing Dr. Nadeem A Khan. Lecture 2.
Chapter 8 Algorithms.
Chapter 5 Algorithms (1) Introduction to CS 1 st Semester, 2012 Sanghyun Park.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Chapter 2 - VB 2005 by Schneider- modified by S. Jane '081 Chapter 2 - Problem Solving 2.1 Program Development Cycle 2.2 Programming Tools.
©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 CONCEPTCONCEPT 8.1.
Examples of Flow Charts Pseudocodes
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Think First, Code Second Understand the problem Work out step by step procedure for solving the problem (algorithm) top down design and stepwise refinement.
1 Algorithms. Algorithms Introduction Recipe for baking a cake…. 2 sticks butter 2 cups flour 1 cup sugar 4 eggs 1 cup milk 1 tsp baking powder Cocoa.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 5.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 3 - Structured Program Development Outline.
Program design Program Design Process has 2 phases:
GC101 Introduction to computers and programs
Chapter 2 Data Representation.
while Repetition Structure
ALGORITHMS AND FLOWCHARTS
COVERED BASICS ABOUT ALGORITHMS AND FLOWCHARTS
Introduction to Computing
CS111 Computer Programming
Chapter 8 - JavaScript: Control Statements I
Chapter 4: Control Structures
Numbering System TODAY AND TOMORROW 11th Edition
ALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTS
Structured Program
Programming in Pseudocode
ALGORITHMS AND FLOWCHARTS
Introduction to Algorithms and Programming
PROBLEM ANALYSIS.
Introduction to Programming
EPSII 59:006 Spring 2004.
Teori Bahasa dan Automata Lecture 4: Non-deterministic Finite Automata
Teori Bahasa dan Automata Lecture 6: Regular Expression
Structural Program Development: If, If-Else
Presentation transcript:

Teori Bahasa dan Automata Lecture 13: Algorithm By: Nur Uddin, Ph.D

Chapter 8 Algorithms

OBJECTIVES After reading this chapter, the reader should be able to: Understand the concept of an algorithm. Define and use the three constructs for developing algorithms: sequence, decision, and repetition. Understand and use three tools to represent algorithms: flowchart, pseudocode, and structure chart. Understand the concept of modularity and subalgorithms. List and comprehend common algorithms.

8.1 CONCEPT

Informal definition of an algorithm Figure 8-1 Informal definition of an algorithm used in a computer

Finding the largest integer Figure 8-2 Finding the largest integer among five integers

Defining actions in FindLargest algorithm Figure 8-3 Defining actions in FindLargest algorithm

Figure 8-4 FindLargest refined

Generalization of FindLargest Figure 8-5 Generalization of FindLargest

8.2 THREE CONSTRUCTS

Figure 8-6 Three constructs

8.3 ALGORITHM REPRESENTATION

Flowcharts for three constructs Figure 8-7 Flowcharts for three constructs

Pseudocode for three constructs Figure 8-8 Pseudocode for three constructs

Write an algorithm in pseudocode that finds the average of two numbers Example 1 Write an algorithm in pseudocode that finds the average of two numbers Solution See Algorithm 8.1 on the next slide.

Algorithm 8.1: Average of two AverageOfTwo Input: Two numbers Add the two numbers Divide the result by 2 Return the result by step 2 End

Write an algorithm to change a numeric grade to a pass/no pass grade. Example 2 Write an algorithm to change a numeric grade to a pass/no pass grade. Solution See Algorithm 8.2 on the next slide.

Algorithm 8.2: Pass/no pass Grade Pass/NoPassGrade Input: One number if (the number is greater than or equal to 70) then 1.1 Set the grade to “pass” else 1.2 Set the grade to “nopass” End if Return the grade End

Write an algorithm to change a numeric grade to a letter grade. Example 3 Write an algorithm to change a numeric grade to a letter grade. Solution See Algorithm 8.3 on the next slide.

Algorithm 8.3: Letter grade LetterGrade Input: One number 1. if (the number is between 90 and 100, inclusive) then 1.1 Set the grade to “A” End if 2. if (the number is between 80 and 89, inclusive) then 2.1 Set the grade to “B” Continues on the next slide

Letter grade (continued) Algorithm 8.3: Letter grade (continued) 3. if (the number is between 70 and 79, inclusive) then 3.1 Set the grade to “C” End if 4. if (the number is between 60 and 69, inclusive) then 4.1 Set the grade to “D” Continues on the next slide

Letter grade (continued) Algorithm 8.3: Letter grade (continued) 5. If (the number is less than 60) then 5.1 Set the grade to “F” End if 6. Return the grade End

See Algorithm 8.4 on the next slide. Example 4 Write an algorithm to find the largest of a set of numbers. You do not know the number of numbers. Solution See Algorithm 8.4 on the next slide.

Algorithm 8.4: Find largest FindLargest Input: A list of positive integers Set Largest to 0 while (more integers) 2.1 if (the integer is greater than Largest) then 2.1.1 Set largest to the value of the integer End if End while Return Largest End

Write an algorithm to find the largest of 1000 numbers. Example 5 Write an algorithm to find the largest of 1000 numbers. Solution See Algorithm 8.5 on the next slide.

Algorithm 8.5: Find largest of 1000 numbers FindLargest Input: 1000 positive integers Set Largest to 0 Set Counter to 0 while (Counter less than 1000) 3.1 if (the integer is greater than Largest) then 3.1.1 Set Largest to the value of the integer End if 3.2 Increment Counter End while Return Largest End