cis162ad c l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CIS162AD - C# PowerPoint Presentation
Download Presentation
CIS162AD - C#

Loading in 2 Seconds...

play fullscreen
1 / 38

CIS162AD - C# - PowerPoint PPT Presentation


  • 186 Views
  • Uploaded on

CIS162AD - C#. If Statements 04_decisions.ppt. Overview of Topic. Pseudocode Flow Control Structures Flowcharting If, If-Else Nested If’s Select Case – Switch statement. Pseudocode. Pseudocode is a mixture of C# code and English like statements. Used when designing algorithms.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

CIS162AD - C#


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cis162ad c

CIS162AD - C#

If Statements

04_decisions.ppt

overview of topic
Overview of Topic
  • Pseudocode
  • Flow Control Structures
  • Flowcharting
  • If, If-Else
  • Nested If’s
  • Select Case – Switch statement
pseudocode
Pseudocode
  • Pseudocode is a mixture of C# code and English like statements.
  • Used when designing algorithms.
  • When designing, we don’t necessarily want to be concerned about method names (ToString). We want to concentrate on the design.
  • I’ll use pseudocode throughout the course, so don’t feel compelled to correct my syntax.
  • However, if at anytime you are not sure about a command, please be sure to ask for clarification. 
flow control structures
The order in which statements are executed.

There are four structures.

Sequence Control Structure

Selection Control Structure

Also referred to as branching (if and if-else)

Case Control Structure (switch)

Repetition Control Structure (loops)

Flow Control Structures
flowcharting
Flowcharting
  • A flowchartis a pictorial representation of an algorithm or logical steps.
  • Each step is represented by a symbol and the arrows indicate the flow and order of the steps.
  • The shape of the symbol indicates the type of operation that is to occur.
  • Flowcharts may help the move visual students learn and understand logic.
flowchart symbols

Input or Output

Begin or End

Decision

Processing

Branch or Direction of Flow

Flowchart Symbols
1 sequence control structure
1. Sequence Control Structure
  • The order statements are placed (sequenced) //inputintQty = int.Parse(txtQuantity.Text);decPrice = decimal.Parse(txtPrice.Text); //processdecSubtotal = intQty * decPrice; //outputtxtSubtotal.Text = decSubtotal.ToString(“N”);
  • The only way to display subtotal, statements must be in this order.
flowchart sequence control

Begin

Input price, qty

subtotal = price * qty

Output subtotal

End

Flowchart – Sequence Control
2 selection control if
2. Selection Control ( If )
  • Use if statements to determine if a set of statements should be executed.

decSubtotal = intQty * decPrice

if (chkSalesTax.Checked = = true) decSalesTax = decSubtotal * cdecTAX_RATE;

lblSalesTax.Text = decSalesTax.ToString(“C”);

flowchart if statement

Subtotal = qty * price

If taxable

True

Sales tax = subtotal * Tax Rate

False

Output sales tax

Flowchart – If Statement
selection control if else
Selection Control (If-Else)
  • Use if else statements when there are several options to choose from.

if (radNextDay.Checked == true)decShipping = cdecNEXT_DAY_SHIPPING_RATE;

elsedecShipping = cdecTHREE_DAY_SHIPPING_RATE;

  • After if else statement, decShipping will have a value.
flowchart if else statement

User selects Shipping

If Next Day

Shipping = Next Day

True

False

Shipping = Three Day

Output Shipping

Flowchart – If-Else Statement
condition is an expression
Condition is an Expression
  • Conditions evaluate to true or false.

if (condition)

true – 1 or more statements

else

false – 1 or more statements

block of code compound statements
Block of code – Compound Statements
  • Use braces to create a block of statements.
  • Single statements do NOT require braces.

if (intHours > 40)

{

decRegularPay = 40 * decPayRate;

decOvertimePay = (intHours – 40) * (decPayRate * cdec_OVERTIME_RATE);

}

else

{

decRegularPay = intHours * decPayRate;

decOvertimePay = 0;

}

decGrossPay = decRegularPay + decOvertimePay;

incorrect if else
Incorrect if-else

if (intHours > 40)

