- 1. Object-Oriented Programming Using C# Objectives In this session, you will learn to: Use various operators: • Arithmetic • Arithmetic Assignment • Unary • Comparison • Logical – Use conditional constructs – Use looping constructs Ver. 1.0 Session 2 Slide 1 of 25
- 2. Object-Oriented Programming Using C# Using Operators Applications use operators to process the data entered by a user. Operators in C# can be classified as follows: Arithmetic operators Arithmetic Assignment operators Unary operators Comparison operators Logical operators Ver. 1.0 Session 2 Slide 2 of 25
- 3. Object-Oriented Programming Using C# Arithmetic Operators Arithmetic operators are the symbols that are used to perform arithmetic operations on variables. The following table describes the commonly used arithmetic operators. Operator Description Example + Used to add two X=Y+Z; numbers If Y is equal to 20 and Z is equal to 2, X will have the value 22. - Used to subtract two X=Y-Z; numbers If Y is equal to 20 and Z is equal to 2, X will have the value 18. * Used to multiply two X=Y*Z; numbers If Y is equal to 20 and Z is equal to 2, X will have the value 40. / Used to divide one X=Y/Z; number by another If Y is equal to 21 and Z is equal to 2, X will have the value 10. But, if Y is equal to 21.0 and Z is equal to 2, X will have the value 10.5. % Used to divide two X=Y%Z; numbers and return the If Y is equal to 21 and Z is equal to 2, X will contain remainder the value 1. Ver. 1.0 Session 2 Slide 3 of 25
- 4. Object-Oriented Programming Using C# Arithmetic Assignment Operators Arithmetic assignment operators are used to perform arithmetic operations to assign a value to an operand. The following table lists the usage and describes the commonly used assignment operators. Operator Usage Description = X = 5; Stores the value 5 in the variable X. += X+=Y; Same as: X = X + Y; -= X-=Y; Same as: X = X - Y; *= X*=Y; Same as: X = X * Y; /= X/=Y; Same as: X = X / Y; %= X%=Y; Same as: X = X % Y; Ver. 1.0 Session 2 Slide 4 of 25
- 5. Object-Oriented Programming Using C# Unary Operators Unary operators are used to increment or decrement the value of an operand by 1. The following table explains the usage of the increment and decrement operators. Operator Usage Description Example ++ ++Operand; Used to Y = ++X; (Preincrement operator) increment the If the initial value of X is 5, after the Or, value of an execution of the preceding statement, values Operand++; operand by 1 of both X and Y will be 6. (Postincrement operator) Y = X++; If the initial value of X is 5, after the execution of the preceding statement, value of X will be 6 and the value of Y will be 5. -- --Operand; Used to Y = --X; (Predecrement operator) decrement the If the initial value of X is 5, after the Or, value of an execution of the preceding statement, values Operand--; operand by 1 of X and Y will be 4. (Postdecrement) Y = X--; If the initial value of X is 5, after the execution of the preceding statement, value of X will be 4 and the value of Y will be 5. Ver. 1.0 Session 2 Slide 5 of 25
- 6. Object-Oriented Programming Using C# Comparison Operators Comparison operators are used to compare two values and perform an action on the basis of the result of that comparison. The following table explains the usage of commonly used comparison operators. Operator Usage Description Example (In the following examples, the value of X is assumed to be 20 and the value of Y is assumed to be 25) < expression1 < Used to check whether bool Result; expression2 expression1 is less than Result = X < Y; expression2 Result will have the value true. > expression1 > Used to check whether bool Result; expression2 expression1 is greater than Result = X > Y; expression2 Result will have the value false. <= expression1 <= Used to check whether bool Result; expression2 expression1 is less than or equal Result = X <= Y; to expression2 Result will have the value true. >= expression1 >= Used to check whether bool Result; expression2 expression1 is greater than or Result = X >= Y; equal to expression2 Result will have the value false. Ver. 1.0 Session 2 Slide 6 of 25
- 7. Object-Oriented Programming Using C# Comparison Operators (Contd.) Operator Usage Description Example (In the following examples, the value of X is assumed to be 20 and the value of Y is assumed to be 25) == expression1 == Used to check whether bool Result; expression2 expression1 is equal to Result = X == Y; expression2 Result will have the value false. != expression1 != Used to check whether bool Result; expression2 expression1 is not equal to Result = X != Y; expression2 Result will have the value true. Ver. 1.0 Session 2 Slide 7 of 25
- 8. Object-Oriented Programming Using C# Logical Operators Logical operators are used to evaluate expressions and return a Boolean value. The following table explains the usage of logical operators. Operator Usage Description Example && expression1 && Returns true if bool Result; expression2 both expression1 string str1, str2; and expression2 str1 = “Korea”; are true. str2 = “France”; Result= ((str1==“Korea”) && (str2==“France”)) Console.WriteLine (Result .ToString()); The message displays True because str1 has the value “Korea” and str2 has the value “France”. ! ! expression Returns true if bool Result the expression is int x; false. x = 20; Result=(!( x == 10)) Console.WriteLine(Result.ToString()); The message displays True because the expression used returns true. Ver. 1.0 Session 2 Slide 8 of 25
- 9. Object-Oriented Programming Using C# Logical Operators (Contd.) Operator Usage Description Example || expression1 || Returns true if either bool Result expression2 expression1 or string str1, str2; expression2 or both of str1 = “Korea”; them are true. str2 = “England”; Result= ((str1==“Korea”) || (str2== “France”)) Console.WriteLine (Result .ToString()); The message displays True if either str1 has the value “Korea” or str2 has the value “France”. ^ expression1 ^ Returns true if either bool Result; expression2 expression1 or string str1, str2; expression2 is true. It str1 = “Korea”; returns false if both str2= “France”; expression1 and Result = (str1== “Korea”) ^ (str2== “France”); expression2 are true Console.WriteLine (Result .ToString()); or if both expression1 The message False is displayed because both and expression2 are the expressions are true. false. Ver. 1.0 Session 2 Slide 9 of 25
- 10. Object-Oriented Programming Using C# Using Conditional Constructs Conditional constructs allow the selective execution of statements, depending on the value of expression associated with them. The comparison operators are required for evaluating the conditions. The various conditional constructs are: – The if…else construct – The switch…case construct Ver. 1.0 Session 2 Slide 10 of 25
- 11. Object-Oriented Programming Using C# The if…else Construct • The if…else conditional construct is followed by a logical expression where data is compared and a decision is made on the basis of the result of the comparison. • The following is the syntax of the if…else construct: if (expression) { statements; } else { statements; } Ver. 1.0 Session 2 Slide 11 of 25
- 12. Object-Oriented Programming Using C# The if…else Construct (Contd.) • The if…else constructs can be nested inside each other. • When if…else construct is nested together, the construct is known as cascading if…else constructs. Ver. 1.0 Session 2 Slide 12 of 25
- 13. Object-Oriented Programming Using C# The switch…case Construct • The switch…case construct is used when there are multiple values for a variable. • The following is the syntax of the switch…case construct: switch (VariableName) { case ConstantExpression_1: statements; break; case ConstantExpression_2: statements; break; Ver. 1.0 Session 2 Slide 13 of 25
- 14. Object-Oriented Programming Using C# The switch…case Construct (Contd.) … case ConstantExpression_n: statements; break; default: statements; break; } Ver. 1.0 Session 2 Slide 14 of 25
- 15. Object-Oriented Programming Using C# Demo: Calculator Using Conditional Constructs Conditional Constructs Problem Statement: Write a program that emulates a calculator. The calculator should be able to perform the following mathematical operations: Addition Subtraction Multiplication Division Ver. 1.0 Session 2 Slide 15 of 25
- 16. Object-Oriented Programming Using C# Using Loop Constructs Loop structures are used to execute one or more lines of code repetitively. The following loop constructs are supported by C#: – The while loop – The do…while loop – The for loop Ver. 1.0 Session 2 Slide 16 of 25
- 17. Object-Oriented Programming Using C# The while Loop • The while loop construct is used to execute a block of statements for a definite number of times, depending on a condition. • The following is the syntax of the while loop construct: while (expression) { statements; } Ver. 1.0 Session 2 Slide 17 of 25
- 18. Object-Oriented Programming Using C# The do…while Loop • The do…while loop construct is similar to the while loop construct. • Both iterate until the specified loop condition becomes false. • The following is the syntax of the do…while loop construct: do { statements; }while(expression); Ver. 1.0 Session 2 Slide 18 of 25
- 19. Object-Oriented Programming Using C# The do…while Loop (Contd.) • The following figure shows the difference between the do… while and while loop construct. while do while Execute body of Loop Evaluate Condition False True Evaluate False Condition Execute body of Loop True Ver. 1.0 Session 2 Slide 19 of 25
- 20. Object-Oriented Programming Using C# The for Loop • The for loop structure is used to execute a block of statements for a specific number of times. • The following is the syntax of the for loop construct: for (initialization; termination; increment/decrement) { statements } Ver. 1.0 Session 2 Slide 20 of 25
- 21. Object-Oriented Programming Using C# The for Loop (Contd.) The following figure shows the sequence of execution of a complete for loop construct. Initialization False Evaluate Exit the for Condition Loop True Body of the for Loop Increment/ Decrement Ver. 1.0 Session 2 Slide 21 of 25
- 22. Object-Oriented Programming Using C# Demo: Fibonacci Series Using Loop Constructs Problem Statement: Write a program that generates the Fibonacci series up to 200. Ver. 1.0 Session 2 Slide 22 of 25
- 23. Object-Oriented Programming Using C# The break and continue Statements • The break statement is used to exit from the loop and prevents the execution of the remaining loop. • The continue statement is used to skip all the subsequent instructions and take the control back to the loop. Ver. 1.0 Session 2 Slide 23 of 25
- 24. Object-Oriented Programming Using C# Summary In this session, you learned that: Operators are used to compute and compare values and test multiple conditions. You use arithmetic operators to perform arithmetic operations on variables like addition, subtraction, multiplication, and division. You can use arithmetic assignment operators to perform arithmetic operations and assign the result to a variable. The unary operators, such as the increment and decrement operators, operate on one operand. Comparison operators are used to compare two values and perform an action on the basis of the result of the comparison. Logical operators are used to evaluate expressions and return a Boolean value. Ver. 1.0 Session 2 Slide 24 of 25
- 25. Object-Oriented Programming Using C# Summary (Contd.) Conditional constructs are used to allow the selective execution of statements. The conditional constructs in C# are: • if…else • switch…case Looping constructs are used when you want a section of a program to be repeated a certain number of times. C# offers the following looping constructs: • while • do…while • for – The break and continue statements are used to control the program flow within a loop. Ver. 1.0 Session 2 Slide 25 of 25

