Introduction
Download
Report
Transcript Introduction
Lesson 2
COP1006
McManus
1
Computational
◦ problems involving some kind of mathematical
processing
Logical
◦ Problems involving relational or logical processing
Repetitive
◦ Problems involving repeating a set of mathematical
and/or logical instructions.
COP1006
McManus
2
The building blocks of equations and
expressions
◦
◦
◦
◦
Constants
Variables
Operators
Functions
COP1006
McManus
3
A value
Can be of any data type
◦ a specific alphabetical and/or numeric value
◦ Does not change during the processing of all the
instructions in a solution
◦ Numeric, alphabetical or special symbols
Examples
◦ 3, 5, 10, “Mulder”, “Scully”, “+”, “-”, “/”
◦ Note: “” indicates datum rather than variable
name
COP1006
McManus
4
In some programming languages, constants
can be named
◦ Provides protection to the constant value and
other areas of the program.
◦ Cannot be changed once given initial value
Example
◦ SalesTaxRate = 6
◦ Commission_Rate = 6
◦ Note: no spaces within variable names
COP1006
McManus
5
May change during processing
A name is assigned to each variable used in a
solution.
◦ The name references the memory area where the
value is stored.
May be of any data type
Examples
◦ Age, LastName, Address, PayRate
COP1006
McManus
6
Use mnemonic terms, that is, the name
means something
◦ Use PayRate not Z
Do not use spaces
◦ Either combine terms (PayRate) or include an
underscore to separate (Pay_Rate)
Do not use special symbols
Be consistent!
Use appropriate naming convention
◦ Some languages are case sensitive
◦ PayRate, Pay_Rate, PAYRATE, or PAY_RATE
COP1006
McManus
7
Data
◦ Raw, organized facts
Information
◦ Meaningful output
COP1006
McManus
8
Most common types
◦ Numeric
◦ Character
◦ Logical
Most languages include other data types
◦ Date
◦ Currency
◦ User-defined
COP1006
McManus
9
Data Type
Data Set
Examples
Integer
All whole numbers
3456
-43
Real
All real numbers
(whole + decimal)
3456.78
0.000123
Character (uses
quotation marks)
All letters, numbers,
and special symbols
“A”, “a”, “1”, “5”,
“+”, “%”
String (uses
quotation marks)
Combinations of
more than one
character
“Mulder”
“Scully”
“123-45-6789”
Logical
True or False
True
False
McManus
COP1006
10
Include all types of numbers
◦ Integers
3, 5, -5, 0, -1 and 32,767
◦ Real numbers (floating point numbers)
3.1459, -5745
Scientific Notation
2.3E5 or 5.4E-3,
where E stands for the Power of 10
◦ Can be Positive or Negative
COP1006
McManus
11
Alphanumeric data set
◦ Consists of
all single-digit numbers,
letters, and
special characters available to the computer
◦ contained within quotation marks
COP1006
McManus
12
EBCDIC – Extended Binary Coded Decimal
Information Code
◦ Used on IBM mainframes
ASCII - American Standard Code for Information
Interchange
◦ 256 characters
(1 byte)
Unicode
(2 bytes)
First 128 – standard
Second 128 – specific to computer
◦ Replacing ASCII as standard on PC’s
See Appendix C
COP1006
McManus
13
Made up of one or more characters.
Contained within quotation marks
Cannot be used within calculations
COP1006
McManus
14
“123” is not the same thing as 123
◦ The first one is a string
◦ The second one is a number
Becomes important when deciding when a
piece of data is a string or a number
◦ Ex. Social Security Numbers
The first one contains 11 characters and is left aligned
whereas the second contains 9 numbers and is right
aligned
COP1006
McManus
15
The computer’s particular coding scheme
(ASCII, Unicode, or EBCDIC) converts the
character to its associated ordinal number
◦ Note: Uppercase letters have a smaller ordinal
values than lowercase letters
“A” = 193 whereas “a” = 129 (Unicode 16-bit)
“A” = 65 whereas “a” = 97 (ASCII 8-bit)
Once converted, each character, one at a
time, can be compared
COP1006
McManus
16
Joins character data or string data together
Operators: + and &
◦ Dependent on programming language
◦ & can mix data types
◦ + cannot mix data types (also known as Join)
Examples
◦ FName & “ ” & MI & “ ” & LName
◦ “James” + “ ” + “T.” + “ ” + “Kirk” = “James T. Kirk”
◦ “James” & “ ” & “T.” & “ ” & “Kirk” = “James T. Kirk”
Note the space at the end of the T.
COP1006
McManus
17
Consists just two pieces of data
◦ True and False
◦ Different programming languages also allow
Yes and No
1 (True) and 0 (False)
On and Off
COP1006
McManus
18
Dependent on programming language,
numerous other pre-defined data types are
available.
◦ Examples
Dates 01/01/1900 January 1, 1900
Times 03:35:05 PM
15:35:05
Currency
3000.00
◦ Note: This is how the data will be stored, not how
it is formatted.
COP1006
McManus
19
User-defined Data types
◦ Defined by the user as a new data type
Examples
Records
Employee_Record
Fname
Lname
SSN
End
COP1006
McManus
20
Programmer designates the data type
Data types cannot be mixed
◦ Called data typing
All data to be used in calculations must be declared
as a numeric data type
Each data type uses a data set or domain
◦ Integers – typically
-32768 -> 0 -> 32767 but is programming language
dependent
◦ Characters – all alphanumeric characters included in
the computer’s coding scheme
◦ Logical – the words “true” and “false”
COP1006
McManus
21
Small sets of instructions that perform
specific tasks and return values.
Two types:
◦ Pre-defined
Built into a computer language or application.
◦ User-defined
COP1006
McManus
22
Benefits
◦ Reduces the amount of code that needs to be
written, thus reducing errors of repetition
◦ Shortens the development time
◦ Improves readability
COP1006
McManus
23
Data usually placed within parentheses that
the function uses without altering the data
◦ In Sqrt(n), the n represents the parameter, in this
case a number
◦ In Value(s), the s represents a string
COP1006
McManus
24
Mathematical
String
Conversion
Statistical
Utility
Specific to each programming language…a
partial list follows
COP1006
McManus
25
Function
Form
Example
Result
Square Root
Sqrt(n)
Sqrt(4)
2
Absolute
Abs(n)
Abs(-3), Abs(3)
3
Rounding
Round(n,n1) Round (3.7259,2)
Integer
Integer(n)
Integer(5.7269)
Random
Random
Random
Sign of a number Sign(n)
3.73
5
0.239768
Sign(7.39)
1
COP1006
McManus
26
Function
Middle String
Left String
Right String
Length String
Form
Example
Result
Mid(S,3,2) where
Mid(s, n1, n2) S = "Thomas"
"om"
Left(S,3) where S
Left(s, n)
= "Thomas"
"Tho"
Right(S, 3) where
Right(s, n)
S = "Thomas"
"mas"
Length(S) where S
Length(s)
= "Thomas"
6
COP1006
McManus
27
Function
Form
Example
Valued Conversion Value(s)
Value("-12.34")
String Conversion String(n)
String(-12.34)
COP1006
Result
-12.34
"-12.34"
McManus
28
Function
Form
Example
Result
Average
Average(list)
Average(5, 3, 8, 6)
Maximum
Max(list)
Max(5, 3, 8, 6)
8
Minimum
Min(list)
Min(5, 3, 8, 6)
3
Summation
Sum(list)
Sum (5, 3, 8, 6)
COP1006
5.5
22
McManus
29
Function
Form
Example
Result
Date
Date
Date
9/14/02
Time
Time
Time
9:22:38
Error is a special function that appears in most
languages and upon execution return control to
the program when (not if) system errors occur.
COP1006
McManus
30
The data connectors within expressions and
equations.
Two types of operations
◦ Unary
Negation
◦ Binary
Addition, Subtraction, Multiplication, Floating Point
Division and Integer Division
COP1006
McManus
31
Mathematical
◦
◦
◦
◦
+, -, *, /
\, Mod
^, and
functions
Relational
◦ <, >, <=, >=, =, <>
Logical
◦ And, Or, Not, XOR, EQV
COP1006
McManus
32
Integer Division (\)
◦ Regular Floating Point Division, except only the
whole number part of the answer is returned.
◦ If given a Floating Point number, the number is
rounded—first—before division occurs.
Modulo Division (Mod) or Modulus
◦ The remainder part of the answer is returned.
COP1006
McManus
33
Returns either the keywords True or False or
Returns a non-zero or zero value.
◦ -9, -1, 1, 2 are equivalent to True
◦ 0 is equivalent to False
Is stored in two bytes
COP1006
McManus
34
Perform comparisons
variable - relational operator - variable
◦ Ex.
If Y > Z then ...
◦
◦
◦
◦
◦
◦
= equal
<> not equal
< less than
> greater than
<= less than or equal to
>= greater than or equal to
COP1006
McManus
35
And, Or, XOR, Not, EQV
Boolean Expressions are used
◦ To create more complicated Boolean Expressions.
◦ If a = b AND c < d Then …
They are defined by using Truth Tables…
◦ Know the significance of each!
COP1006
McManus
36
Significance: The only time the result is True is
if both A and B are True.
A=
True
True
False
False
B=
True
False
True
False
then A AND B
True
False
False
False
COP1006
McManus
37
Significance: The only time the result is False is
if both A and B are False.
A=
True
True
False
False
B=
True
False
True
False
then A OR B
True
True
True
False
COP1006
McManus
38
Also called the “logical complement” or
“logical negation”
Significance: Whatever the value of A is, NOT A
will be the opposite.
A=
True
False
NOT A
False
True
COP1006
McManus
39
Significance: The only time the result is True is
if A and B are different and False if both A and
B are the same.
A=
True
True
False
False
B = then A XOR B
True
False
False
True
True
True
False
False
COP1006
McManus
40
Significance: The only time the result is True is
if A and B are the same and False if both A and
B are the different.
A=
True
True
False
False
B = then A EQV B
True
True
False
False
True
False
False
True
COP1006
McManus
41
Data and Operators are combined to form
expressions and equations
To evaluate these in the proper order, a
hierarchy of operations, or Order of
Precedence, is used.
◦ Note: Whenever you want to clarify an equation,
use the parentheses!
COP1006
McManus
42
ORDER OF PRECEDENCE
OPERATOR
TYPE
NAME
( )
Parentheses
Parentheses
^
Arithmetic
Exponent (Powers)
*/
Arithmetic
Multiplcation, floating-point division
\, Mod
Arithmetic
Integer division, Modulus
+Arithmetic
Addition, subtraction
= <>
Comparison (all
Equal to, not equal to, less than or equal to,
<= >=
have same level of greater than or equal to, greater than, less
> <
precedence
than
NOT
Logical
Logical Negation
AND
Logical
Logical And
OR
Logical
Logical Or
XOR
Logical
Logical Exclusive Or
EQV
Logical
Logical Equivalent
COP1006
McManus
43
Evaluate the following:
A = True, B = False, C = True, D = False
A or B or C and D and A and B and (not C) or (not D)
To do this, we create what’s called an
Evaluation Tree…
COP1006
McManus
44
A or B or C and D and A and B and (not C) or (not D)
False
True
False
False
False
False
True
True
True
COP1006
McManus
45
Expressions
◦ Process the data and the operands, through the use
of the operators
◦ Does not store the resultant (answer)
◦ Examples
Price * SalesTaxRate
(Hours – 40) * Wage * 1.5
Length * Width
COP1006
McManus
46
Same as an expression, except the equation
stores the resultant (answer) in a memory
location
“takes on the value of” not equals
Often called Assignment Statements
◦ Examples
SalesTax = Price * SalesTaxRate
OvertimePay = (Hours – 40) * Wage * 1.5
Area = Length * Width
◦ SalesTax is the memory location where the
answer will be stored
COP1006
McManus
47
Destructive
Read-In
◦ The value stored in
the variable on the
left-hand side of
the equals sign is
replaced by the
result of the
expression on the
right-hand side.
Non-Destructive
Read-In
◦ Values used on the
right-hand side
are protected from
being changed.
SalesTax = Price * SalesTaxRate
D R-I
ND R-I
ND R-I
COP1006
McManus
48
Algebraic Expressions cannot be represented
in the computer.
They must be converted to a form the
computer will recognize.
Thus, Straight Line Form
(X Y)
Y
= (X – Y) / ( (X + Y)^2 / (X – Y )^2 )
2
(X Y)
straight line form
(X Y )2
COP1006
McManus
49
COP1006
McManus
50