Presentation is loading. Please wait.

Presentation is loading. Please wait.

Beginning Problem-Solving Concepts for the Computer

Similar presentations


Presentation on theme: "Beginning Problem-Solving Concepts for the Computer"— Presentation transcript:

1 Beginning Problem-Solving Concepts for the Computer
COP1006 4/24/2017 Beginning Problem-Solving Concepts for the Computer Lesson 2 McManus COP1006 COP1006_02

2 Fundamental Concepts The building blocks of equations and expressions
COP1006 4/24/2017 Fundamental Concepts The building blocks of equations and expressions Constants & Variables Data Types Functions Operators Expressions & Equations McManus COP1006 COP1006_02

3 Constants A value Can be of any data type Examples
COP1006 4/24/2017 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 COP1006 COP1006_02

4 Constants In some programming languages, constants can be named
COP1006 4/24/2017 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 COP1006 COP1006_02

5 Variables May change during processing
COP1006 4/24/2017 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 COP1006 COP1006_02

6 Rules for Naming Variables
COP1006 4/24/2017 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 convention McManus COP1006 COP1006_02

7 Data & Information Data Information Raw, organized facts
COP1006 4/24/2017 Data & Information Data Raw, organized facts Information Meaningful output McManus COP1006 COP1006_02

8 Data Types Most common types Most languages include other data types
COP1006 4/24/2017 Data Types Most common types Numeric Character Logical Most languages include other data types Date Currency User-defined McManus COP1006 COP1006_02

9 Data Types & Data Sets Data Type Data Set Examples Integer
COP1006 4/24/2017 Data Types & Data Sets Data Type Data Set Examples Integer All whole numbers 3456 -43 Real All real numbers (whole + decimal) 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” “ ” Logical True or False True False McManus COP1006 COP1006_02

10 Numeric Types Include all types of numbers Integers
COP1006 4/24/2017 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 COP1006 COP1006_02

11 Character Types Alphanumeric data set Consists of
COP1006 4/24/2017 Character Types Alphanumeric data set Consists of all single-digit numbers, letters, and special characters available to the computer contained within quotation marks McManus COP1006 COP1006_02

12 Coding Systems EBCDIC – Extended Binary Coded Decimal Information Code
COP1006 4/24/2017 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 See Appendix C McManus COP1006 COP1006_02

13 String Data Type Made up of one or more characters
COP1006 4/24/2017 String Data Type Made up of one or more characters Contained within quotation marks Cannot be used within calculations McManus COP1006 COP1006_02

14 Strings - Caution “123” is not the same thing as 123
COP1006 4/24/2017 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 COP1006 COP1006_02

15 Comparing Characters & Strings
COP1006 4/24/2017 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” = (Unicode 16-bit) “A” = 65 whereas “a” = 97 (ASCII 8-bit) Once converted, each character, one at a time, can be compared McManus COP1006 COP1006_02

16 Concatenation Joins character data or string data together
COP1006 4/24/2017 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 COP1006 COP1006_02

17 Logical (Boolean) Data Type
COP1006 4/24/2017 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 COP1006 COP1006_02

18 Other Pre-defined Data Types
COP1006 4/24/2017 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 Times 03:35:05 PM 15:35:05 Currency Note: This is how the data will be stored, not how it is formatted. McManus COP1006 COP1006_02

19 User-Defined Data Types
COP1006 4/24/2017 User-Defined Data Types User-defined Data types Defined by the user as a new data type Examples Records Employee_Record Fname Lname SSN End McManus COP1006 COP1006_02

20 Rules for Data Types Programmer designates the data type
COP1006 4/24/2017 Rules for Data Types Programmer designates the data type Data types cannot be mixed Called data typing Not allowed: X = * 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 > 0 -> but is programming language dependent Characters – all alphanumeric characters included in the computer’s coding scheme Logical – the words “true” and “false” McManus COP1006 COP1006_02

21 COP1006 4/24/2017 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 COP1006 COP1006_02

22 COP1006 4/24/2017 Functions Benefits Reduces the amount of code that needs to be written, thus reducing errors of repetition Shortens the development time Improves readability McManus COP1006 COP1006_02

23 COP1006 4/24/2017 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 COP1006 COP1006_02

24 Function Types Mathematical String Conversion Statistical Utility
COP1006 4/24/2017 Function Types Mathematical String Conversion Statistical Utility Specific to each programming language…a partial list follows McManus COP1006 COP1006_02

25 Mathematical Functions
COP1006 4/24/2017 Mathematical Functions McManus COP1006 COP1006_02

26 COP1006 4/24/2017 String Functions McManus COP1006 COP1006_02

27 COP1006 4/24/2017 Conversion Functions McManus COP1006 COP1006_02

28 Statistical Functions
COP1006 4/24/2017 Statistical Functions McManus COP1006 COP1006_02

29 COP1006 4/24/2017 Utility Functions Error is a special function that appears in most languages and upon execution return control to the program when (not if) system errors occur. McManus COP1006 COP1006_02

30 Operators The data connectors within expressions and equations.
COP1006 4/24/2017 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 COP1006 COP1006_02

31 Two Types of Operations
COP1006 4/24/2017 Two Types of Operations Unary Negation Binary Addition, Subtraction, Multiplication, Floating Point Division and Integer Division McManus COP1006 COP1006_02

32 Operator Types Mathematical Relational Logical +, -, *, / \, Mod
COP1006 4/24/2017 Operator Types Mathematical +, -, *, / \, Mod ^, and functions Relational <, >, <=, >=, =, <> Logical And, Or, Not, XOR, EQV McManus COP1006 COP1006_02

33 Two Special Math Operators
COP1006 4/24/2017 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. 2  10 10 McManus COP1006 COP1006_02

34 Two Special Math Operators
COP1006 4/24/2017 Two Special Math Operators Modulo Division (Mod) or Modulus The remainder part of the answer is returned. 3  19 15 4 McManus COP1006 COP1006_02

35 The Boolean Data Type Returns either the keywords True or False or
COP1006 4/24/2017 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 COP1006 COP1006_02

36 Relational Operators Perform comparisons
COP1006 4/24/2017 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 COP1006 COP1006_02

37 Logical (Boolean) Operators
COP1006 4/24/2017 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 COP1006 COP1006_02

38 COP1006 4/24/2017 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 COP1006 COP1006_02

39 COP1006 4/24/2017 The AND Operator Significance: The only time the result is True is if both A and B are True. McManus COP1006 COP1006_02

40 COP1006 4/24/2017 The OR Operator Significance: The only time the result is False is if both A and B are False. McManus COP1006 COP1006_02

41 The XOR (Exclusive Or) Operator
COP1006 4/24/2017 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 COP1006 COP1006_02

42 The EQV (Equivalent) Operator
COP1006 4/24/2017 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 COP1006 COP1006_02

43 Hierarchy of Operations
COP1006 4/24/2017 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 COP1006 COP1006_02

44 Hierarchy of Operations
COP1006 4/24/2017 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 COP1006 COP1006_02

45 The Order of Precedence
COP1006 4/24/2017 The Order of Precedence *this differs from the one in the textbook—use this one… McManus COP1006 COP1006_02

46 Example Evaluate the following:
COP1006 4/24/2017 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 COP1006 COP1006_02

47 COP1006 4/24/2017 The Evaluation Tree A or B or C and D and A and B and (not C) or (not D) False True McManus COP1006 COP1006_02

48 Expressions & Equations
COP1006 4/24/2017 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 COP1006 COP1006_02

49 COP1006 4/24/2017 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 Statements McManus COP1006 COP1006_02

50 More about Equations Destructive Read-In Non-Destructive Read-In
COP1006 4/24/2017 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. SalesTax = Price * SalesTaxRate D R-I ND R-I ND R-I McManus COP1006 COP1006_02

51 COP1006 4/24/2017 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 = (X – Y) / ( (X + Y)^2 / (X – Y )^2 ) straight line form McManus COP1006 COP1006_02

52 3 Types of Problems Computational Logical Repetitive
COP1006 4/24/2017 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 COP1006 COP1006_02

53 Planning Your Solution...
COP1006 4/24/2017 Next? Planning Your Solution... McManus COP1006 COP1006_02


Download ppt "Beginning Problem-Solving Concepts for the Computer"

Similar presentations


Ads by Google