Chap01 - Intro To Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

C++ Programming:

Problem Solving and Programming

Chapter 1
Introduction To Programming
Objectives
In this chapter you will:
• Program and software
• Learn about the language of a computer
• Learn about the evolution of programming languages
• Examine high-level programming languages
• Discover what a compiler is and what it does
• Examine how a high-level language program is processed
• Compilation, executing and debugging
• Good programming habits

2
Computer Components

Input

Hardware

Output Process
Computer Operations

• Data
Processing • Information
• Keyboard data • Validation • Reports
• Mouse click • Calculation • Audio
• Others • Storing
• Others
Input Output
Program and Software

Computer – programmable machine designed to


follow instructions
Program – instructions in computer memory which
computer follows to perform a task
Programmer – person who writes instructions
(programs) to make computer perform a task

So, without programmers, no programs; without


programs, a computer cannot do anything

5
Program and Software

• Software is a collection of programs and data that


instruct the computer what to do
• Categories of software:
− System software: Operating System that manage
the computer hardware and the programs that run
on them. Examples: Windows, UNIX, Linux
− Application software: programs that provide
services to the user. Examples : word processing,
games, programs to solve specific problems

6
Program and Software

● The programmer uses Computer / Programming


Language to write programs
● Syntax refers to the spelling and grammars of a
programming language
● Algorithm is a sequence of instructions written for
computer to solve a problem.

7
Algorithms (Example)
Steps for a customer to buy a movie ticket
1. Queue up
2. Go to the designated counter
3. Order ticket
➔ Specify movie
➔ Specify time
➔ Specify number of tickets
1. Make payment
2. Get tickets
3. Leave the counter
Computer Languages

● Categories of computer languages:


○ Machine language
○ Symbolic/Assembly language
○ High-level language

9
Evolution of Computer Languages

10
Machine Language

• The computer can only understand and execute


machine language instructions
• Machine language instructions consist of binary
numbers (0s and 1s) such as
10110100000101
• It is platform-dependent
• Rather than writing programs in machine
language which is very hard, the programmers
use other programming languages

11
Symbolic/Assembly Language
• Use symbolic codes, mnemonic and meaning
abbreviations. It is also platform-dependent
• Assembler: used to translate a program written in
assembly language into machine language for
execution by the computer
• Easier to program

12
High-Level Language

• Use English-like codes and mathematical


operators
• It is platform-independent
• High-level languages include Python, C++, C, C#,
Java, Swift, etc
• Compiler: used to translate a program written in a
high-level language to machine language
• Very easy to program

13
Creating a Simple Program
• Program coding
− Text editor (such as Notepad)
− Integrated Development Environment (IDE)
• Type of application
− Console (command line)
− Windows (desktop)
− Web
Example of IDE - Visual Studio
Build: To compile code
Build

Run: To execute program

Text editor: write code

Output: Check error/ status


Console Application
Compilation process of C++ program

1) Source code is written in Editor


Library
C++

2) Convert the C++ code into Compiler


object code

3) Linker links the object code disk


Linker
with libraries

4) Loader puts program in


memory Loader

Memory
5) Ready to run
CPU
(platform-dependent)
17
Program Development

• To develop a program, programmer must


complete the following steps:
− Understand the problem
− Develop a solution
− Write the program
− Test the program

18
Program Development
Understand
the problem Understand the problem
• Carefully study the user
Develop a
requirements.
solution • Understand what he wants the
program to do and what kind of
Write the output he wants to have.
program

Test the
program
19
Program Development
Understand Develop a solution
the problem
• Design the logic of the program by
using tools such as:
Develop a
solution
− Structure chart
− Pseudocode
− Flowchart
Write the
program

Test the
program
20
Program Development
Understand Write the program
the problem
• Code the actual program by using
the preferred programming
Develop a language.
solution

Write the
program

Test the
program
21
Program Development
Understand Test the program
the problem
• Run and test the program to
ensure it is free of logical errors.
Develop a
solution

Write the
program

Test the
program
22
Example 1-1 : Rectangle

• Write a C++ program to find the area and


perimeter of a rectangle
• The area and perimeter of the rectangle are given
by the following formulas:

perimeter = 2 * (length + width)


area = length * width

23
Tool: Structure Chart

• A hierarchy chart that shows the functional flow


through the program.
• Shows how the program is broken into logical
steps. Each step will be a separate module.

24
Example 1.1: Structure chart
Area &
perimeter of
rectangular

Get length & Calculate area Display area


width & perimeter & perimeter
Tool: Pseudocode (Algorithm)

• Use English words to convey program logic.


• Contains the logical steps / algorithms to
accomplish the task.

26
Example 1-1 : Pseudocode
Start
1. Get length of the rectangle
2. Get width of the rectangle
3. perimeter = 2 * (length + width)
4. area = length * width
5. Display area and perimeter
End

27
Tool: Flowchart

• Use standard graphical symbols to represent the


logical flow of data through a program.

28
Flowchart Symbols

Input/Output Processing Module

Terminal Decision Flowlines

On-page Off-page
Connector Connector
Example 1.1: Flowchart
START

Read
length &
width

area =
Length * width

perimeter =
2 * (Length + width)

Display area
& perimeter

END
Example 1-1 : C++ program
1. #include <iostream>
2. using namespace std;
3. main() {
4. int length, width, area, perimeter;
5. cout<<"Enter length and width of
rectangle\n";
6. cin>>length;
7. cin>>width;
8. area = length * width;
9. perimeter = 2*(length + width);
10. cout<< "Area = "<<area;
11. cout<< "Perimeter = "<<perimeter;
12. return 0;
13. }

31
Exercise

By using structure chart, pseudocode and


flowchart, find the total and product of 2
numbers. Display the result.

32
Debugging

• To find any error in the program


• Bugs – error, also known as exception, occurs
during compilation or execution.
• Common programming errors:
− Syntax errors (Compilation errors)
− Run-time errors
− Logic errors
Common programming errors
• Syntax Errors
− Code violation during compilation, e.g.:
• Missing semicolon (;)
• Undefined variable
• Did not close ’/*’ with ‘/’
• Run-time Errors
− Illegal operation occur during execution , e.g.:
• Divide a number by zero
• Open a non-existing file
• Write to a non-existing printer
Common programming errors
• Logic Errors
− Passed Syntax and Run-time Errors but produce
false result
− It is usually caused by the algorithm of the
program
// to calculate the average
int a =20;
int b = 34;
cout << “The average is ” << (a + b); ← Used wrong
formula
C++ Basic Syntax
1. #include <iostream> //allow input/output
preprocessor directive
2. int main() //starting point
3. { variable
4. int mark; // variable declaration Escape sequence
Data type
5. std::cout << “Sample: \n Enter mark:”; //display
6. std::cin >> mark; //get input comment
7. std::cout << “Mark is ” << Mark << std::endl;
8. return 0; //end point
9. } Use semicolon (;) to end a statement
Good Programming Habits

• Use program comments


• Use meaningful identifiers
• Design clear statements
• Write clear message & clear instruction
• Backup your code

You might also like