Lesson 24: Recursive Algorithms #1 (W07D3)
|
|
- Patrick McCoy
- 5 years ago
- Views:
Transcription
1 Lesson 24: Recursive Algorithms #1 (W07D3) Balboa High School Michael Ferraro October 2, / 52
2 Do Now public static int mysteryfcn(int n) { //precondition: n > 0 int result = 1; while ( n >= 1 ) { result *= n; n--; } } return result; Consider the code above for the mystery function above, mysteryfcn(). 1 What does mysteryfcn(3) return? Make a table! 2 How about mysteryfcn(5)? 3 What s a more fitting name for mysteryfcn()? 2 / 52
3 Aim Students will begin working with recursive algorithms, learning their two key attributes and tracing the execution of examples. 3 / 52
4 Demonstration (1 of 2) Watch as I write a program to... evaluate an infinite sum involving alternating ± terms ± via if()/else powers of 1 infinite loops via 1==1 true 4 / 52
5 Demonstration (2 of 2) Watch as I write a program to... compute an estimate of π using Euler s 1 infinite sum: π 2 6 = solve for π Scanner to ask for # of iterations 1 Leonhard Euler was a famous Swiss mathematician. See here. 5 / 52
6 Check-In Re: PS #4a Due date: Monday, 5 October 2015, before 5th Period Extra help over coming days: Room 319 during lunch and study hall Room 124 when afterschool help announced Today s material is related to PS #4b Where are you getting stuck in 3.5 (book problems)? 6 / 52
7 What is Recursion? Recursion, in programming, happens when a procedure 2 accomplishes a task by calling upon itself. Some problems lend themselves to being solved in such a way, while others are more easily solved using iterative 3 algorithms. Any method that can be written recursively can be written iteratively though doing so may not be trivial! 2 Think method in Java. 3 Think while() loops. 7 / 52
8 Example of Recursion: Factorial Recall the definition of factorial: n! = n (n 1) (n 2) / 52
9 Example of Recursion: Factorial Recall the definition of factorial: n! = n (n 1) (n 2) Ex: 5! = = / 52
10 Example of Recursion: Factorial Recall the definition of factorial: n! = n (n 1) (n 2) Ex: 5! = = 120 You can write an iterative procedure to figure out n!: public static int factorialiter(int n) { int result = 1; while ( n >= 1 ) { result *= n; n--; } } return result; 10 / 52
11 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 4! 11 / 52
12 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 3!) 12 / 52
13 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 (3 2!)) 13 / 52
14 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 (3 (2 1!))) 14 / 52
15 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 (3 (2 (1)))) 15 / 52
16 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 (3 (2))) 16 / 52
17 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (4 (6)) 17 / 52
18 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 (24) 18 / 52
19 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = / 52
20 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 4! in general terms: n! = n (n 1)! 20 / 52
21 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 4! in general terms: n! = n (n 1)! Let s watch this single-stepping video of a broken recursive factorial function. Save this Scratch program file to your Desktop. Start cloud-based Scratch and upload the downloaded program file. Fix the problem so the final value of 5! is / 52
22 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 4! in general terms: n! = n (n 1)! Consider this recursive implementation of a factorial procedure in Java: public static int factorialrec(int n) { return n * factorialrec(n-1); } 22 / 52
23 Example of Recursion: Factorial But you can think of factorial in terms of itself: 5! = 5 4! in general terms: n! = n (n 1)! Consider this recursive implementation of a factorial procedure in Java: public static int factorialrec(int n) { return n * factorialrec(n-1); } Download RecursiveFactorial.java from here, import into a new project called Lesson24, and run it. What happens? Why? 23 / 52
24 How factorialrec() Works Now 24 / 52
25 How factorialrec() Works Now 25 / 52
26 How factorialrec() Works Now 26 / 52
27 How factorialrec() Works Now 27 / 52
28 How factorialrec() Works Now 28 / 52
29 How factorialrec() Works Now 29 / 52
30 How factorialrec() Works Now 30 / 52
31 How factorialrec() Works Now 31 / 52
32 The Two Elements of Recursion All recursive procedures... 1 Make calls to themselves Ex: return n * factorialrec(n-1); 32 / 52
33 The Two Elements of Recursion All recursive procedures... 1 Make calls to themselves Ex: return n * factorialrec(n-1); 2 Have a base case, which acts to stop the recursion this was missing from factorialrec.java! 33 / 52
34 How factorialrec() Should Work 34 / 52
35 How factorialrec() Should Work 35 / 52
36 How factorialrec() Should Work 36 / 52
37 How factorialrec() Should Work 37 / 52
38 How factorialrec() Should Work 38 / 52
39 How factorialrec() Should Work 39 / 52
40 How factorialrec() Should Work 40 / 52
41 How factorialrec() Should Work 41 / 52
42 How factorialrec() Should Work 42 / 52
43 How factorialrec() Should Work 43 / 52
44 Determine the Base Case Whenever factorialrec() is called, check the value of n: if n = 1, simply return 1 otherwise, return as we did before 44 / 52
45 Determine the Base Case Whenever factorialrec() is called, check the value of n: if n = 1, simply return 1 otherwise, return as we did before Update factorialrec(): public static int factorialrec(int n) { if ( n == 1 ) { return 1; } return n * factorialrec(n - 1); } 45 / 52
46 A Simple Example Using a piece of paper, trace the execution of the code below and state its output. public static int simplerecex(int a) { if ( a == 0 ) { return 0; } return 2 + simplerecex(a - 1); } public static void main(string[] args) { int result = simplerecex(4); System.out.println("result is " + result); } 46 / 52
47 Sum of Squares, Part II How could you think of findsumofsquares() in recursive terms? findsumofsquares(n) = n 2 47 / 52
48 Sum of Squares, Part II How could you think of findsumofsquares() in recursive terms? findsumofsquares(n) = n 2 First, consider running the sum in reverse: findsumofsquares(n) = n 2 + (n 1) / 52
49 Sum of Squares, Part II How could you think of findsumofsquares() in recursive terms? findsumofsquares(n) = n 2 First, consider running the sum in reverse: findsumofsquares(n) = n 2 + (n 1) Rewrite the problem in terms of itself: findsumofsquares(n) = n 2 + findsumofsquares(n-1) 49 / 52
50 Sum of Squares, Part II How could you think of findsumofsquares() in recursive terms? findsumofsquares(n) = n 2 First, consider running the sum in reverse: findsumofsquares(n) = n 2 + (n 1) Rewrite the problem in terms of itself: findsumofsquares(n) = n 2 + findsumofsquares(n-1) Base case: What s the least value of n for which we should compute/evaluate findsumofsquares(n)? 50 / 52
51 Sum of Squares, Part II How could you think of findsumofsquares() in recursive terms? findsumofsquares(n) = n 2 First, consider running the sum in reverse: findsumofsquares(n) = n 2 + (n 1) Rewrite the problem in terms of itself: findsumofsquares(n) = n 2 + findsumofsquares(n-1) Base case: What s the least value of n for which we should compute/evaluate findsumofsquares(n)? Next class: You ll work in pairs to write a recursive version of findsumofsquares(). 51 / 52
52 HW Work on completing PS #4a 52 / 52
Lesson 36: for() Loops (W11D1)
Lesson 36: for() Loops (W11D1) Balboa High School Michael Ferraro October 26, 2015 1 / 27 Do Now Create a new project: Lesson36 Write class FirstForLoop: Include a main() method: public static void main(string[]
More informationLesson 26: ArrayList (W08D1)
Lesson 26: ArrayList (W08D1) Balboa High School Michael Ferraro October 5, 2015 1 / 25 Do Now Prepare PS #4a (paper form) for pick-up! Consider the code below for powiter(), an iterative algorithm that
More informationLesson 12: OOP #2, Accessor Methods (W03D4)
Lesson 12: OOP #2, Accessor Methods (W03D4) Balboa High School Michael Ferraro September 3, 2015 1 / 29 Do Now In your driver class from last class, create another new Person object with these characteristics:
More informationLesson 10: Quiz #1 and Getting User Input (W03D2)
Lesson 10: Quiz #1 and Getting User Input (W03D2) Balboa High School Michael Ferraro September 1, 2015 1 / 13 Do Now: Prep GitHub Repo for PS #1 You ll need to submit the 5.2 solution on the paper form
More informationLesson 39: Conditionals #3 (W11D4)
Lesson 39: Conditionals #3 (W11D4) Balboa High School Michael Ferraro October 29, 2015 1 / 29 Do Now In order to qualify for a $50k loan, the following conditions must be met: Your annual income must be
More informationLesson 04: Our First Java Program (W01D4
Lesson 04: Our First Java Program (W01D4) Balboa High School Michael Ferraro Lesson 04: Our First Java Program (W01D4 Do Now Start a terminal shell. From there, issue these commands
More informationNotes - Recursion. A geeky definition of recursion is as follows: Recursion see Recursion.
Notes - Recursion So far we have only learned how to solve problems iteratively using loops. We will now learn how to solve problems recursively by having a method call itself. A geeky definition of recursion
More informationLesson 38: Conditionals #2 (W11D3)
Lesson 38: Conditionals #2 (W11D3) Balboa High School Michael Ferraro October 28, 2015 1 / 61 Do Now In Lesson38/DoNow.java, write a method called isdivisiblebyfour() that takes an int returns the boolean
More informationCOSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand
COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com
More informationAnnouncements. Recursion and why study it. Recursive programming. Recursion basic idea
Announcements Recursion and why study it Tutoring schedule updated Do you find the sessions helpful? Midterm exam 1: Tuesday, April 11, in class Scope: will cover up to recursion Closed book but one sheet,
More informationCS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam
Seat Number Name CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam This is a closed book exam. Answer all of the questions on the question paper in the space provided. If
More informationCSE 143 Lecture 10. Recursion
CSE 143 Lecture 10 Recursion slides created by Marty Stepp and Alyssa Harding http://www.cs.washington.edu/143/ Recursion Iteration: a programming technique in which you describe actions to be repeated
More informationLec 3. Compilers, Debugging, Hello World, and Variables
Lec 3 Compilers, Debugging, Hello World, and Variables Announcements First book reading due tonight at midnight Complete 80% of all activities to get 100% HW1 due Saturday at midnight Lab hours posted
More informationCS 231 Data Structures and Algorithms Fall Binary Search Trees Lecture 23 October 29, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 Binary Search Trees Lecture 23 October 29, 2018 Prof. Zadia Codabux 1 Agenda Ternary Operator Binary Search Tree Node based implementation Complexity 2 Administrative
More informationTop-Down Program Development
Top-Down Program Development Top-down development is a way of thinking when you try to solve a programming problem It involves starting with the entire problem, and breaking it down into more manageable
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu
More informationCS 112 Introduction to Programming
CS 112 Introduction to Programming Conditional Statements Boolean Expressions and Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu
More informationCSCI-1200 Data Structures Fall 2017 Lecture 7 Order Notation & Basic Recursion
CSCI-1200 Data Structures Fall 2017 Lecture 7 Order Notation & Basic Recursion Announcements: Test 1 Information Test 1 will be held Monday, Sept 25th, 2017 from 6-7:50pm Students will be randomly assigned
More informationCSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours:
CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Tuesday 10:00 AM 12:00 PM * Wednesday 4:00 PM 5:00 PM Friday 11:00 AM 12:00 PM OR
More informationSTUDENT LESSON A12 Iterations
STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of
More informationAdministrivia. Last modified: Fri Aug 25 10:59: CS61B: Lecture #2 1
Administrivia Please make sure you have obtained a Unix account. If you are a concurrent enrollment student not yet on our lists, please tell a TA sothatwecanhaveyouaddedtothoseeligibletoreceiveanaccount.
More informationCS 4110 Programming Languages & Logics. Lecture 27 Recursive Types
CS 4110 Programming Languages & Logics Lecture 27 Recursive Types 4 November 2016 Announcements 2 My office hours are at the normal time today but canceled on Monday Guest lecture by Seung Hee Han on Monday
More informationCSC 1052 Algorithms & Data Structures II: Recursion
CSC 1052 Algorithms & Data Structures II: Recursion Professor Henry Carter Spring 2018 Recap Stacks provide a LIFO ordered data structure Implementation tradeoffs between arrays and linked lists typically
More informationRecursion. Let s start by looking at some problems that are nicely solved using recursion. First, let s look at generating The Fibonacci series.
Recursion The programs we have discussed so far have been primarily iterative and procedural. Code calls other methods in a hierarchical manner. For some problems, it is very useful to have the methods
More informationAlgebra 1. Standard 11 Operations of Expressions. Categories Combining Expressions Multiply Expressions Multiple Operations Function Knowledge
Algebra 1 Standard 11 Operations of Expressions Categories Combining Expressions Multiply Expressions Multiple Operations Function Knowledge Summative Assessment Date: Wednesday, February 13 th Page 1
More informationCS171:Introduction to Computer Science II
CS171:Introduction to Computer Science II Department of Mathematics and Computer Science Li Xiong 9/7/2012 1 Announcement Introductory/Eclipse Lab, Friday, Sep 7, 2-3pm (today) Hw1 to be assigned Monday,
More informationCS 455 Midterm Exam 1 Fall 2015 [Bono] Thursday, Oct. 1, 2015
Name: USC netid (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2015 [Bono] Thursday, Oct. 1, 2015 There are 5 problems on the exam, with 58 points total available. There are 10 pages to the exam (5 pages
More informationCOMP-202. Recursion. COMP Recursion, 2011 Jörg Kienzle and others
COMP-202 Recursion Recursion Recursive Definitions Run-time Stacks Recursive Programming Recursion vs. Iteration Indirect Recursion Lecture Outline 2 Recursive Definitions (1) A recursive definition is
More informationComputer Science E-119 Fall Problem Set 1. Due before lecture on Wednesday, September 26
Due before lecture on Wednesday, September 26 Getting Started Before starting this assignment, make sure that you have completed Problem Set 0, which can be found on the assignments page of the course
More informationPublic-Service Announcements
Public-Service Announcements The Computer Science Undergraduate Association(CSUA) welcomes all students interested in computer science to join them at their Welcome BBQ on Saturday, 8/27 from 12-4pm at
More informationHOW TO WRITE RECURSIVE FUNCTIONS ON YOUR OWN
HOW TO WRITE RECURSIVE FUNCTIONS ON YOUR OWN In this tutorial, you ll learn - well, you ve already read the title - how to write recursive functions on your own. If you re the person to whom recursive
More informationCSE 143. Lecture 9: introduction to recursion reading: 12.1
CSE 143 Lecture 9: introduction to recursion reading: 12.1 Recursion recursion: The definition of an operation in terms of itself. Solving a problem using recursion depends on solving smaller occurrences
More informationPublic-Service Announcements
Public-Service Announcements "CSUA has a Welcome BBQ on Wednesday, 2 September at 7PM in the Woz. Open to anyone interested in computer science. Please drop by our office located in 311 Soda Hall" Last
More informationProgramming Exercise 7: Static Methods
Programming Exercise 7: Static Methods Due date for section 001: Monday, February 29 by 10 am Due date for section 002: Wednesday, March 2 by 10 am Purpose: Introduction to writing methods and code re-use.
More informationRecursion. CSCI 112: Programming in C
Recursion CSCI 112: Programming in C 1 What is recursion? Recursion looks at a large problem as a bunch of smaller versions of the same problem. 2 2 What is recursion? Recursion looks at a large problem
More informationControls Structure for Repetition
Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power
More informationCircuits and Paths. April 13, 2014
Circuits and Paths April 13, 2014 Warm Up Problem Quandroland is an insect country that has four cities. Draw all possible ways tunnels can join the cities in Quadroland. (Remember that some cities might
More informationTheory of control structures
Theory of control structures Paper written by Bohm and Jacopini in 1966 proposed that all programs can be written using 3 types of control structures. Theory of control structures sequential structures
More informationAPCS Semester #1 Final Exam Practice Problems
Name: Date: Per: AP Computer Science, Mr. Ferraro APCS Semester #1 Final Exam Practice Problems The problems here are to get you thinking about topics we ve visited thus far in preparation for the semester
More informationRecursion. Garfield AP Computer Science. As usual, significant borrowings from Stuart Reges and Marty Stepp at UW -- thanks!!
Recursion Garfield AP Computer Science As usual, significant borrowings from Stuart Reges and Marty Stepp at UW -- thanks!! Definitions recursion: The definition of an operation in terms of itself. Solving
More informationCP122 CS I. Chapter 13: Recursion
CP122 CS I Chapter 13: Recursion Russian law banning VPNs comes into effect today Tech News! Tech News! Russian law banning VPNs comes into effect today Shelley: AI to write horror story openings THE PATH
More informationMethods. Every Java application must have a main method.
Methods Every Java application must have a main method. The JVM calls main when it runs your program. When main finishes control goes back to the JVM. Up to now, we have always coded public static void
More informationLab Session # 6 Functions. ALQUDS University Department of Computer Engineering
2013/2014 Programming Fundamentals for Engineers Lab Lab Session # 6 Functions ALQUDS University Department of Computer Engineering Objective: After completing this lab, the students should be able to:
More informationLoops. CSE 114, Computer Science 1 Stony Brook University
Loops CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Motivation Suppose that you need to print a string (e.g., "Welcome to Java!") a user-defined times N: N?
More informationCOMP110 Jump Around. Go ahead and get today s code in Eclipse as shown on next few slides. Kris Jordan
Go ahead and get today s code in Eclipse as shown on next few slides COMP110 Jump Around Fall 2015 Sections 2 & 3 Sitterson 014 November 19th, 2015 Kris Jordan kris@cs.unc.edu Sitterson 238 Classroom Materials
More informationRecursive Definitions
Recursion Objectives Explain the underlying concepts of recursion Examine recursive methods and unravel their processing steps Explain when recursion should and should not be used Demonstrate the use of
More informationAPCS-AB: Java. Recursion in Java December 12, week14 1
APCS-AB: Java Recursion in Java December 12, 2005 week14 1 Check point Double Linked List - extra project grade Must turn in today MBCS - Chapter 1 Installation Exercises Analysis Questions week14 2 Scheme
More informationChapter 12 Supplement: Recursion with Java 1.5. Mr. Dave Clausen La Cañada High School
Chapter 12 Supplement: Recursion with Java 1.5 La Cañada High School Recursion: Definitions Recursion The process of a subprogram (method) calling itself. A clearly defined stopping state must exist. The
More informationCIS Introduction to Computer Programming Spring Exam 1
CIS 110 - Introduction to Computer Programming Spring 2017 - Exam 1 Name: Recitation (e.g. 201): PennKey (e.g. eeaton): My signature below certifies that I have complied with the University of Pennsylvania
More informationThe University of Nottingham
The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 1 MODULE, SPRING SEMESTER 2016-2017 PROGRAMMING PARADIGMS Time allowed: TWO hours THIRTY minutes Candidates may complete the front cover
More informationClaremont McKenna College Computer Science
Claremont McKenna College Computer Science CS 51 Handout 4: Problem Set 4 February 10, 2011 This problem set is due 11:50pm on Wednesday, February 16. As usual, you may hand in yours until I make my solutions
More informationSoftware Development. Modular Design and Algorithm Analysis
Software Development Modular Design and Algorithm Analysis Precondition and Postcondition To create a good algorithm, a programmer must be able to analyse a precondition (starting state) and a postcondition
More informationMidterm Examination (MTA)
M105: Introduction to Programming with Java Midterm Examination (MTA) Spring 2013 / 2014 Question One: [6 marks] Choose the correct answer and write it on the external answer booklet. 1. Compilers and
More informationMore fun with recursion
Informatics 1 Functional Programming Lecture 6 More fun with recursion Don Sannella University of Edinburgh Part I Counting Counting Prelude [1..3] [1,2,3] Prelude enumfromto 1 3 [1,2,3] [m..n] stands
More informationLab 6: P.S. it s a stack Due 11:59 pm Monday, Mar 31, 2008
1 Assignment Lab 6: P.S. it s a stack Due 11:59 pm Monday, Mar 31, 2008 An interpreter is a program that executes other programs. For example, the Java Virtual Machine that you run using the java program
More informationThis exam is open book. Each question is worth 3 points.
This exam is open book. Each question is worth 3 points. Page 1 / 15 Page 2 / 15 Page 3 / 12 Page 4 / 18 Page 5 / 15 Page 6 / 9 Page 7 / 12 Page 8 / 6 Total / 100 (maximum is 102) 1. Are you in CS101 or
More informationActivity 6: Loops. Content Learning Objectives. Process Skill Goals
Activity 6: Loops Computers are often used to perform repetitive tasks. Running the same statements over and over again, without making any mistakes, is something that computers do very well. Content Learning
More informationi.e.: n! = n (n 1)
Recursion and Java Recursion is an extremely powerful problemsolving technique. Problems that at first appear difficult often have simple recursive solutions. Recursion breaks a problems into several smaller
More informationCOS 126 Exam Review. Exams overview Example programming exam Example written exam questions (part 1)
COS 126 Exam Review Exams overview Example programming exam Example written exam questions (part 1) Exams overview (revisited) We have exams in the fall Two written exams. Two programming exams. Prep sessions
More informationChapter 5 Lab Methods
Chapter 5 Lab Methods Lab Objectives Be able to write methods Be able to call methods Be able to write javadoc comments Be able to create HTML documentation using the javadoc utility Introduction Methods
More informationAL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I
AL GHURAIR UNIVERSITY College of Computing CSC 209 JAVA I week 3- Control Statements: Part I Objectives: To use the if and if...else selection statements to choose among alternative actions. To use the
More informationCOS 126 General Computer Science Fall Written Exam 1
COS 26 General Computer Science Fall 27 Written Exam This exam has 7 questions (including question ) worth a total of 7 points. You have 5 minutes. Write all answers inside the designated spaces. Policies.
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 9 (Part II) Recursion MOUNA KACEM Recursion: General Overview 2 Recursion in Algorithms Recursion is the use of recursive algorithms to solve a problem A recursive algorithm
More informationOver and Over Again GEEN163
Over and Over Again GEEN163 There is no harm in repeating a good thing. Plato Homework A programming assignment has been posted on Blackboard You have to convert three flowcharts into programs Upload the
More informationLecture 05: Methods. AITI Nigeria Summer 2012 University of Lagos.
Lecture 05: Methods AITI Nigeria Summer 2012 University of Lagos. Agenda What a method is Why we use methods How to declare a method The four parts of a method How to use (invoke) a method The purpose
More information1 Short Answer (15 Points Each)
Name: Write all of your responses on these exam pages. If you need extra space please use the backs of the pages. 1 Short Answer (15 Points Each) 1. Write the following Java declarations, (a) A double
More informationAlgorithm for siftdown(int currentposition) while true (infinite loop) do if the currentposition has NO children then return
0. How would we write the BinaryHeap siftdown function recursively? [0] 6 [1] [] 15 10 Name: template class BinaryHeap { private: int maxsize; int numitems; T * heap;... [3] [4] [5] [6] 114 0
More informationCS61B Lecture #2. Public Service Announcements:
CS61B Lecture #2 Please make sure you have obtained an account, run register, and finished the survey today. In the future (next week), the password required for surveys and such will be your account password
More informationCSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley
CSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley In Brief: What You Need to Know to Comment Methods in CSE 143 Audience o A random person you don t know who wants
More informationCS 106 Introduction to Computer Science I
CS 106 Introduction to Computer Science I 06 / 11 / 2015 Instructor: Michael Eckmann Today s Topics Comments and/or Questions? Sorting Searching Michael Eckmann - Skidmore College - CS 106 - Summer 2015
More informationMore Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements
More Things We Can Do With It! More operators and expression types More s 11 October 2007 Ariel Shamir 1 Overview Variables and declaration More operators and expressions String type and getting input
More informationLast Class. While loops Infinite loops Loop counters Iterations
Last Class While loops Infinite loops Loop counters Iterations public class January31{ public static void main(string[] args) { while (true) { forloops(); if (checkclassunderstands() ) { break; } teacharrays();
More informationIntroduction to Sequence
for Version 3 Basic Edition Lesson 18 Introduction to Sequence Welcome What do you think of when you hear the word sequence? Do you think of a set of numbers listed in a special order? If we can find a
More informationCOMP-202: Foundations of Programming. Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015
COMP-202: Foundations of Programming Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015 Announcements Check the calendar on the course webpage regularly for updates on tutorials and office hours.
More informationMcGill University School of Computer Science COMP-202A Introduction to Computing 1
McGill University School of Computer Science COMP-202A Introduction to Computing 1 Midterm Exam Thursday, October 26, 2006, 18:00-20:00 (6:00 8:00 PM) Instructors: Mathieu Petitpas, Shah Asaduzzaman, Sherif
More informationCS 455 Final Exam Fall 2016 [Bono] December 13, 2016
Name: USC NetID (e.g., ttrojan): CS 455 Final Exam Fall 2016 [Bono] December 13, 2016 There are 6 problems on the exam, with 67 points total available. There are 10 pages to the exam (5 pages double-sided),
More informationActivity 6: Loops. Content Learning Objectives. Process Skill Goals
Activity 6: Loops Computers are often used to perform repetitive tasks. Running the same statements over and over again, without making any mistakes, is something that computers do very well. Content Learning
More informationWhile Loops A while loop executes a statement as long as a condition is true while condition: statement(s) Statement may be simple or compound Typical
Recommended Readings Chapter 5 Topic 5: Repetition Are you saying that I am redundant? That I repeat myself? That I say the same thing over and over again? 1 2 Repetition So far, we have learned How to
More informationExample: Monte Carlo Simulation 1
Example: Monte Carlo Simulation 1 Write a program which conducts a Monte Carlo simulation to estimate π. 1 See https://en.wikipedia.org/wiki/monte_carlo_method. Zheng-Liang Lu Java Programming 133 / 149
More informationExam 2. Programming I (CPCS 202) Instructor: M. G. Abbas Malik. Total Marks: 40 Obtained Marks:
كلية الحاسبات وتقنية المعلوما Exam 2 Programming I (CPCS 202) Instructor: M. G. Abbas Malik Date: November 22, 2015 Student Name: Student ID: Total Marks: 40 Obtained Marks: Instructions: Do not open this
More informationMandatory Assignment 1, INF 4130, 2017
Mandatory Assignment 1, INF 4130, 2017 Deadline: Monday October 2. First: Read the general requirements for mandatory assignments at the department here: Norwegian: https://www.uio.no/studier/admin/obligatoriske-aktiviteter/mn-ifi-obliger-retningslinjer.html
More informationJava Assignment 3: Loop Practice Ver 3.0 Last Updated: 12/1/2015 8:57 AM
Java Assignment 3: Loop Practice Ver 3.0 Last Updated: 12/1/2015 8:57 AM Let s get some practice creating programs that repeat commands inside of a loop in order to accomplish a particular task. You may
More informationChapter 6 Recursion. The Concept of Recursion
Data Structures for Java William H. Ford William R. Topp Chapter 6 Recursion Bret Ford 2005, Prentice Hall The Concept of Recursion An algorithm is recursive if it can be broken into smaller problems of
More informationM105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014
M105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014 Question One: Choose the correct answer and write it on the external answer booklet. 1. Java is. a. case
More informationLecture 19: Recursion
Lecture 19: Recursion Building Java Programs: A Back to Basics Approach by Stuart Reges and Marty Stepp Copyright (c) Pearson 2013. All rights reserved. Recursion recursion: The definition of an operation
More informationChapter 10: Recursive Problem Solving
2400 COMPUTER PROGRAMMING FOR INTERNATIONAL ENGINEERS Chapter 0: Recursive Problem Solving Objectives Students should Be able to explain the concept of recursive definition Be able to use recursion in
More informationCIS 110 Introduction to Computer Programming 8 October 2013 Midterm
CIS 110 Introduction to Computer Programming 8 October 2013 Midterm Name: Recitation # (e.g., 201): Pennkey (e.g., eeaton): My signature below certifies that I have complied with the University of Pennsylvania
More informationCSE 1223: Exam II Autumn 2016
CSE 1223: Exam II Autumn 2016 Name: Instructions: Do not open the exam before you are told to begin. This exam is closed book, closed notes. You may not use any calculators or any other kind of computing
More informationCSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2013
CSCI 135 Exam #0 Fundamentals of Computer Science I Fall 2013 Name: This exam consists of 7 problems on the following 6 pages. You may use your single- side hand- written 8 ½ x 11 note sheet during the
More informationCOMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1
COMP 202 Recursion CONTENTS: Recursion COMP 202 - Recursion 1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself COMP 202 - Recursion
More informationCOS 126 General Computer Science Spring Written Exam 1
COS 126 General Computer Science Spring 2017 Written Exam 1 This exam has 9 questions (including question 0) worth a total of 70 points. You have 50 minutes. Write all answers inside the designated spaces.
More informationDecision-Making and Repetition
2.2 Recursion Introduction A recursive method is a method that call itself. You may already be familiar with the factorial function (N!) in mathematics. For any positive integer N, N! is defined to be
More informationPreconditions and Postconditions
1 Preconditions and Postconditions An important topic: preconditions and postconditions. They are a method of specifying what a function accomplishes. Data Structures and Other Objects Using C++ This is
More informationCSCI 136 Data Structures & Advanced Programming. Lecture 14 Fall 2018 Instructor: Bills
CSCI 136 Data Structures & Advanced Programming Lecture 14 Fall 2018 Instructor: Bills Announcements Mid-Term Review Session Monday (10/15), 7:00-8:00 pm in TPL 203 No prepared remarks, so bring questions!
More informationJava Errors and Exceptions. Because Murphy s Law never fails
Java Errors and Exceptions Because Murphy s Law never fails 1 Java is the most distressing thing to hit computing since MS-DOS. Alan Kay 2 Corresponding Book Sections Pearson Custom Computer Science: Chapter
More informationThe examination is open-book, and you may make use of any texts, handouts, or course notes. You may not, however, use a computer of any kind.
CS106B Spring 2012 Handout #14 April 30, 2012 Practice Midterm 1 Based on a handout by Eric Roberts Midterm Locations: Last Name A J: Go to Braun Auditorium Last Name K R: Go to Hewlett 201 Last Name S
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 10 Recursion and Search MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Recursion: General Overview 2 Recursion in Algorithms Recursion is the use of recursive algorithms to
More informationA Bad Idea Monday, April 16, :23 AM
Writing Functions Page 1 A Bad Idea 10:23 AM These notes are going to introduce how to write a function using an idea that may completely mislead the weak minded student. All students must be particularly
More informationRecursion Chapter 17. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Recursion Chapter 17 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Scope Introduction to Recursion: The concept of recursion Recursive methods Infinite recursion When to use (and
More informationChapter 5 Loops Liang, Introduction to Java Programming, Tenth Edition, Global Edition. Pearson Education Limited
Chapter 5 Loops Liang, Introduction to Java Programming, Tenth Edition, Global Edition. Pearson Education Limited 2015 1 Motivations Suppose that you need to print a string (e.g., "Welcome to Java!") a
More information