Download presentation
Published byRodney Kennedy Modified over 9 years ago
1
Week #7 – 7/9/11 October 2002 Prof. Marie desJardins
CMSC 203 / 0201 Fall 2002 Week #7 – 7/9/11 October 2002 Prof. Marie desJardins
2
TOPICS Recursion Recursive and iterative algorithms
Program correctness
3
MON 10/7 RECURSION (3.3)
4
Concepts/Vocabulary Recursive (a.k.a. inductive) function definitions
Recursively defined sets Special sequences: Factorial F(0)=1, F(n) = F(n-1)(n) = n! Fibonacci numbers f0 = 0, f1 = 1, fn = fn-1 + fn-2 Strings *: Strings over alphabet Empty string String length l(s) String concatenation
5
Examples S1 = Even positive integers S2 = Even integers
2 S1; x+2 S1 if x S1 S2 = Even integers 2 S2; x+2 S2 if x S2; x-2 S2 if x S2 Prove that S1 is the set of all even positive integers Every even positive integer is in S1… Every member of S1 is an even positive integer…
6
Examples II Exercise 3.3.5: Give a recursive definition of the sequence {an}, n = 1, 2, 3, … if (a) an = 6n (b) an = 2n + 1 (c) an = 10n (d) an = 5 Exercise : When does a string belong to the set A of bit strings defined recursively by 0x1 A if x A, where is the empty string?
7
Examples III Exercise : Use Exercise 29 [definition of wi] and mathematical induction to show that l(wi) = i l(w), where w is a string and i is a nonnegative integer. Exercise : Show that (wR)I = (wi)R whenever w is a string and I is a nonnegative integer; that is, show that the ith power of the reversal of a string is the reversal of the ith power of the string.
8
WED 10/9 RECURSIVE ALGORITHMS (3.4)
** HOMEWORK #4 DUE ** ** UNGRADED QUIZ TODAY **
9
Concepts / Vocabulary Recursive algorithm Iterative algorithm
10
Examples Algorithm 7: Recursive Fibonacci
Complexity of f7 (Exercise 14), fn Algorithm 8: Iterative Fibonacci Complexity f7 (Exercise 14), fn Eercise : Give a recursive algorithm for finding the reversal of a bit string.
11
FRI 10/11 PROGRAM CORRECTNESS (3.5)
12
Concepts / Vocabulary Initial assertion, final assertion
Correctness, partial correctness, termination “Partially correct with respect to initial assertion p and final assertion q” Rules of inference Composition rule Conditional rules Loop invariants
13
Examples Exercise 3.5.3: Verify that the program segment x := 2 z := x + y if y > 0 then z := z + 1 else z := 0 is correct with respect to the initial assertion y=3 and the final assertion z=6.
14
Examples II Exercise 3.5.6: Use the rule of inference developed in Exercise 5 [if… else if … else …] to verify that the program if x < 0 then y := -2|x| / x else if x > 0 then y := 2|x| / x else if x = 0 then y := 2 is correct with respect to the initial assertion T and the final assertion y=2.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.