beginning problem-solving concepts for the computer lesson 2 mcmanuscop10061

53
Beginning Problem-Solving Concepts for the Computer Lesson 2 McManus COP1006 1

Upload: kenneth-perry

Post on 05-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 1

Beginning Problem-Solving Concepts for the Computer

Lesson 2

McManus

Page 2: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 2

Fundamental Concepts

• The building blocks of equations and expressions– Constants & Variables– Data Types– Functions– Operators– Expressions & Equations

McManus

Page 3: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 3

Constants

• A value– a specific alphabetical and/or numeric value – Does not change during the processing of all

the instructions in a solution• Can be of any data type

– Numeric, alphabetical or special symbols• Examples

– 3, 5, 10, “Mulder”, “Scully”, “+”, “-”, “/”– Note: “” indicates datum rather than variable

name

McManus

Page 4: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 4

Constants

• 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

McManus

Page 5: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 5

Variables

• 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

McManus

Page 6: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 6

Rules for Naming Variables

• Use mnemonic terms, that is, the name means something– Use PayRate not Z

• Must begin with a Letter• Do not use special symbols• Do not use spaces

– Either combine terms (PayRate) or include an underscore to separate (Pay_Rate)

• Be consistent! – Some languages are case sensitive– PayRate, Pay_Rate, PAYRATE, or PAY_RATE

• Use appropriate naming conventionMcManus

Page 7: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 7

Data & Information

• Data– Raw, organized facts

• Information– Meaningful output

McManus

Page 8: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 8

Data Types

• Most common types– Numeric– Character– Logical

• Most languages include other data types– Date– Currency– User-defined

McManus

Page 9: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 9

Data Types & Data Sets

Data Type Data Set ExamplesInteger All whole numbers 3456

-43

Real All real numbers (whole + decimal)

3456.780.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

“X Files”“Torchwood”“123-45-6789”

Logical True or False TrueFalse

McManus

Page 10: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 10

Numeric Types

• 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

McManus

Page 11: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 11

Character Types

• Alphanumeric data set– Consists of

• all single-digit numbers, • letters, and • special characters available to the computer

– contained within quotation marks

McManus

Page 12: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 12

Coding Systems

• EBCDIC – Extended Binary Coded Decimal Information Code– Used on IBM mainframes

• ASCII - American Standard Code for Information Interchange– 256 characters (1 byte)

• First 128 – standard• Second 128 – specific to computer

• Unicode (2 bytes)– Replacing ASCII as standard on PC’s

McManus

See Appendix C

Page 13: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 13

String Data Type

• Made up of one or more characters• Contained within quotation marks• Cannot be used within calculations

McManus

Page 14: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 14

Strings - Caution

• “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

McManus

Page 15: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 15

Comparing Characters & Strings

• 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

McManus

Page 16: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 16

Concatenation

• 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.

McManus

Page 17: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 17

Logical (Boolean) Data Type

• 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

McManus

Page 18: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 18

Other Pre-defined Data Types

• Dependent on programming language, numerous other pre-defined data types are available.– Examples

• Dates 01/01/1900 January 1, 1900

• Times03:35:05 PM 15:35:05• Currency 3000.00

– Note: This is how the data will be stored, not how it is formatted.

McManus

Page 19: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 19

User-Defined Data Types

• User-defined Data types– Defined by the user as a new data type

• Examples• Records

Employee_RecordFnameLnameSSN

End

McManus

Page 20: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 20

Rules for Data Types

• Programmer designates the data type • Data types cannot be mixed

– Called data typing – Not allowed: X = 3.1459 * 5 (real * integer)

• All data to be used in calculations must be declared as a numeric data type Zip should be a string because won’t be used in

calculation• 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”McManus

Page 21: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 21

Functions

• Small sets of instructions that perform specific tasks and return values.

• Two types:– Pre-defined

• Built into a computer language or application.

– User-defined

McManus

Page 22: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 22

Functions

• Benefits– Reduces the amount of code that needs

to be written, thus reducing errors of repetition

– Shortens the development time– Improves readability

McManus

Page 23: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 23

Function Parameters

• 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

McManus

Page 24: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 24

Function Types

• Mathematical • String• Conversion• Statistical • Utility• Specific to each programming

language…a partial list follows

McManus

Page 25: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 25

Mathematical Functions

McManus

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) 3.73

Integer Integer(n) Integer(5.7269) 5

Random Random Random 0.239768

Sign of a number Sign(n) Sign(7.39) 1

Page 26: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 26

String Functions

McManus

Function Form Example Result

Middle String Mid(s, n1, n2)Mid(S,3,2) where S = "Thomas" "om"

Left String Left(s, n)Left(S,3) where S = "Thomas" "Tho"

Right String Right(s, n)Right(S, 3) where S = "Thomas" "mas"

