COP 1000C Lab Assignment 3 20 Points For the following program: 1) Create an algorithm called exemptAlgorithm.txt 2) Create the source code called exempt.py 3) Upload your algorithm and source code to BCOnline. Exempt You will be writing a program to determine whether or not a student is exempt from the final exam in COP1000C. Your program should do the following: • Prompt the user for a student’s average and number of days missed. Input Validation: • Average must be between 0 and 100 • Number of days missed cannot be less than 0. Be sure to validate each value separately! • Use the following conditions to display a message indicating whether or not a student is exempt from the final exam. If exempt, indicate why. o Average is at least 96 o Average is at least 93 and days missed are less than 3 o Average is at least 90 and student has perfect attendance Grading Rubric: Algorithm (5) ______ Intro (1) ______ Variables (1) ______ • Declaration • Initialization Input Validation (3) ______ Selection Structure (10) ______
COP1000C Lab Assignment 3
20 Points
For the following program:
1) Create an algorithm called exemptAlgorithm.txt
2) Create the source code called exempt.py
3) Upload your algorithm and source code to BCOnline.
Exempt
You will be writing a program to determine whether or not a
student is exempt from the final exam in COP1000C.
Your program should do the following:
• Prompt the user for a student’s average and number of days
missed.
Input Validation:
• Average must be between 0 and 100
• Number of days missed cannot be less than 0.
Be sure to validate each value separately!
• Use the following conditions to display a message
indicating whether or not a student is exempt from the final
exam. If exempt, indicate why.
o Average is at least 96
o Average is at least 93 and days missed are less than 3
o Average is at least 90 and student has perfect
attendance
Grading Rubric:
Algorithm (5) ______
Intro (1) ______
Variables (1) ______
• Declaration
• Initialization
Input Validation (3) ______
Selection Structure (10) ______
Sample Output:
Copyright © 2018 Pearson Education, Inc.
C H A P T E R 3
Decision
Structures and
Boolean Logic
Copyright © 2018 Pearson Education, Inc.
Topics
• The if Statement
• The if-else Statement
• Comparing Strings
• Nested Decision Structures and the if-elif-else
Statement
• Logical Operators
• Boolean Variables
• Turtle Graphics: Determining the State of the Turtle
Copyright © 2018 Pearson Education, Inc.
The if Statement
• Control structure: logical design that
controls order in which set of
statements execute
• Sequence structure: set of statements
that execute in the order they appear
• Decision structure: specific action(s)
performed only if a condition exists
• Also known as selection structure
Copyright © 2018 Pearson Education, Inc.
The if Statement (cont’d.)
• In flowchart, diamond represents true/
false condition that must be tested
• Actions can be conditionally executed
• Performed only when a condition is true
• Single alternative decision structure:
provides only one alternative path of
execution
• If condition is not true, exit the structure
Copyright © 2018 Pearson Education, Inc.
The if Statement (cont’d.)
Copyright © 2018 Pearson Education, Inc.
The if Statement (cont’d.)
• Python syntax:
if condition:
Statement
Statement
• First line known as the if clause
• Includes the keyword if followed by condition
• The condition can be true or false
• When the if statement executes, the condition is
tested, and if it is true the block statements are
executed. otherwise, block statements are skipped
Copyright © 2018 Pearson Education, Inc.
Boolean Expressions and Relational
Operators
• Boolean expression: expression tested
by if statement to determine if it is true
or false
• Example: a > b
• true if a is greater than b; false otherwise
• Relational operator: determines whether
a specific relationship exists between
two values
• Example: greater than (>)
Copyright © 2018 Pearson Education, Inc.
Boolean Expressions and Relational
Operators (cont’d.)
• >= and <= operators test more than one relationship • It is enough for one of the relationships to exist
for the expression to be true
• == operator determines whether the two
operands are equal to one another
• Do not confuse with assignment operator (=)
• != operator determines whether the two
operands are not equal
Copyright © 2018 Pearson Education, Inc.
Boolean Expressions and Relational
Operators (cont’d.)
Copyright © 2018 Pearson Education, Inc.
Boolean Expressions and Relational
Operators (cont’d.)
• Using a Boolean expression with the >
relational operator
Copyright © 2018 Pearson Education, Inc.
Boolean Expressions and Relational
Operators (cont’d.)
• Any relational operator can be used in a
decision block
• Example: if balance == 0
• Example: if payment != balance
• It is possible to have a block inside
another block
• Example: if statement inside a function
• Statements in inner block must be
indented
with respect to the outer block
Copyright © 2018 Pearson Education, Inc.
The if-else Statement
• Dual alternative decision structure: two
possible paths of execution
– One is taken if the condition is true, and the
other if the condition is false
• Syntax: if condition:
statements
else:
other statements
• if clause and else clause must be aligned
• Statements must be consistently indented
Copyright © 2018 Pearson Education, Inc.
The if-else Statement (cont’d.)
Copyright © 2018 Pearson Education, Inc.
The if-else Statement (cont’d.)
Copyright © 2018 Pearson Education, Inc.
Comparing Strings
• Strings can be compared using the ==
and != operators
• String comparisons are case sensitive
• Strings can be compared using >, <, >=,
and <= • Compared character by character based on
the ASCII values for each character
• If shorter word is substring of longer word,
longer word is greater than shorter word
Copyright © 2018 Pearson Education, Inc.
Comparing Strings (cont’d.)
Copyright © 2018 Pearson Education, Inc.
Nested Decision Structures and the
if-elif-else Statement
• A decision structure can be nested
inside another decision structure
• Commonly needed in programs
• Example:
• Determine if someone qualifies for a loan, they
must meet two conditions:
• Must earn at least $30,000/year
• Must have been employed for at least two years
• Check first condition, and if it is true, check second
condition
Copyright © 2018 Pearson Education, Inc.
Copyright © 2018 Pearson Education, Inc.
Nested Decision Structures and the
if-elif-else Statement (cont’d.)
• Important to use proper indentation in a
nested decision structure
• Important for Python interpreter
• Makes code more readable for programmer
• Rules for writing nested if statements:
• else clause should align with matching if clause
• Statements in each block must be consistently
indented
Copyright © 2018 Pearson Education, Inc.
The if-elif-else Statement
• if-elif-else statement: special version of
a decision structure
• Makes logic of nested decision structures simpler to
write
• Can include multiple elif statements
• Syntax:
if condition_1:
statement(s)
elif condition_2:
statement(s)
elif condition_3:
statement(s)
else
statement(s)
Insert as many elif clauses
as necessary.
Copyright © 2018 Pearson Education, Inc.
The if-elif-else Statement
(cont’d.)
• Alignment used with if-elif-else
statement:
• if, elif, and else clauses are all aligned
• Conditionally executed blocks are consistently
indented
• if-elif-else statement is never required,
but logic easier to follow
• Can be accomplished by nested if-else
• Code can become complex, and indentation can cause
problematic long lines
Copyright © 2018 Pearson Education, Inc.
Copyright © 2018 Pearson Education, Inc.
Logical Operators
• Logical operators: operators that can be
used to create complex Boolean
expressions
• and operator and or operator: binary
operators, connect two Boolean expressions
into a compound Boolean expression
• not operator: unary operator, reverses the
truth of its Boolean operand
Copyright © 2018 Pearson Education, Inc.
The and Operator
• Takes two Boolean expressions as
operands
• Creates compound Boolean expression that is
true only when both sub expressions are true
• Can be used to simplify nested decision
structures
• Truth table for
the and operator
Value of the
Expression
Expression
falsefalse and false
falsefalse and true
falsetrue and false
truetrue and true
Copyright © 2018 Pearson Education, Inc.
The or Operator
• Takes two Boolean expressions as
operands
• Creates compound Boolean expression that is
true when either of the sub expressions is true
• Can be used to simplify nested decision
structures
• Truth table for
the or operator
Value of the
Expression
Expression
falsefalse and false
truefalse and true
truetrue and false
truetrue and true
Copyright © 2018 Pearson Education, Inc.
Short-Circuit Evaluation
• Short circuit evaluation: deciding the
value of a compound Boolean
expression after evaluating only one sub
expression
• Performed by the or and and operators
• For or operator: If left operand is true, compound
expression is true. Otherwise, evaluate right operand
• For and operator: If left operand is false, compound
expression is false. Otherwise, evaluate right
operand
Copyright © 2018 Pearson Education, Inc.
The not Operator
• Takes one Boolean expressions as
operand and reverses its logical value
• Sometimes it may be necessary to place
parentheses around an expression to clarify to
what you are applying the not operator
• Truth table for the not operator
Value of the Expression
false
true
Copyright © 2018 Pearson Education, Inc.
Checking Numeric Ranges with
Logical Operators
• To determine whether a numeric value
is within a specific range of values, use
and
Example: x >= 10 and x <= 20 • To determine whether a numeric value
is outside of a specific range of values,
use or
Example: x < 10 or x > 20
Copyright © 2018 Pearson Education, Inc.
Boolean Variables
• Boolean variable: references one of two
values, True or False
• Represented by bool data type
• Commonly used as flags
• Flag: variable that signals when some
condition exists in a program
• Flag set to False ! condition does not exist
• Flag set to True ! condition exists
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• The turtle.xcor() and turtle.ycor() functions
return the turtle’s X and Y coordinates
• Examples of calling these functions in an if
statement:
if turtle.xcor() > 100 and turtle.xcor() < 200: turtle.goto(0, 0)
if turtle.ycor() < 0: turtle.goto(0, 0)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• The turtle.heading() function returns the turtle’s
heading. (By default, the heading is returned in
degrees.)
• Example of calling the function in an if statement:
if turtle.heading() >= 90 and turtle.heading() <= 270: turtle.setheading(180)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• The turtle.isdown() function returns True if the
pen is down, or False otherwise.
• Example of calling the function in an if statement:
if turtle.isdown():
turtle.penup()
if not(turtle.isdown()):
turtle.pendown()
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• The turtle.isvisible() function returns True if
the turtle is visible, or False otherwise.
• Example of calling the function in an if statement:
if turtle.isvisible():
turtle.hideturtle()
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• When you call turtle.pencolor() without passing
an argument, the function returns the pen’s current
color as a string. Example of calling the function in an
if statement:
• When you call turtle.fillcolor() without passing
an argument, the function returns the current fill
color as a string. Example of calling the function in an
if statement:
if turtle.pencolor() == ‘red’:
turtle.pencolor(‘blue’)
if turtle.fillcolor() == ‘blue’:
turtle.fillcolor(‘white’)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• When you call turtle.bgcolor() without passing an
argument, the function returns the current
background color as a string. Example of calling the
function in an if statement:
if turtle.bgcolor() == ‘white’:
turtle.bgcolor(‘gray’)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• When you call turtle.pensize() without passing an
argument, the function returns the pen’s current size
as a string. Example of calling the function in an if
statement:
if turtle.pensize() < 3: turtle.pensize(3)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• When you call turtle.speed() without passing an
argument, the function returns the current animation
speed. Example of calling the function in an if
statement:
if turtle.speed() > 0:
turtle.speed(0)
Copyright © 2018 Pearson Education, Inc.
Turtle Graphics: Determining the
State of the Turtle
• See In the Spotlight: The Hit the Target Game in your
textbook for numerous examples of determining the
state of the turtle.
Copyright © 2018 Pearson Education, Inc.
Summary
• This chapter covered:
• Decision structures, including:
• Single alternative decision structures
• Dual alternative decision structures
• Nested decision structures
• Relational operators and logical operators as used in
creating Boolean expressions
• String comparison as used in creating Boolean
expressions
• Boolean variables
• Determining the state of the turtle in Turtle Graphics
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.