Presentation is loading. Please wait.

Presentation is loading. Please wait.

Work with Data and Decision Structure

Similar presentations


Presentation on theme: "Work with Data and Decision Structure"— Presentation transcript:

1 Work with Data and Decision Structure

2 Formula to Expression

3 Increment/Decrement Operators
++ Increment Adds 1 to the operand (x = x + 1). -- Decrement Subtracts 1 from the operand (x = x - 1). int x = 14; int y = 8; Int z = 10; int result7 = --y; // result7 = 7 int result8 = ++x; // result8 = 15, x = 15 ++z; // z= 11 double a = 8.5; double b = 3.4; double result15 = --a; // result15 = 7.5 double result16 = ++b; // result16 = 4.4

4 Compound (Shortcut) Operators
+= Adding the operand to the starting value of the variable. -= Subtracting the operand from the starting value of the variable. *= Multiplying the operand by the starting value of the variable. /= Dividing the operand by the starting value of the variable. %= Remainder after dividing the right operand by the value in the variable.

5

6 Decrement/Increment by 1
private void button1_Click(object sender, EventArgs e) { int myInt; myInt = int.Parse(textBox1.Text); // myInt-=1; // myInt = --myInt; --myInt; textBox1.Text = myInt.ToString(); } private void button2_Click(object sender, EventArgs e) //myInt += 1; //myInt = ++myInt; ++myInt; textBox1.Text = myInt.ToString(); }

7 Decrement/Increment by any Step Value
private void button1_Click(object sender, EventArgs e) { int stepValue; stepValue = int.Parse(textBox2.Text); int myInt; myInt = int.Parse(textBox1.Text); myInt -= stepValue; // myInt = myInt - stepValue; textBox1.Text = myInt.ToString(); } private void button2_Click(object sender, EventArgs e) myInt += stepValue; // myInt = myInt + stepValue;

8 Prefix/Postfix Increment/Decrement Operators
int a = 5; int b = 5; int y = ++a; // a = 6, y = 6 int z = b++; // b = 6, z = 5 •When you use an increment or decrement operator as a prefix to a variable, the variable is incremented or decremented and then the result is assigned. •When you use an increment or decrement operator as a postfix to a variable, the result is assigned and then the variable is incremented or decremented.

9 Counter Example: Keep track the number of times a user clicks a button
Need to declare a variable: int Counter=0; Need to increase the counter by 1 when the button is clicked: Counter = Counter + 1; // Or Counter+=1; // Or ++Counter; Question: Where to declare this variable?

10 Example Incorrect: private void button1_Click(object sender, EventArgs e) { int Counter = 0; Counter = Counter + 1; textBox1.Text = Counter.ToString(); } Correct: int Counter = 0; private void button1_Click(object sender, EventArgs e) { Counter = Counter + 1; textBox1.Text = Counter.ToString(); }

11 Variable Scope The scope of a variable determines its visibility to the rest of a program. Procedural-level scope: declared in a procedure and visible only in the procedure. Class-level scope: declared in a class but outside any procedure; visible to all procedures in the class.

12 Decision Structure

13 Decision: Action based on condition Examples
Simple condition: If total sales exceeds $300 then applies 5% discount; otherwise, no discount. More than one condition: Taxable Income < = no tax 3000 < taxable income <= % tax Taxable income > % tax Complex condition: If an applicant’s GPA > 3.0 and SAT > 1200: admitted

14 Relational Operators A relational operator determines whether a specific relationship exists between two values Operator Meaning Expression > Greater than x > y Is x greater than y? < Less than x < y Is x less than y? >= Greater than or equal to x >= y Is x greater than or equal to y? <= Less than or equal to x <= y Is x less than or equal to you? == Equal to x == y Is x equal to y? != Not equal to x != y Is x not equal to you?

15 A Simple Decision Structure
The flowchart is a single-alternative decision structure It provides only one alternative path of execution In C#, you can use the if statement to write such structures. A generic format is: if (expression) { Statements; etc.; } The expression is a Boolean expression that can be evaluated as either true or false Cold outside True Wear a coat False

16 if Statement with Boolean Expression
sales > 50000 if (sales > 50000) { bonus = 500; } True bonus = 500 False

17 Tuition Rules (1) Tuition is $ If you take more than 12 units, each unit over 12 will be charged $200. private void button1_Click(object sender, EventArgs e) { int units; double tuition; units = int.Parse(textBox1.Text); tuition = ; if (units > 12) tuition = * (units - 12); } textBox2.Text = tuition.ToString("C");

18 Example of if-else Statement
if (temp > 40) { MessageBox.Show(“hot”); } else MessageBox.Show(“cold”); temp >40 display “hot” display “cold” True False

19 Tuition Rules (2) If total units <= 12, then tuition = 1200
Otherwise, tuition = per additional unit private void button1_Click(object sender, EventArgs e) { int units; double tuition; units = int.Parse(textBox1.Text); if (units <= 12) tuition = ; else tuition = * (units - 12); textBox2.Text = tuition.ToString("C"); } Note: If the if block contains only one line code, then the { } is optional.

20 Compute Weekly Wage For a 40-hour work week, overtime hours over 40 are paid 50% more than the regular pay. private void button1_Click(object sender, EventArgs e) { double hoursWorked, hourlyPay, wage; hoursWorked = double.Parse(textBox1.Text); hourlyPay = double.Parse(textBox2.Text); if (hoursWorked <= 40) wage=hoursWorked*hourlyPay; else wage=40*hourlyPay + 1.5*hourlyPay*(hoursWorked-40); textBox3.Text = wage.ToString("C"); }

21 Example: if with a block of statements
If total sales is greater than 1000, then the customer will get a 10% discount ; otherwise, the customer will get a 5% discount. Create a form to enter the total sales and use a button event procedure to compute and display the net payment in a textbox. And display a message “Thank you very much” if then total sales is greater than 1000; otherwise display a message “Thank you”.

22 private void button1_Click(object sender, EventArgs e)
{ double totalSales, discountRate, netPay; string myMsg; totalSales=double.Parse(textBox1.Text); if (totalSales <= 1000) discountRate = .05; netPay = totalSales * (1 - discountRate); myMsg = "Thank you!"; } else discountRate = .1; myMsg = "Thank you very much!"; textBox2.Text = netPay.ToString("C"); MessageBox.Show(myMsg);

23 Throwing an Exception In the following example, the user may entered invalid data (e.g. null) to the milesText control. In this case, an exception happens (which is commonly said to “throw an exception”). The program then jumps to the catch block. You can use the following to display an exception’s default error message: catch (Exception ex) { MessageBox.Show(ex.Message); } try { double miles; double gallons; double mpg; miles = double.Parse(milesTextBox.Text); gallons = double.Parse(gallonsTextBox.Text); mpg = miles / gallons; mpgLabel.Text = mpg.ToString(); } catch MessageBox.Show("Invalid data was entered."):

24 Use Try/Catch to Detect Data Syntax Error
{ double totalSales, discountRate, netPay; string myMsg; totalSales = double.Parse(textBox1.Text); if (totalSales <= 1000) discountRate = .05; netPay = totalSales * (1 - discountRate); myMsg = "Thank you!"; } else discountRate = .1; myMsg = "Thank you very much!"; textBox2.Text = netPay.ToString("C"); MessageBox.Show(myMsg); catch (Exception ex) MessageBox.Show(ex.Message);

25 Practices 1. The average of two exams is calculated by this rule: 60% * higher score + 40% * lower score. Create a form with two textboxes to enter the two exam scores and use a button event procedure to compute and display the weighted average with a MessageBox.Show statement. 2. An Internet service provider offers a service plan that charges customer based on this rule: The first 20 hours: $10 Each additional hour: $1.5 Create a form with a textbox to enter the hours used and use a button event procedure to compute and display the service charge with a MessageBox.Show statement.

26 Complex Condition with Logical Operators
The logical AND operator (&&) and the logical OR operator (||) allow you to connect multiple Boolean expressions to create a compound expression The logical NOT operator (!) reverses the truth of a Boolean expression Operator Meaning Description && AND Both subexpression must be true for the compound expression to be true || OR One or both subexpression must be true for the compound expression to be true ! NOT It negates (reverses) the value to its opposite one. Expression Meaning x >y && a < b Is x greater than y AND is a less than b? x == y || x == z Is x equal to y OR is x equal to z? ! (x > y) Is the expression x > y NOT true?

27 Logical Operators: &&, ||, !
Cond1 Cond2 Cond1 && Cond2 T T T F F T F F || Cond1 Cond2 Cond1 || Cond2 ! Cond ! Cond T F

28 Young: Age<30 Rich: Income >100000
private void button1_Click(object sender, EventArgs e) { double Age, Income; Age = double.Parse(textBox1.Text); Income = double.Parse(textBox2.Text); if (Age < 30 && Income > ) MessageBox.Show("You are young and rich"); else MessageBox.Show("You are not young or not rich"); }

29 Boolean (bool) Variables and Flags
You can store the values true or false in bool variables, which are commonly used as flags A flag is a variable that signals when some condition exists in the program False – indicates the condition does not exist True – indicates the condition exists Boolean good; // bool good; if (mydate.Year == 2011) { good = true; } else { good = false; } MessageBox.Show(good.ToString());

30 Using Boolean Variables and &&
private void button1_Click(object sender, EventArgs e) { bool Young=false, Rich=false; double Age, Income; Age = double.Parse(textBox1.Text); Income = double.Parse(textBox2.Text); if (Age < 30) Young = true; if (Income > ) Rich = true; if (Young && Rich) MessageBox.Show("You are young and rich"); else MessageBox.Show("You are not young OR not rich"); }

31 Using Boolean Variables and ||
private void button1_Click(object sender, EventArgs e) { bool Young=false, Rich=false; double Age, Income; Age = double.Parse(textBox1.Text); Income = double.Parse(textBox2.Text); if (Age < 30) Young = true; if (Income > ) Rich = true; if (Young || Rich) MessageBox.Show("You are young OR rich"); else MessageBox.Show("You are not young and not rich"); }

32 The if-else-if Statement
You can also create a decision structure that evaluates multiple conditions to make the final decision using the if-else-if statement In C#, the generic format is: if (expression) { } else if (expression) else int grade = double.Parse(textBox1.Text); if (grade >=90) { MessageBox.Show("A"); } else if (grade >=80) MessageBox.Show("B"); else if (grade >=70) MessageBox.Show("C"); else if (grade >=60) MessageBox.Show("D"); else MessageBox.Show("F");

33 if-else-if Example private void button1_Click(object sender, EventArgs e) { bool Young=false, Rich=false; double Age, Income; Age = double.Parse(textBox1.Text); Income = double.Parse(textBox2.Text); if (Age < 30) Young = true; if (Income > ) Rich = true; if (Young && Rich) MessageBox.Show("You are young and rich"); else if (Young && !Rich) MessageBox.Show("You are young but not rich"); else if (!Young && Rich) MessageBox.Show("You are not young but rich"); else MessageBox.Show("You are not young and not rich"); }

34 Working with DateTime Get current date: Get current date and time:
DateTime thisDate=DateTime.Today; Get current date and time: DateTime thisDate=DateTime.Now; Calculate # of days between two dates: myDate = DateTime.Parse(textBox1.Text); DaysBetween = thisDate.Subtract(myDate).Days;

35 Compute Age Given DOB DateTime myDate, thisDate=DateTime.Today;
double Age; myDate = DateTime.Parse(textBox1.Text); Age = (thisDate.Subtract(myDate).Days / 365); MessageBox.Show(Age.ToString());

36 Date Comparison DateTime thisDate, currentDate = DateTime.Today;
thisDate = DateTime.Parse(textBox1.Text); if (currentDate>thisDate) MessageBox.Show("after"); else MessageBox.Show("before");


Download ppt "Work with Data and Decision Structure"

Similar presentations


Ads by Google