Introduction to Programming Recap and Memory in IDLE

Slide Note
Embed
Share

Explore the world of programming through a recap session covering essential topics like variable scope, recursive functions, and the difference between return and print statements. Dive into the details of function execution and memory management in IDLE, learning how parameters are passed and stored during program execution.


Uploaded on Sep 27, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Course A201: Introduction to Programming 11/11/2010

  2. Outline for this week Assignment 6 Recap for function Variable scope: global variable vs local variable Recursive function Assignment 8 Divide into two teams, come up with pseudo code then choose a partner

  3. Recap Difference between return and print Ex: circle_area.py def circle_area(radius): return (3.14159 * radius ** 2) circle_area(5) print( Now I know the area of the circle )

  4. Im IDLE for a while Recap def circle_area(radius): return (3.14159 * radius ** 2) circle_area(5) print ( Now I know the area of the circle )

  5. Below is my Memory Recap def circle_area(radius): return (3.14159 * radius ** 2) This region shows what I know before I starts to execute the program circle_area(5) print ( Now I know the area of the circle ) This region shows what I know during I m executing the program

  6. I know function circle_area ! Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) Start to execute. f- means function, p- means parameter

  7. Program tells me that now the parameter radius is 5 Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 Start to execute. f- means function, p- means parameter

  8. IDLEs memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 This region of memory is only for function circle_area Go to function circle_area(radius)

  9. IDLEs memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 It will be erased when I finish executing the function Go to function circle_area(radius)

  10. IDLEs memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 radius = 5 Go to function circle_area(radius)

  11. IDLEs memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 radius = 5 return value = 78.53975 Go to function circle_area(radius)

  12. IDLEs memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 (f-circle_area) return value=78.53975 Jump out of function circle_area

  13. IDLEs memory Recap Nothing on screen def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 (f-circle_area) return value=78.53975 Result stays in the memory of IDLE, but nothing will be shown on the screen

  14. Now I know the area of the circle IDLE s memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 (f-circle_area) return value=78.53975 Execute print Finish executing the function, goes to the next line

  15. Now I know the area of the circle IDLE s memory Recap def circle_area(radius): return (3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) print( Now I know the area of the circle ) (in f-circle_area) radius = 5 (f-circle_area) return value=78.53975 Execute print The result is not stored in any variable, so it is lost! Finish executing the function, goes to the next line

  16. Recap Therefore, the correct way to call a function with a return statement is: result = circle_area(5) print( Now I know the area of the circle: , result) result = result * 2 print( And also the area of 2 such circles: , result)

  17. Lets change to print Difference between return and print Ex: circle_area.py def circle_area(radius): print(3.14159 * radius ** 2) circle_area(5)

  18. IDLEs memory Recap def circle_area(radius): print(3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) (in f-circle_area) radius = 5 radius = 5 Go to function circle_area(radius)

  19. I am asked to print a value Recap 78.53975 def circle_area(radius): print(3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) (in f-circle_area) radius = 5 radius = 5 Screen shows: 78.53975

  20. IDLEs memory Recap 78.53975 def circle_area(radius): print(3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) (in f-circle_area) radius = 5 radius = 5 return value = None Screen shows: 78.53975

  21. IDLEs memory Recap 78.53975 def circle_area(radius): print(3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) (in f-circle_area) radius = 5 (f-circle_area) return value is None Jump out of function circle_area, no return value

  22. IDLEs memory Recap 78.53975 def circle_area(radius): print(3.14159 * radius ** 2) f-circle_area with p-radius circle_area(5) (in f-circle_area) radius = 5 (f-circle_area) return value is None Jump out of function circle_area, no return value

  23. Notice What shows on the screen does not equal with what IDLE knows/keeps in its memory When you write all codes in a file and execute it by pressing F5, IDLE will not show what it knows onto the screen unless you tell it to, using print

  24. Recap [parameter] A special kind of variable In the parentheses of function definition, separated by commas ex: def circle_area(radius): def print_heading(title):

  25. Recap [argument] The values in the parentheses in function calls Each value then is assigned to the corresponding parameter ex: def circle_area(radius): print(circle_area(5)) This is a function call

  26. Recap [argument] The values in the parentheses in function calls Each value then is assigned to the corresponding parameter ex: def circle_area(radius): print(circle_area(5)) 5 is the argument

  27. Recap [argument] The values in the parentheses in function calls Each value then is assigned to the corresponding parameter ex: def circle_area(radius): Then radius is assigned with value 5 in the function of cricle_area print(circle_area(5))

  28. Recap [argument] The values in the parentheses in function calls Each value then is assigned to the corresponding parameter ex: def circle_area(r1, r2, r3): In the same way: r1 is assigned 5 r2 is assigned 6 r3 is assigned 7 print(circle_area(5, 6, 7))

  29. Recap [default parameter values] def birthday1(name= Jackson , age=1): print( Happy birthday, , name, ! , I hear you're , age, today.\n ) >>> birthday1( Mary , 2) Happy birthday, Mary ! I hear you are 2 today. >>> birthday1() Happy birthday, Jackson ! I hear you are 1 today.

  30. Variable scope See lecture slides: Global variable and Local variable Let s see an example

  31. Recursive Function See lecture slides: Recursive Function

Related