0% found this document useful (0 votes)
92 views

CSE 1062 Fundamentals of Programming Lecture #3: Spring 2017

This lecture introduces basic concepts of C++ programming including modular programs, the main function, identifiers, output using cout, data types, arithmetic operations, variables, and assignment operations. It discusses modules, functions, classes, identifiers, keywords, the structure of the main function, cout output, comments, integer, boolean, floating-point, and arithmetic data types. Examples are provided to illustrate various concepts.

Uploaded by

Alem Mezgebo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

CSE 1062 Fundamentals of Programming Lecture #3: Spring 2017

This lecture introduces basic concepts of C++ programming including modular programs, the main function, identifiers, output using cout, data types, arithmetic operations, variables, and assignment operations. It discusses modules, functions, classes, identifiers, keywords, the structure of the main function, cout output, comments, integer, boolean, floating-point, and arithmetic data types. Examples are provided to illustrate various concepts.

Uploaded by

Alem Mezgebo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

ASTU

CSE 1062 Fundamentals of Programming

Lecture #3

Spring 2017

Computer Science & Engineering Program


The School of EE & Computing
Adama Science & Technology University
ASTU

Basics of C++ Programming


– Modular Program
– The Main Function
– Identifiers
– Program Output using cout
– Data Types
– Arithmetic Operations
– Variables
– Assignment Operations

Case study: Radar Speed Trap, Heat Transfer

Reading assignment
– Chapter 2 of the textbook
– Section 3.1 from Chapter 3 of the textbook

2
Introduction to C++ ASTU

• Modular program: A program consisting


of interrelated segments (or modules)
arranged in a logical and understandable
form
– Easy to develop, correct, and modify
• Modules in C++ can be classes or
functions

3
Introduction to C++ ASTU

• Function: Accepts an input, processes


the input, and produces an output
– A function’s processing is encapsulated and
hidden within the function

4
Introduction to C++ ASTU

• Class: Contains both data and functions


used to manipulate the data
• Identifier: A name given to an element
of the language, such as a class or
function
– Rules for forming identifier names:
• First character must be a letter or underscore
• Only letters, digits, or underscores may follow
the initial letter (no blanks allowed)
• Keywords cannot be used as identifiers
• Maximum length of an identifier =
1024 characters

5
Introduction to C++ ASTU

• Keyword: A reserved name that


represents a built-in object or function of
the language

6
Introduction to C++ ASTU

• Examples of valid C++ identifiers:


degToRad intersect addNums
slope bessell multTwo
findMax density

• Examples of invalid C++ identifiers:


1AB3 (begins with a number)
E*6 (contains a special character)
while (this is a keyword)

7
Introduction to C++ ASTU

• Function names
– Require a set of parentheses at the end
– Can use mixed upper and lower case
– Should be meaningful, or be a mnemonic
• Examples of function names:
easy() c3po() r2d2() theForce()
• Note that C++ is a case-sensitive
language!

8
The main() Function ASTU

• Overall structure of a
C++ program contains
one function named
main(), called the
driver function
• All other functions are
invoked from main()

9
The main() Function ASTU

• Function header line: First line of a


function, which contains:
– The type of data returned by the function (if
any)
– The name of the function
– The type of data that must be passed into the
function when it is invoked (if any)
• Arguments: The data passed into a
function
• Function body: The statements inside a
function
– enclosed in braces
10
The main() Function ASTU

• Each statement inside the function must


be terminated with a semicolon
• return: A keyword causing the
appropriate value to be returned from
the function
• The statement return 0 in the main()
function causes the program to end

11
The main() Function ASTU

12
The cout Object ASTU

• cout object: An output object that


sends data to a standard output display
device

13
The cout Object ASTU

• Preprocessor command: Starts with a #


– Causes an action before the source code is
compiled into machine code
• #include <file name>
– Causes the named file to be inserted into the
source code
• C++ provides a standard library
– with many pre-written classes that can be
included
• Header files
– Files included at the head (top) of a C++
program
14
The cout Object ASTU

• using namespace <namespace name>


Indicates where header file is located
• Namespaces qualify a name
• A function name in your class can be the same
as one used in a standard library class
• String: Any combination of letters,
numbers, and special characters enclosed
in double quotes
• Delimiter: A symbol that marks the
beginning and ending of a string; not
part of the string