{

decRegularPay = 40 * decPayRate;

decOvertimePay = (intHours – 40) * (decPayRate * cdec_OVERTIME_RATE);

}

else

decRegularPay = intHours * decPayRate;

decOvertimePay = 0;

decGrossPay = decRegularPay + decOvertimePay;

  • decOvertimePay would always be set to zero, because there is a single statement for else since braces are not included.
nested if statements
Nested If Statements
  • First if has to be true in order to continue.

if (intQuantity >= 1) if (decPrice >= 5.00M)

decSubtotal = intQty * decPrice;

else {

MessageBox.Show(“Invalid price entered”); txtPrice.Focus(); txtPrice.SelectAll(); }

else

{

MessageBox.Show(“Invalid quantity entered”); txtQuantity.Focus(); txtQuantity.SelectAll();

}

matching an else to if
Matching an Else to If
  • How are else statements matched with an if?
  • Compiler works it’s way back. When an else is encounter, it looks back to find an if that has not been matched to an else.
  • Why do we indent each level?
  • We indent to make programs easier to read. Indenting has no effect on how compiler matches an else to an if.
selection control else if multiway branching
Selection Control (else if)Multiway Branching
  • Compare each condition from top to bottom, block of code for 1st true condition is executed, and then skip to the statement following the if-else statements.

if (radNextDay.Checked == true) decShipping = cdecNEXT_DAY_SHIPPING_RATE;

else if (radThreeDay.Checked == true)decShipping = cdecTHREE_DAY_SHIPPING_RATE;

else decShipping = cdecGROUND_SHIPPING_RATE;

relational operators
= =

! =

<

>

< =

> =

Equal to

Not Equal to

Less than

Greater than

Less than or equal to

Greater than or equal to

Relational Operators

Relational Operators are used to form conditions, and conditions can involve constants, variables, numeric operators, and functions.

assignment vs comparison
Assignment (=) vs Comparison (==)
  • if (x = 12) // may generate syntax error.
  • if (x == 12) // comparison
  • The error message generated will have to do with an implicit data conversion to bool.
  • If you get this error, check that you used 2 equal signs.
logical operators
Logical Operators
  • Compound or Complex Conditions can be form using Logical Operators.
    • && – And, both conditions must be true
    • | | – Or, either condition must be true
    • ! – Not, reverses the resulting condition
and logical operator
&& - And Logical Operator
  • Both conditions must be true in order for the entire condition to be true.

if (intQty > 0 && intQty < 51)

decSubtotal = intQty * decPrice;

Else

MessageBox.Show(“Enter a value between 1 and 50”);

  • What happens if qty = 25?
  • What happens if qty = 60?
use parentheses
Use Parentheses
  • Use parentheses to clarify or group conditions.
  • All conditions must be enclosed with outer parentheses.

if ((intQty > 0) && (intQty < 51))

decSubtotal = intQty * decPrice;

else

MessageBox.Show(“Enter a value between 1 and 50”);

or logical operator
| | - Or Logical Operator
  • Either condition must be true for the entire condition to be true.
  • The pipe character is located above the Enter key; must shift to select it, and two of them are entered next to each other.

if ((intQty < 1) || (intQty > 50))

MessageBox.Show “Enter a value between 1 and 50”);

else

decSubtotal = intQty * decPrice;

  • What happens if qty = 25?
  • What happens if qty = 60?
pipe character
Pipe Character - |
  • Where is the pipe character on the keyboard?
  • On most keyboards
    • It is right above the Enter key
    • Shares the key with the back slash - \
    • Must hold the shift key go get it
    • Instead of a solid line, it is shown as a broken line
  • For the Or operator, 2 pipe characters must be entered - | |.
  • For the And operator, 2 ampersands characters must be entered - &&.
short circuit comparisons
Short-Circuit Comparisons
  • In a compound comparison, if the result (True or False) can be determined before evaluating the entire Boolean Expression. This improves performance.
  • And – The 2nd condition is not evaluated if the 1st evaluates to False – the result of an entire evaluation of an And would be False anyway.
  • Or - The 2nd condition is not evaluated if the 1st evaluates to True – the result of an entire evaluation of an Or would be True anyway.
  • Using single operators (& or | ) forces the second condition to be tested. This is only needed if the condition includes a calculation. If we needed intCount incremented each time, this would be the correct syntax so that the 2nd condition is processed. (intAmount > 0 & intCount++ < intLimit)
