Full Transcript

CSBP119 Algorithms & Problem Solving CIT, UAEU CHAPTER 2 Input, Processing, & Output Copyright © 2018 Pearson Education, Ltd. ...

CSBP119 Algorithms & Problem Solving CIT, UAEU CHAPTER 2 Input, Processing, & Output Copyright © 2018 Pearson Education, Ltd. Topics Designing a Program Input, Processing, and Output Displaying Output with print Function Comments Variables Reading Input from the Keyboard Performing Calculations More About Data Output Named Constants Introduction to Turtle Graphics Copyright © 2018 Pearson Education, Ltd. Designing a Program Programs must be designed before they are written Program development cycle: Copyright © 2018 Pearson Education, Ltd. Designing a Program (cont’d.) The most important part of the cycle. The process of designing a program: 1. Understand the task that the program is to perform. 2. Determine the steps that must be taken to perform the task (Break down required task into a series of steps). This is called algorithm Algorithm: set of well-defined logical steps that must be taken to perform a task To translate the algorithm into code, Programmers commonly use pseudocode and flowcharts Copyright © 2018 Pearson Education, Ltd. Pseudocode Pseudocode: fake code Informal language that has no syntax rule Not meant to be compiled or executed Used to create model program or “mock-ups” No need to worry about syntax errors, can focus on program’s design Can be translated directly into actual code in any programming language Copyright © 2018 Pearson Education, Ltd. Example Write a program that calculates and displays the gross pay of an employee Algorithm in Pseudocode: 1. Input the number of hours worked 2. Input the hourly pay rate 3. Calculate gross pay as the number of hours worked times the hourly pay rate 4. Display the gross pay Copyright © 2018 Pearson Education, Ltd. Flowcharts Flowchart: diagram that graphically depicts the steps in a program – Ovals are terminal symbols Parallelograms are input and output symbols – Rectangles are processing symbols – Symbols are connected by arrows that represent the flow of the program Copyright © 2018 Pearson Education, Ltd. Copyright © 2018 Pearson Education, Ltd. Exercises 1.Write a pseudocode and flowchart to calculates the average of three marks 2. Write a pseudocode for a program that calculates the car's MPG and display the result. A car's miles-per-gallon (MPG) can be calculated with the following formula: MPG = Miles driven / Gallons of gas used Input, Processing, and Output Typically, computer performs three-step process Receive input Input: any data that the program receives while it is running Perform some process on the input Example: mathematical calculation Produce output Copyright © 2018 Pearson Education, Ltd. Functions Function: piece of prewritten code that performs an operation Argument: data given to a function Statements in a program execute in the order that they appear From top to bottom Copyright © 2018 Pearson Education, Ltd. Example: Displaying Output with the print Function print ('Hello World') print function: displays output on the screen Argument: data that is printed to screen, which is the string Hello World Copyright © 2018 Pearson Education, Ltd. Strings and String Literals String: sequence of characters that is used as data String literal: string that appears in actual code of a program Must be enclosed in single (') or double (") quote marks String literal can be enclosed in triple quotes (''' or """) Enclosed string can contain both single and double quotes and can have multiple lines Copyright © 2018 Pearson Education, Ltd. Examples print ('Hello World') print ("I can display single 'quotes' here!") print ('I can display double "quotes" here') print ("""I can display 'single' and "double" quotes here""") Output: Hello World I can display single 'quotes' here! I can display double "quotes" here I can display 'single' and "double" quotes here Copyright © 2018 Pearson Education, Ltd. Comments Comments: notes of explanation within a program Ignored by Python interpreter Intended for a person reading the program’s code Begin with a # character End-line comment: appears at the end of a line of code Typically explains the purpose of that line Copyright © 2018 Pearson Education, Ltd. Example #this is a Python comment #this program displays Hello World print ('Hello World') #display statement Output: Hello World Copyright © 2018 Pearson Education, Ltd. Variables Variable: name that represents a value stored in the computer memory Used to access and manipulate data stored in memory A variable references the value it represents Assignment statement: used to create a variable and make it reference data General format is variable = expression Example: age = 29 Assignment operator: the equal sign (=) Copyright © 2018 Pearson Education, Ltd. Example #this program creates two variables Width = 10 Length = 5 print('width') #display the string width print(width) #display the variable width print(length) Output: width 10 5 Copyright © 2018 Pearson Education, Ltd. Variables (cont’d.) In assignment statement, variable receiving value must be on left side A variable can be passed as an argument to a function Variable name should not be enclosed in quote marks You can only use a variable if a value is assigned to it Copyright © 2018 Pearson Education, Ltd. Variables (cont’d.) Copyright © 2018 Pearson Education, Ltd. Variable Naming Rules Rules for naming variables in Python: Variable name cannot be a Python key word Variable name cannot contain spaces First character must be a letter or an underscore After first character may use letters, digits, or underscores Variable names are case sensitive Variable name should reflect its use Copyright © 2018 Pearson Education, Ltd. Examples Copyright © 2018 Pearson Education, Ltd. Displaying Multiple Items with the print Function Python allows one to display multiple items with a single call to print Items are separated by commas when passed as arguments Arguments displayed in the order they are passed to the function Items are automatically separated by a space when displayed on screen Copyright © 2018 Pearson Education, Ltd. Example #this program demonstrates variables and multiple outputs Width = 10 Length = 5 print('The width is ', width) print('The length is ', length) Output: The width is 10 The length is 5 Copyright © 2018 Pearson Education, Ltd. Variable Reassignment Variables can reference different values while program is running Garbage collection: removal of values that are no longer referenced by variables Carried out by Python interpreter A variable can refer to item of any type Variable that has been assigned to one type can be reassigned to another type Copyright © 2018 Pearson Education, Ltd. Example # This program demonstrates variable reassignment # Assign a value to the dollars variable dollars = 2.75 print('I have', dollars, 'in my account') #reassign a different value to dollars Dollars = 99.95 print('Now I have', dollars, 'in my account') Output: I have 2.75 in my account Now I have 99.95 in my account Copyright © 2018 Pearson Education, Ltd. Numeric Data Types, Literals, and the str Data Type Data types: categorize value in memory e.g., int for integer, float for real number, str used for storing strings in memory Numeric literal: number written in a program No decimal point considered int, otherwise, considered float Copyright © 2018 Pearson Education, Ltd. Example x=99 print(x) x='Take me to your leader' print(x) Output: 99 Take me to your leader Copyright © 2018 Pearson Education, Ltd. Reading Input from the Keyboard Most programs need to read input from the user Built-in input function reads input from keyboard Returns the data as a string Format: variable = input(prompt) prompt is typically a string instructing user to enter a value Does not automatically display a space after the prompt Copyright © 2018 Pearson Education, Ltd. Example #first display the prompt and store the input in name name=input("what is your name? ") #then display a greeting print('Hi', name) Output: what is your name? Hi Holly Copyright © 2018 Pearson Education, Ltd. Reading Numbers with the input Function input function always returns a string Built-in functions convert between data types int(item) converts item to an int float(item) converts item to a float Nested function call: general format: function1(function2(argument)) value returned by function2 is passed to function1 Type conversion only works if item is valid numeric value, otherwise, throws exception Copyright © 2018 Pearson Education, Ltd. Example #read the hours hours_str = input('How many hours did you work?') hours = int(hours_str) #convert string to int #read and convert in one line (nested function call) rate = float(input('what is your hourly rate?')) print('hours', hours) Print('rate', rate) Copyright © 2018 Pearson Education, Ltd. Performing Calculations Math expression: performs calculation and gives a value Math operator: tool for performing calculation Operands: values surrounding operator Variables can be used as operands Resulting value typically assigned to variable Copyright © 2018 Pearson Education, Ltd. Python Math Operators Copyright © 2018 Pearson Education, Ltd. Example #read the hours hours_str = input('How many hours did you work?') hours = int(hours_str) #convert string to int #read and convert in one line (nested function call) rate = float(input('what is your hourly rate?')) #calculate gross pay: gross_pay = hours*rate print('gross pay', gross_pay) Copyright © 2018 Pearson Education, Ltd. Exercise Convert the following algorithm to python code 1. Input the original price of an item 2. Calculate the discount as 20 percent of the original price 3. Subtract the discount from the original price. This is the sale price 4. Display the sale price Copyright © 2018 Pearson Education, Ltd. Integer vs. Floating Point Division Two types of division: / operator performs floating point division // operator performs integer division Positive results truncated, negative rounded away from zero result_1 = 5 / 2 #floating point division result_2 = 5 // 2 #integer division print('floating point division result', result_1) print('integer division result', result_2) Output: floating point division result 2.5 integer division result 2 Copyright © 2018 Pearson Education, Ltd. Operator Precedence and Grouping with Parentheses Python operator precedence: 1. Operations enclosed in parentheses Forces operations to be performed before others 2. Exponentiation (**) 3. Multiplication (*), division (/ and //), and remainder (%) 4. Addition (+) and subtraction (-) Higher precedence performed first Same precedence operators execute from left to right Copyright © 2018 Pearson Education, Ltd. Example outcome = 12.0 + 6.0 / 3.0 Copyright © 2018 Pearson Education, Ltd. More Examples Copyright © 2018 Pearson Education, Ltd. Exercise: Calculating the Average Convert the following pseudocode to python 1. Input the first test score 2. Input the second test score 3. Input the third test score 4. Calculating the average by adding the three scores then dividing the sum by 3 5. Display the average Copyright © 2018 Pearson Education, Ltd. The Exponent Operator and the Remainder Operator Exponent operator (**): Raises a number to a power x ** y = xy Remainder operator (%): Performs division and returns the remainder a.k.a. modulus operator e.g., 4%2=0, 5%2=1 Typically used to convert times and distances, and to detect odd or even numbers Copyright © 2018 Pearson Education, Ltd. Example #calculate 4 squared result = 4**2 print('4 squared is', result) #calculate 17 mod 3 result = 17%3 print('17 mod 3 is', result) Output 4 squared is 16 17 mod 3 is 2 Copyright © 2018 Pearson Education, Ltd. Mixed-Type Expressions and Data Type Conversion Data type resulting from math operation depends on data types of operands Two int values: result is an int Two float values: result is a float int and float: int temporarily converted to float, result of the operation is a float Mixed-type expression Type conversion of float to int causes truncation of fractional part Copyright © 2018 Pearson Education, Ltd. Example fvalue = 2.6 print(int(fvalue)) fvalue = -2.9 print(int(fvalue)) Output 2 -2 Copyright © 2018 Pearson Education, Ltd. Breaking Long Statements into Multiple Lines Long statements cannot be viewed on screen without scrolling and cannot be printed without cutting off Multiline continuation character (\): Allows to break a statement into multiple lines result = var1 * 2 + var2 * 3 + \ var3 * 4 + var4 * 5 Copyright © 2018 Pearson Education, Ltd. Breaking Long Statements into Multiple Lines Any part of a statement that is enclosed in parentheses can be broken without the line continuation character. print("Monday's sales are", monday, "and Tuesday's sales are", tuesday, "and Wednesday's sales are", Wednesday) total = (value1 + value2 + value3 + value4 + value5 + value6) Copyright © 2018 Pearson Education, Ltd. Escape Characters Special characters appearing in string literal Preceded by backslash (\) Examples: newline (\n), horizontal tab (\t) Copyright © 2018 Pearson Education, Ltd. String Concatenation When + operator used on two strings in performs string concatenation Useful for breaking up a long string literal print('this is ' + 'one string.') print('Enter the amount ' + 'of sales for each day and ' + 'press Enter.') Copyright © 2018 Pearson Education, Ltd. Formatting Numbers Can format display of numbers on screen using built-in format function Two arguments: Numeric value to be formatted Format specifier Returns string containing formatted number Format specifier typically includes precision and data type Can be used to indicate scientific notation, comma separators, and the minimum field width used to display the value Copyright © 2018 Pearson Education, Ltd. Formatting Numbers (cont’d.) Before formatting amount_due = 5000.0 monthly_payment = amount_due / 12.0 print('the monthly payment is', monthly_payment) Output The monthly payment is 416.666666667 After formatting print('formatted output', format(monthly_payment, '.2f') Output formatted output 416.67 Copyright © 2018 Pearson Education, Ltd. Formatting Numbers (cont’d.) The format specifier is a string that contains special characters specifying how the numbers should be formatted Example: '.2f'.2 specifies the precision to be 2 decimal places f indicates that it's a floating point number Copyright © 2018 Pearson Education, Ltd. Formatting Numbers (cont’d.) We can also specify a minimum field width, which is minimum number of spaces to display for a value Useful when we want to print numbers aligned in columns Width = 1000.0 Length = 5.0 print(format(width, '10.1f')) print(format(length, '10.1f')) Output Copyright © 2018 Pearson Education, Ltd. Formatting Numbers (cont’d.) The % symbol can be used in the format string of format function to format number as percentage To format an integer using format function: Use d as the type designator Do not specify precision Can still use format function to set field width Copyright © 2018 Pearson Education, Ltd. Examples print(format(0.5, '%')) print(format(0.5, '.0%')) Output 50.000000% 50% print(format(12, '10d')) print(format(12000, '10d')) Output 12 12000 Copyright © 2018 Pearson Education, Ltd. Named Constants A named constant is a name that represents a value that does not change during the program's execution. Example: INTEREST_RATE = 0.069 This creates a named constant named INTEREST_RATE, assigned the value 0.069. amount = balance * INTEREST_RATE Copyright © 2018 Pearson Education, Ltd. Optional Slides TURTLE GRAPHICS Copyright © 2018 Pearson Education, Ltd. Introduction to Turtle Graphics Python's turtle graphics system displays a small cursor known as a turtle. You can use Python statements to move the turtle around the screen, drawing lines and shapes. Copyright © 2018 Pearson Education, Ltd. Introduction to Turtle Graphics To use the turtle graphics system, you must import the turtle module with this statement: import turtle This loads the turtle module into memory Copyright © 2018 Pearson Education, Ltd. Moving the Turtle Forward Use the turtle.forward(n) statement to move the turtle forward n pixels. >>> import turtle >>> turtle.forward(100) >>> Copyright © 2018 Pearson Education, Ltd. Turning the Turtle The turtle's initial heading is 0 degrees (east) Use the turtle.right(angle) statement to turn the turtle right by angle degrees. Use the turtle.left(angle) statement to turn the turtle left by angle degrees. Copyright © 2018 Pearson Education, Ltd. Turning the Turtle >>> import turtle >>> turtle.forward(100) >>> turtle.left(90) >>> turtle.forward(100) Copyright © 2018 Pearson Education, Ltd. Turning the Turtle >>> import turtle >>> turtle.forward(100) >>> turtle.right(45) >>> turtle.forward(100) Copyright © 2018 Pearson Education, Ltd. Setting the Turtle's Heading Use the turtle.setheading(angle) statement to set the turtle's heading to a specific angle. >>> import turtle >>> turtle.forward(50) >>> turtle.setheading(90) >>> turtle.forward(100) >>> turtle.setheading(180) >>> turtle.forward(50) >>> turtle.setheading(270) >>> turtle.forward(100) >>> Copyright © 2018 Pearson Education, Ltd. Setting the Pen Up or Down When the turtle's pen is down, the turtle draws a line as it moves. By default, the pen is down. When the turtle's pen is up, the turtle does not draw as it moves. Use the turtle.penup() statement to raise the pen. Use the turtle.pendown() statement to lower the pen. Copyright © 2018 Pearson Education, Ltd. Setting the Pen Up or Down >>> import turtle >>> turtle.forward(50) >>> turtle.penup() >>> turtle.forward(25) >>> turtle.pendown() >>> turtle.forward(50) >>> turtle.penup() >>> turtle.forward(25) >>> turtle.pendown() >>> turtle.forward(50) Copyright © 2018 Pearson Education, Ltd. Drawing Circles Use the turtle.circle(radius) statement to draw a circle with a specified radius. >>> import turtle >>> turtle.circle(100) Copyright © 2018 Pearson Education, Ltd. Drawing Dots Use the turtle.dot() statement to draw a simple dot at the turtle's current location. >>> import turtle >>> turtle.dot() >>> turtle.forward(50) >>> turtle.dot() >>> turtle.forward(50) >>> turtle.dot() >>> turtle.forward(50) Copyright © 2018 Pearson Education, Ltd. Changing the Pen Size and Drawing Color Use the turtle.pensize(width) statement to change the width of the turtle's pen, in pixels. Use the turtle.pencolor(color) statement to change the turtle's drawing color. See Appendix D in your textbook for a complete list of colors. >>> import turtle >>> turtle.pensize(5) >>> turtle.pencolor('red') >>> turtle.circle(100) Copyright © 2018 Pearson Education, Ltd. Working with the Turtle's Window Use the turtle.bgcolor(color) statement to set the window's background color. See Appendix D in your textbook for a complete list of colors. Use the turtle.setup(width, height) statement to set the size of the turtle's window, in pixels. The width and height arguments are the width and height, in pixels. For example, the following interactive session creates a graphics window that is 640 pixels wide and 480 pixels high: >>> import turtle >>> turtle.setup(640, 480) Copyright © 2018 Pearson Education, Ltd. Resetting the Turtle's Window The turtle.reset() statement: Erases all drawings that currently appear in the graphics window. Resets the drawing color to black. Resets the turtle to its original position in the center of the screen. Does not reset the graphics window’s background color. The turtle.clear() statement: Erases all drawings that currently appear in the graphics window. Does not change the turtle's position. Does not change the drawing color. Does not change the graphics window’s background color. The turtle.clearscreen() statement: Erases all drawings that currently appear in the graphics window. Resets the drawing color to black. Resets the turtle to its original position in the center of the screen. Resets the graphics window’s background color to white. Copyright © 2018 Pearson Education, Ltd. Working with Coordinates The turtle uses Cartesian Coordinates Copyright © 2018 Pearson Education, Ltd. Moving the Turtle to a Specific Location Use the turtle.goto(x, y) statement to move the turtle to a specific location. >>> import turtle >>> turtle.goto(0, 100) >>> turtle.goto(−100, 0) >>> turtle.goto(0, 0) The turtle.pos() statement displays the turtle's current X,Y coordinates. The turtle.xcor() statement displays the turtle's current X coordinate and the turtle.ycor() statement displays the turtle's current Y coordinate. Copyright © 2018 Pearson Education, Ltd. Animation Speed Use the turtle.speed(speed) command to change the speed at which the turtle moves. The speed argument is a number in the range of 0 through 10. If you specify 0, then the turtle will make all of its moves instantly (animation is disabled). Copyright © 2018 Pearson Education, Ltd. Hiding and Displaying the Turtle Use the turtle.hideturtle() command to hide the turtle. This command does not change the way graphics are drawn, it simply hides the turtle icon. Use the turtle.showturtle() command to display the turtle. Copyright © 2018 Pearson Education, Ltd. Displaying Text Use the turtle.write(text) statement to display text in the turtle's graphics window. The text argument is a string that you want to display. The lower-left corner of the first character will be positioned at the turtle’s X and Y coordinates. Copyright © 2018 Pearson Education, Ltd. Displaying Text >>> import turtle >>> turtle.write('Hello World') Copyright © 2018 Pearson Education, Ltd. Filling Shapes To fill a shape with a color: Use the turtle.begin_fill() command before drawing the shape Then use the turtle.end_fill() command after the shape is drawn. When the turtle.end_fill() command executes, the shape will be filled with the current fill color Copyright © 2018 Pearson Education, Ltd. Filling Shapes >>> import turtle >>> turtle.hideturtle() >>> turtle.fillcolor('red') >>> turtle.begin_fill() >>> turtle.circle(100) >>> turtle.end_fill() Copyright © 2018 Pearson Education, Ltd. Keeping the Graphics Window Open When running a turtle graphics program outside IDLE, the graphics window closes immediately when the program is done. To prevent this, add the turtle.done() statement to the very end of your turtle graphics programs. This will cause the graphics window to remain open, so you can see its contents after the program finishes executing. Copyright © 2018 Pearson Education, Ltd. Summary This chapter covered: The program development cycle, tools for program design, and the design process Ways in which programs can receive input, particularly from the keyboard Ways in which programs can present and format output Use of comments in programs Uses of variables and named constants Tools for performing calculations in programs The turtle graphics system Copyright © 2018 Pearson Education, Ltd.

Use Quizgecko on...
Browser
Browser