15
The cout Object ASTU

16
The cout Object ASTU

• Escape sequence: One or more


characters preceded by a backslash, \

17
Comments ASTU

• Comments: Explanatory remarks in the source code


added by the programmer
• Line comment: Begins with // and continues to the
end of the line
• Example:

18
Comments ASTU

• Block comments: comments that span


across two or more lines
– Begin with /* and end with */
– Example:
/* This is a block comment that
spans
across three lines */

19
Data Types ASTU

• Data type: A set of values and the


operations that can be applied to these
values
• Two fundamental C++ data groupings:
– Class data type (a class)
• Created by the programmer
– Built-in data type (primitive type)
• Part of the C++ compiler

20
Data Types ASTU

• Literal (constant): An actual value


– Examples:
3.6 //numeric literal
“Hello” //string literal

• Integer: A whole number


• C++ has nine built-in integer data types
– Each provides different amounts of storage
(compiler dependent)

21
Integer Data type ASTU

22
Integer Data type ASTU

• int data type: Whole numbers


(integers), optionally with plus (+) or
minus (–) sign
– Example: 2, -5
• char data type: Individual character; any
letter, digit, or special character enclosed
in single quotes
– Example: ‘A’
– Character values are usually stored in ASCII
code

23
Integer Data type ASTU

24
Integer Data type ASTU

• When storing the ASCII codes to


represent text each letter takes one byte
of memory and is represented by the
associated number from the chart

25
Bool Data Type ASTU

• bool data type: Represents Boolean


(logical) data
– Restricted to two values: true or false
– Useful when a program must examine a
condition and take a prescribed course of
action, based on whether the condition is
true or false

26
Signed and Unsigned Data Types ASTU

• Signed data type: One that permits


negative, positive, and zero values
• Unsigned data type: Permits only
positive and zero values
– An unsigned data type provides essentially
double the range of its signed counterpart

27
Floating-Point Types ASTU

• Floating-point number (real number):


Zero or any positive or negative number
containing a decimal point
• Examples: +10.625 5. -6.2
• No special characters are allowed
• Three floating-point data types in C++:
– float (single precision)
– double (double precision)
– long double

28
Floating-Point literal ASTU

• float literal: Append an f or F to


the number
• long double literal: Append an l
or L to the number
– Examples:
9.234 // a double literal
9.234F // a float literal
9.234L // a long double literal

29
Arithmetic Operations ASTU

• C++ supports addition, subtraction,


multiplication, division, and modulus
division
• Different data types can be used in the
same arithmetic expression
• Arithmetic operators are binary
operators
– Binary operators: Require two operands
– Unary operator: Requires only one operand
– Negation operator (-): Reverses the sign of
the number
30
Arithmetic Operations ASTU

Operation Operator

Addition +

Subtraction -

Multiplication *

Division /

Modulus division %

31
Arithmetic Operations ASTU

32
Expression Types ASTU

• Expression: Any combination of


operators and operands that can be
evaluated to yield a value
• If all operands are the same data type,
the expression is named by the data
type used (integer expression, floating-
point expression, etc.)
• Mixed-mode expression: Contains
integer and floating-point operands
• Yields a double-precision value
33
Integer Division ASTU

• Integer division: Yields an integer result


– Any fractional remainders are dropped
(truncated)
– Example: 15/2 yields 7
• Modulus (remainder) operator: Returns
only the remainder
– Example: 9 % 4 yields 1

34
Operator Precedence ASTU

• Expressions with multiple operators are


evaluated by precedence of operators:
– All negations occur first
– Multiplication, division, and modulus are
next, from left to right
– Addition and subtraction are last, from left
to right

35
Variables and Declaration Statements ASTU

• Variable: All integer, float-point, and


other values used in a program are
stored and retrieved from the computer's
memory
• Each memory location has a unique
address

36
Variables and Declaration Statements ASTU

• Variable: Symbolic identifier for a


memory address where data can be held
• Use identifier naming rules for variable
names

37
Variables and Declaration Statements ASTU

• Assignment statement: Used to store a


value into a variable
• Value of the expression on the right is
assigned to the memory location of the
variable on the left side
– Examples:
num1 = 45;
num2 = 12;
total = num1 + num2;

38
Variables and Declaration Statements ASTU

• Declaration statement: Specifies the