not logical operator
! – Not Logical Operator
  • Not operator makes the condition the opposite of what it evaluated to…
  • If condition is true, Not makes it false.
  • If condition is false, Not makes it true.if ! (intQty = = 50) true intQty < > 50else false intQty = 50
  • Confusing, try not to use Not.
practice exercises
count =0 limit = 10 min=5

if ((count = = 0) && (limit < 20))

if (count = = 0 && limit < 20)

if (limit > 20 | | count < 5 )

if ! (count = = 12)

if ((count = = 10) | | (limit > 5 && min < 10))

True

True

True

True

True

Practice Exercises
comparing boolean s
Comparing Boolean’s
  • Booleans are variables that are equal to either True or False.
  • Some properties are also True or False.
  • The following condition will return True if the radio button for Next Day was checked: if (radNextDay.Checked = = true)
  • The shortcut to the above condition is to leave = = true off as follows: if (radNextDay.Checked)
  • We should usually express the desired condition (= = true) to avoid bugs and confusion.
comparing strings
Comparing Strings
  • String variables, properties, or literals can also be compared.
  • Only (==) and (!=) can be used with strings.
  • Can use CompareTo method – more on this later.
  • Strings are compared from left to right.
  • The characters’ binary value is used to determined which is greater or less than.
  • This means that capitalization is considered.
  • ASCII Code Table lists the binary values.
ascii table
ASCII Table
  • ASC II table shows the binary value of all 256 characters.
  • American Standard Code for Information Interchange
  • The Dec column shows the decimal value of the binary value.
  • Binary values are usually converted to hexadecimal (Hex) because the value can represented with two digits instead of 8.
  • Look up CR, HT, Space, A, a
  • Shows that a capital A is not the same as a lower case a.
  • Shows how values will be sorted (collating sequence).
  • Unicode – 2 bytes, 16 bits, 65,536 unique characters
toupper and tolower methods
ToUpper and ToLower Methods
  • Use ToUpper and ToLower methods of the String class to convert strings for comparisons.if txtState.Text.ToUpper( ) = = “CA” decSalesTax = decSubtotal * cdecTAX_RATE;
  • When we convert strings we only need to test for one condition, instead of every possible condition – ca, CA, Ca, cA.
input validation
Input Validation
  • We’ve used Try/Catch Blocks to capture invalid numeric data.
  • We can also use if statements to check for values that are not within a specified ranged.
  • We can test for missing data by using the empty string literal. if (txtName.Text = = “”)
  • If you find an input error
    • Display a specific error message (MessageBox.Show).
    • Use Focus method to place the user in the textbox that had the bad data.
    • Use SelectAll to select the bad data so that users can immediately type in the correct value.
  • Textboxes should be validated in the order matching the form’s TabOrder.
3 case control structure switch
3. Case Control Structure (switch)
  • Switch statement is an efficient decision-making structure that simplifies choosing among several actions.
  • Works good for a list of options (menus)
  • It avoids complex nested If constructs.
  • Just about all switch statements can be stated using an if block.
  • Be sure to handle each possible case.
  • Use default: to catch errors.
  • A break statement is required at the end of each case.
switch example
Switch Example

switch (strDiscType.ToUpper)

{

case “E”: //Employee

decDiscountRate = .05; break;

case “S”: //Student

decDiscountRate = .10; break;

case “C”: //Senior Citizen

decDiscountRate = .15; break;

default: //No discount

decDiscountRate =.00; break;

}

switch expression
Switch Expression
  • The matching case is determined by the value of the expression.
  • The expression can be a variable, property, operator expression, or method. switch (expression){ case 1: … case 2: … }
4 repetition control loops
4. Repetition Control (loops)
  • Loops are covered later in the term.
summary
Summary
  • Flow Control Structures
  • Flowcharts
  • If, If-Else
  • Nested if’s
  • Switch statement