1. Trang chủ
  2. » Công Nghệ Thông Tin

C++ lecture 2

24 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 344,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 You must verify the developed algorithm, i.e.. Algorithm Representation – Human Language Use your own language to represent the steps of the developed algorithm.. The Hashemite Univ

Trang 2

 Program development cycle.

 Algorithms development and

representation.

 Examples.

Trang 3

 Recall that such cycle and all the techniques

presented in this lecture are the same for any

programming language you want to use not only

Trang 4

Problem Definition

 To understand the problem is half the solution.

 Describe it by precise, up to the

point statements that will make

both analyzing and solving the

problem easier and clearer.

Trang 5

Problem Analysis

 Determine the inputs, outputs, and the required operations.

 Explore all possible solutions.

 Pick the easiest, in terms of

implementation cost (space, time) one.

Trang 6

Algorithm Development

 Algorithm is a procedure that determines the:

 Actions to be executed

 Order in which these actions are to be executed (which

is called program control and in industry it is called

work flow).

 So, it is a plan for solving the given problem

 You must validate the developed algorithm, i.e make sure that it solves the correct problem

 You must verify the developed algorithm, i.e

make sure that it produces correct results

 You must check the feasibility (in terms of the

needed resources, ease of implementation, ease

of understanding and debugging, its expected execution time, etc.) of the developed algorithm

Trang 7

Algorithm Representation – Human Language

 Use your own language to

represent the steps of the

developed algorithm.

 Example: adding two integers:

1 Prompt the user to enter two numbers

2 Add them and store the result

3 Display the sum to the user on the screen

Trang 8

The Hashemite University 8

Algorithm Representation – Pseudocode

 Artificial, informal language used to develop algorithms

 Kind of structured English for describing

algorithms

 Middle approach between human language

and C++ code

 It is convenient and user friendly

 Not actually executed on computers

 Allows us to “think out” a program before

writing the code for it

 Usually easy to convert into a corresponding C++ program

Consists only of executable statements, i.e

no definitions or declarations

Trang 9

Pseudocode Notations I

 Input from keyboard: Get

 Input from file or memory location: Read

 Output to printer: Print

 Output to file: Write

 Output to screen: Display, Prompt (usually

Trang 10

Pseudocode Notations II

 Arithmetic computation:

 Either use exact operators (+, *, /, -) or

equivalent words of them ( add, multiply, divide, subtract ).

 Computations: either use Compute or represent the actual operation mathematically E.g

Compute average or avg = sum/count.

Trang 11

Pseudocode Examples

 Adding two numbers:

1 Prompt user for number1

2 Get number1

3 Prompt user for number2

4 Get number2

5 Add number1 and number2

6 Set sum to the result

7 Display sum

 Other examples (on board):

 Deciding the grade (A-F) of a student

Trang 12

The Hashemite University 12

 Pseudocode is preferred over flowcharts since:

 More readable.

 Can be converted into C++ code easier.

 Flow charts are very similar to the UML (Unified

Modeling Language) activity diagram with some differences in the used symbols

 UML is an industry standard for modeling software systems

 We will study flowcharts not activity diagrams in this course

Trang 13

Flowcharts Symbols

Trang 14

Flowchart Examples

 Numbers

addition

example.

Trang 15

Decision flow chart

Trang 16

Looping flow chart

Trang 17

Example III

 Write a program that reads three

numbers from a file If the

multiplication of these numbers is

greater than or equal their sum then print “Winner” on the screen”,

otherwise print “Loser” on the screen.

 Solution:

 On board.

Trang 18

Class Average Algorithm

grade-point average for a class

the sum of all grades divided by the

number of students

Output: Average grade

Input: Student grades

Processing: Find the sum of the grades;

count the number of students; calculate average

Trang 19

Flowchart

Trang 20

Program: Determine the average grade of a class

Initialize Counter and Sum to 0

Do While there are more grades

Get the next Grade

Add the Grade to the Sum

Add 1 to the Counter

Loop

Compute Average = Sum/Counter

Display Average

Trang 21

 Writing the source code of your solution

that is to convert the developed algorithm into code statements of the used language, i.e C++.

 Some useful tips:

 Make sure of using correct syntax.

 Use meaningful identifiers to make your code more readable.

 Add suitable documentation and comments.

 Make your code modular or structured as

possible.

Trang 22

Execution and Testing

 Compilation and debugging.

 Types of errors:

 Syntax errors (Compile time errors):

 Errors caught by compiler

 Logical errors (Runtime errors):

 Errors which have their effect at execution time

 Non-fatal logic errors

 program runs, but has incorrect output

 Fatal logic errors

 program exits prematurely

 Tracing to verify your program with

different sets of inputs.

Trang 23

 Not always applicable in education, i.e highly required in real world jobs.

 Update your code based on:

application more efficient and flexible.

Trang 24

Additional Notes

 This lecture covers the following

material from the textbook:

 Chapter 2: Sections 2.1 - 2.3

Ngày đăng: 12/10/2021, 21:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN