Data Types, Identifiers, and Expressions Topics to cover here: Data types Variables and Identifiers Arithmetic and Logical Expressions Programming Fundamental Slides
Programming Fundamental Slides Data Types A data type provides a method of modeling or representing a particular set of values and determines what operations can be performed on those values. Programming Fundamental Slides
Programming Fundamental Slides
Data Types in The Algorithmic Language String values (e.g. “ABC” , “computer”, “960”) NOTE: In C++ language, some of the operations have different symbols. Programming Fundamental Slides
Identifiers, Locations, and Variables Memory: It is a part of the computer that has many locations (of fixed size) used to store values (data) and instructions. Programming Fundamental Slides
Identifiers, Locations, and Variables.. cont. Identifiers (Names): - Use meaningful identifiers (names) to represent data in your program. - Identifiers are used to refer to memory locations: to store data in them or retrieve data from them. The rule of defining an identifier: (1) It may contain letters (A .. Z , a .. z ) , digits (0, 1, 2, …, 9), and underscore ( _ ). (2) It should begin with a letter. Programming Fundamental Slides
Identifiers, Locations, and Variables.. cont. NOTES: Some programming languages are case sensitive. That is the uppercase identifiers are different than lowercase identifiers (as in C++). In programming languages, some words cannot be used as identifiers in your program. Such words are called reserved words (or keywords) that have special use. Programming Fundamental Slides
Reserved words (or keywords) in c++ main if else while do for
Identifiers, Locations, and Variables.. cont. Examples of valid identifiers: area , length, X , Y1, abc, d3, st_number { these all begin with a letter } Examples of invalid identifiers: 2Y { begins with a digit } Ali’s { contains the symbol ‘ } st-age { the symbol - is not underscore } while { it is a keyword } ab cd { it has a space } Programming Fundamental Slides
Identifiers, Location, and Variables.. cont. -The name of the location is the variable name. -The location content is the value of the variable - You can change the content of the variable at any time in the statements of the algorithm. e.g. Name of the location Inside Memory location employee_name “Ali Ahmed” age 35 hourly_rate 3.25 Programming Fundamental Slides
Identifiers, Location, and Variables.. cont. Constants: - You can use a constant identifier in your algorithm to indicate a constant data. You CANNOT change the content of the constant identifier. Use the keyword CONST to indicate a constant identifier. e.g. CONST pi = 3.14 Here, pi is a constant identifier that cannot be changed Programming Fundamental Slides
Expressions EX: T MOD 2 gives 0 if T is any even number, and Arithmetic Expression: - It is composed of operands and arithmetic operations - Arithmetic operations: - Operands may be numbers and/or identifiers that have numeric values Its result is a numeric value EX : 3 + 4 gives 7 EX: T MOD 2 gives 0 if T is any even number, and 1 if T is any odd number
Expressions .. cont. Logical Expression: - It is called also Boolean expression. - It is composed from operands and operators. - Operands are identifiers that have logical values - Its result is a logical value (true or false) (see later). - Operators are logical: EX: where A, B are defined logical Note: In C++, there is no specific data type to represent “true” and “false”. C uses value “0” to represent “false”, and uses non-zero value to stand for “true”.
Expressions .. cont. - It is composed from operands and operators. Relational Expression: - It is composed from operands and operators. - Operands may be numbers and/or identifiers that have numeric values - Its result is a logical value (true or false). - Operators are relational operators: EX:
Programming Fundamental Slides Expressions .. cont. NOTES A relational expression may contain arithmetic sub-expressions, e.g. ( 3 + 7 ) < (12 * 4 ) 2) A logical expression may contain relational and arithmetic sub-expressions, e.g. 1- x AND y AND ( a > b ) 2- (2 + t ) < (6 * w ) AND ( p = q ) Programming Fundamental Slides
Programming Fundamental Slides Operator Precedence Expressions are evaluated according to the precedence rule. Precedence Rule: - Each operator has its own precedence that indicates the order of evaluation. - If the expression has operators of the same precedence, then the evaluation starts from left of expression to the right. Programming Fundamental Slides
Operator Precedence .. cont. Description Operator In C++ Operator In pseudo code Higher parentheses ( *, /, % *, /, MOD Binary plus, binary minus + , - <, <=, >, >= <, , ≤, >, ≥ Equal, not equal == , != = , ≠ && AND || OR Lower Assignment = Programming Fundamental Slides
Programming Fundamental Slides Examples Find the value of the following expression: (1) 5 + 8 * 2 / 4 16 4 9 (This is the final result) Programming Fundamental Slides
Programming Fundamental Slides Examples .. cont. ( 9 + 3 ) - 6 / 2 + 5 12 3 9 14 (this is the final result) Programming Fundamental Slides
Evaluating Logical Expressions The truth table AND table AND True False True True False False False False Programming Fundamental Slides
Evaluating Logical Expressions.. cont. (2) OR table OR True False True True True False True False (3) NOT table NOT True False False True Programming Fundamental Slides
Examples on Logical Expressions If x = True, y = False, z = False, find the value of the expression x AND y OR z x AND y OR z False False (the final result) Programming Fundamental Slides
Examples on Logical Expressions .. cont. (2) If a = 3, b = 5, x = true, y = false, find the value of the expression: ( a < b ) AND y OR x ( a < b ) AND y OR x True False True (the final result) Programming Fundamental Slides
Programming Fundamental Slides Short circuiting: Short circuiting means that we don't evaluate the second part of an AND or OR unless we really need to. Programming Fundamental Slides