Length String Length(s)Length(S) where S = "Thomas" 6

Page 27: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 27

Conversion Functions

McManus

Function Form Example Result

Valued Conversion Value(s) Value("-12.34") -12.34

String Conversion String(n) String(-12.34) "-12.34"

Page 28: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 28

Statistical Functions

McManus

Function Form Example Result

Average Average(list) Average(5, 3, 8, 6) 5.5

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) 22

Page 29: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 29

Utility Functions

McManus

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.

Page 30: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 30

Operators

• The data connectors within expressions and equations.

• Operands & Resultants– Operand are the data– Resultant is the answer that results

when the operation is completed

McManus

Page 31: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 31

Two Types of Operations

• Unary– Negation

• Binary– Addition, Subtraction, Multiplication,

Floating Point Division and Integer Division

McManus

Page 32: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 32

Operator Types

• Mathematical– +, -, *, /– \, Mod – ^, and – functions

• Relational– <, >, <=, >=, =,

<>• Logical

– And, Or, Not, XOR, EQV

McManus

Page 33: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 33

Two Special Math Operators

• 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.

25 10 10 0

McManus

Page 34: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 34

Two Special Math Operators

• Modulo Division (Mod) or Modulus– The remainder part

of the answer is returned.

35 19 15 4

McManus

Page 35: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 35

The Boolean Data Type

• 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

McManus

Page 36: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 36

Relational Operators

• 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

McManus

Page 37: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 37

Logical (Boolean) Operators

• 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!

McManus

Page 38: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 38

The NOT Operator

• Also called the “logical complement” or “logical negation”

• Significance: Whatever the value of A is, NOT A will be the opposite.

McManus

A = NOT A

True FalseFalse True

Page 39: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 39

The AND Operator

• Significance: The only time the result is True is if both A and B are True.

McManus

A = B = then A AND BTrue True TrueTrue False FalseFalse True FalseFalse False False

Page 40: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 40

The OR Operator

• Significance: The only time the result is False is if both A and B are False.

McManus

A = B = then A OR BTrue True TrueTrue False TrueFalse True TrueFalse False False

Page 41: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 41

The XOR (Exclusive Or) Operator

• 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.

McManus

A = B = then A XOR BTrue True FalseTrue False TrueFalse True TrueFalse False False

Page 42: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 42

The EQV (Equivalent) Operator

• 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.

McManus

A = B = then A EQV BTrue True TrueTrue False FalseFalse True FalseFalse False True

Page 43: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 43

Hierarchy of Operations

• 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.

McManus

Page 44: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 44

Hierarchy of Operations

– Note 1: Whenever you want to clarify an equation, use the parentheses!

– Note 2: Use the one on the next slide for your homework, but be aware that each language will have its own hierarchy, as well as different languages have different Hierarchies

McManus

Page 45: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 45

The Order of Precedence

McManus

OPERATOR TYPE NAME ( ) Parentheses Parentheses ^ Arithmetic Exponent (Powers) * / Arithmetic Multiplcation, floating-point division

\, Mod Arithmetic Integer division, Modulus + - Arithmetic Addition, subtraction

= <> <= >=

> <

Comparison (all have same level of precedence

Equal to, not equal to, less than or equal to, greater than or equal to, greater than, less than

NOT Logical Logical Negation AND Logical Logical And OR Logical Logical Or

XOR Logical Logical Exclusive Or EQV Logical Logical Equivalent

*this differs from the one in the textbook—use this one…

Page 46: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 46

Example

• 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…

McManus

Page 47: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 47

The Evaluation Tree

McManus

A or B or C and D and A and B and (not C) or (not D)

False True

False False False FalseTrue

True True

Page 48: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 48

Expressions & Equations

• 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

McManus

Page 49: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 49

Equations

• Same as an expression, except the equation stores the resultant (answer) in a memory location

• “takes on the value of” not equals– Examples

• SalesTax = Price * SalesTaxRate• OvertimePay = (Hours – 40) * Wage * 1.5• Area = Length * Width

– SalesTax is the memory location where the answer will be stored

• Often called Assignment StatementsMcManus

Page 50: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 50

More about Equations

• 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.

McManus

SalesTax = Price * SalesTaxRate D R-I ND R-I ND R-I

Page 51: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 51

Straight-Line Form

• Algebraic Expressions cannot be represented in the computer.

• They must be converted to a form the computer will recognize.

• Thus, Straight Line Form

McManus

2

2

)(

)(

)(

YX

YX

YXY

= (X – Y) / ( (X + Y)^2 / (X – Y )^2 )

straight line form

Page 52: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 52

3 Types of Problems

• 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.McManus

Page 53: Beginning Problem-Solving Concepts for the Computer Lesson 2 McManusCOP10061

COP1006 53

Next?

McManus