The document discusses operators, conditional constructs, and looping constructs in C#. It covers arithmetic, assignment, unary, comparison and logical operators. It also covers if/else statements, switch/case statements, while loops, do-while loops, for loops, and the break and continue statements for controlling program flow. The goal is to teach users how to use these programming elements to process data, make conditional decisions, and repeat code blocks.
Unleash Your Potential - Namagunga Girls Coding Club
02 iec t1_s1_oo_ps_session_02
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
Editor's Notes
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.
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.
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 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.
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.
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.
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.