lecture13-feb17 - Announcements Lecture 13 Assignment 3...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Announcements Lecture 13 • Assignment 3 – designs due Friday to your TA at beginning of recitation (not in lecture) • IPO, functional block diagram, algorithm • Exam 1 on Friday – Study tip: work the sample exam, specific exercises in the book (today), solutions are on BB – Be early !!, bring your student ID , pencil(s), – Bring Assn 2 data • # statements, # hours, # logic defects • Topics for today – Finish recursion – Scope of variables (Ch. 10.1-10.4) – Exam preview Towers of Hanoi - 4 disc example - A B C src aux dst Towers of Hanoi - 4 disc example - A B C src aux dst http://www.mazeworks.com/hanoi/index.htm See: Recursive Solution • The three pegs are A (Source), B (Auxiliary), C (Destination). • Sooner or later the bottom disk will have to be moved from A to C. At this point all the remaining disks will have to be stacked in decreasing size order on B. After moving the bottom disk from A to C the other disks will have to be moved from B to C. • Therefore, for a given number of N disks, the problem can be solved if we know how to accomplish the following tasks: 1. Move the top N-1 disks from A to B (using C as an intermediary peg) 2. Move the bottom disk from A to C 3. Move N-1 disks from B to C (using A as an intermediary peg) • Create a function Solve with four arguments - three pegs (source, intermediary and destination - in this order), and the number of disks. The algorithm looks like: Solve (A, B, C, N) if N is 1 Move disk from A to C else Solve (A, C, B, N-1) Move disk from A to C Solve (B, A, C, N-1) • The Solve function is recursive in that it calls itself repeatedly with decreasing values of N until a terminating condition (N=1) has been met. Tower of Hanoi Program (in C) /* This is the main driver function for the Tower of Hanoi */ void solve (char, char, char, int); /* prototype for solve */ int main( ) { int numDisks; /* holds the number of disks to play with */ /* set the initial 3 pegs - A, B and C from left to right. */
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/15/2010 for the course EE 16005 taught by Professor Krasner during the Spring '10 term at University of Texas at Austin.

Page1 / 4

lecture13-feb17 - Announcements Lecture 13 Assignment 3...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online