data type and identifier of a variable;
sets up the memory location
– Syntax: dataType variableName;
• Data type is any valid C++ data type
– Example: int sum;
• Declarations may be used anywhere in a
function
– Usually grouped at the opening brace

39
Variables and Declaration Statements ASTU

• Multiple variables of the same data type


can be declared in a single declaration
statement
– Example:
double grade1, grade2, total, average;
• Variables can be initialized in a
declaration
– Example:
double grade1 = 87.0
• A variable must be declared before it is
used

40
Variables and Declaration Statements ASTU

41
Assignment Operations ASTU

• Assignment Statement: Assigns the


value of the expression on the right side
of the = to the variable on the left side
of the =
• Another assignment statement using the
same variable will overwrite the previous
value with the new value
Examples:
slope = 3.7;
slope = 6.28;

42
Assignment Operations ASTU

• Right side of an assignment statement


may contain any expression that can be
evaluated to a value
Examples:
newtotal = 18.3 + total;
taxes = .06*amount;
average = sum / items;
• Only one variable can be on the left side
of an assignment statement

43
Assignment Operations ASTU

44
Assignment Operations ASTU

• Assignment operator: The = sign


• C++ statement: Any expression
terminated by a semicolon
• Accumulation statement: Has the effect
of accumulating, or totaling
• Syntax:
variable = variable + newValue;

45
Assignment Operations ASTU

• Additional assignment operators provide short


cuts: +=, -=, *=, /=, %=
Example:
sum = sum + 10;
is equivalent to: sum += 10;
price *= rate +1;
is equivalent to:
price = price * (rate + 1);

46
Assignment Operations ASTU

47
Assignment Operations ASTU

• Increment operator ++: Unary operator for the


special case when a variable is increased by 1
• Prefix increment operator appears before the
variable
– Example: ++i
• Postfix increment operator appears after the
variable
– Example: i++

48
Assignment Operations ASTU

• Example: k = ++n; //prefix increment


is equivalent to:
n = n + 1; //increment n first
k = n; //assign n’s value to k
• Example: k = n++; //postfix increment
is equivalent to
k = n; //assign n’s value to k
n = n + 1; //and then increment n

49
Assignment Operations ASTU

• Decrement operator --: Unary operator for the


special case when a variable is decreased by 1
• Prefix decrement operator appears before the
variable
– Example: --i;
• Postfix decrement operator appears after the
variable
– Example: i--;

50
Case Study: Radar Speed Trap ASTU

51
Case Study: Radar Speed Trap ASTU

• A highway-patrol speed-detection radar


emits a beam of microwaves at a
frequency designated as fe
• The beam is reflected off an approaching
car, and the radar unit picks up and
analyzes the reflected beam’s frequency,
fr
• The reflected beam’s frequency is shifted
slightly from fe to fr because of the car’s
motion.
52
ASTU

• The relationship between the speed of the car,


v, in miles per hour (mph), and the two
microwave frequencies is

8
𝑓𝑟 − 𝑓𝑒
𝑣 = (6.685x10 ) 𝑚𝑝ℎ
𝑓𝑟 + 𝑓𝑒
where the emitted waves have a frequency of
fe = 2 × 1010 sec -1

53
ASTU

• we will write a C ++ program


– using the software development procedure
– calculate and display the speed
corresponding to a received frequency of
2.000004 × 1010 sec-1

54
Case Study: Radar Speed Trap ASTU

• Step 1: Analyze the Problem


– Understand the desired outputs
– Determine the required inputs
• Step 2: Develop a Solution
– Determine the algorithms to be used
– Use top-down approach to design
• Step 3: Code the Solution
• Step 4: Test and Correct the Program

55
Case Study: Radar Speed Trap ASTU

• Analyze the Problem


– Output: Speed of the car
– Inputs: Emitted frequency and received
frequency
• Develop a Solution
– Algorithm:
• Assign values to f0 and f1
• Calculate and display speed

56
Case Study: Radar Speed Trap ASTU

• Code the Solution

57
Case Study: Radar Speed Trap ASTU

• Test and Correct the Program


– Verify that the calculation and displayed
value agree with the previous hand
calculation
– Use the program with different values of
received frequencies
• Ethiopia uses metric system therefore
What if we want the answer to be in
Km/hr. ?

58

You might also like