# DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.

## Presentation on theme: "DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING."— Presentation transcript:

DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING

CONTENTS COMPUTER PROGRAMMING CONCEPTS PROBLEM SOLVING OVERVIEW ALGORITHM OVERVIEW (PSEUDOCODE & FLOWCHART)

What is Computer Programming? Writing software, computer programs, is describing how to do something. It is a lot like writing down the steps it takes to do something - a process. So, writing a computer program can be like composing music, like building a house, like creating lots of stuff.

Just like we have many different languages in use throughout the world for us humans to communicate with, there are different languages that we use to communicate with a computer. Computer languages are used to tell the computer what to do, you instruct it. Programming Language

We need a language to communicate with a computer. Computer languages are used to tell the computer what to do, you instruct it. Once it is written, the programmer uses a compiler to turn it into a language that the computer can understand. Most software written today is using high level language such as C++, JAVA and etc. Programming Language

Top Programming Language Rank http://codeeval.com

History of Programming

What is Problem Solving ? The process of working through details of a problem to reach a solution. Problem solving may include mathematical or systematic operations and can be a gauge of an individual's critical thinking skills. 14/08/14

Steps in Program Development 1.Define the problem 2.Outline the solution 3.Develop the outline into an algorithm 4.Test the algorithm for correctness 5.Code the algorithm into a specific programming language 6.Run the program on the computer 7.Document and maintain the program

Steps 1: Define the Problem This steps involves carefully reading and rereading the problem until you understand completely what is required The problem should be divided into three (3) separate components: –The inputs –The outputs –The processing steps to produce the required output

Steps 2: Outline the Solution Once the problem defined, you may decide to break it down into smaller tasks or steps, and establish a solution outline –The major processing steps involved –The major subtasks (if any) –The user interface (if any) –The major control structures (e.g. repetition loop) –The major variables and record structure –The mainline logic

Steps 3: Outline into Algorithm The solution outline developed in Steps 2 is then expanded into an algorithm: a set of precise steps that describe exactly the tasks to be performed and the order in which they are to be carried out

Steps 4: Test the Algorithm The main purpose of desk checking the algorithm is to identify major logic errors early, so that they may be easily corrected Test data needs to be walked through each step in the algorithm to check that the instructions described in the algorithm will actually do what they are supposed to

Steps 5: Code the Algorithm Only after all design considerations in the previous four steps have been met should you actually start to code the program into your chosen programming language.

Steps 6: Run the program This step uses a programmer compiler and programmer-designed test data to machine test the code for syntax errors This steps may need to be performed several times until you are satisfied that the program is running as required.

Steps 7: Document and maintain the program Documentation includes both external documentation (such as hierarchy charts, the solution algorithm and test data result) and internal documentation that may have been coded in the program. Program maintenance refers to changes that may need to be made to a program throughout its life.

Algorithm Overview An algorithm is like a recipe; it lists the steps involved in accomplishing a task In a programming, it is a set of detailed, unambiguous and ordered instructions developed to describe the processes necessary to produce desired output Written in simple English

Important Properties of Algorithms Correct –always returns the desired output for all legal instances of the problem. Unambiguous Precise Efficient –Can be measured in terms of Time Space –Time tends to be more important

Algorithm Example For example, if you want to instruct someone to add up a list of prices on a pocket calculator, you might write: –Turn on calculator –Clear calculator –Repeat the following instructions Key in ringgit amount Key in decimal point Key in cents amount Press addition (+) key –Until all prices have been entered –Write down total price –Turn off calculator

14/08/14