- Students have learnt the structure of different types of dimensions and the importance of surrogate keys in Module I. In this session, students will learn to load the data into the dimension tables after the data has been transformed in the transformation phase. In addition, students will also learn to update data into these dimension tables. Students already know about different types of dimension tables. Therefore, you can start the session by recapitulating the concepts. Initiate the class by asking the following questions: 1. What are the different types of dimensions? 2. Define flat dimension. 3. What are conformed dimension? 4. Define large dimension. 5. Define small dimension. 6. What is the importance of surrogate key in a dimension table? Students will learn the loading and update strategies theoretically in this session. The demonstration to load and update the data in the dimension table will be covered in next session.
- Students know the importance of surrogate keys. In this session students will learn the strategy to generate the surrogate key. Give an example to explain the strategy to generate the surrogate keys by concatenating the primary key of the source table with the date stamp. For example, data from a Product table has to be loaded into the Product_Dim dimension table on Feb 09, 2006. The product_code is the primary key column in the Product table. To insert the surrogate key values before loading the data into the dimension table, you can combine the primary key value with the date on which the data has to be loaded. In this case the surrogate key value can be product_code+09022006.
- Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
- Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
- Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
- Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
- Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
- Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
- Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
- Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
- Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
- You can summarize the session by running through the summary given in SG. In addition, you can also ask students summarize what they have learnt in this session.
- You can summarize the session by running through the summary given in SG. In addition, you can also ask students summarize what they have learnt in this session.