# Programming Exercises

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 6 Problem 1 Programming Exercises Modify the recursive Fibonacci program given in the chapter so that it prints tracing information. Specifically, have the function print a message when it is called and when it returns. For example, the output should contain lines like these: Computing fib(4)... Leaving fib(4) returning 3 Use your modified version of fib to compute fib(10) and count how many times fib(3) is computed in the process. First, copy and paste the program as it s written on the top of page 442 in your textbook. Second, you will need to add a print statement in three separate places: before you run the recursion conditions, beneath the condition if n < 3, and beneath the else statement. Remember to cast n into a character using the str function. Thirdly you will need to keep track of the number of times you run fib(3). This is not that hard. Simply declare a variable outside the function (I call mine numberofthrees) and assign it the value of 0. In the function, insert a condition to check if n is equal to 3 (implying we re running fib(3)). If so, add one to numberofthrees. But remember to include the line global numberofthrees at the beginning of fib so it knows to use that global variable instead of some local variable named numberofthrees and it will cause an UnboundLocalError. Finally, below the fib functions definition, run fib(10) and print out numberofthrees. numberofthrees = 0 def fib(n): global numberofthrees print("computing fib(" + str(n) + ")") if n is 3: numberofthrees +=1 if n < 3: print("leaving fib(" + str(n) + ") returning 1") return 1 output = fib(n-1) + fib(n-2) print("leaving fib(" + str(n) + ") returning " + str(output)) return output fib(10) print(numberofthrees) 4

2 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 2 Problem 3 A palindrome is a sentence that contains the same sequence of letters reading it either forwards or backwards. A classic example is: Able was I, ere I saw Elba. Write a recursive function that detects whether a string is a palindrome. I shortened the instructions to the basic idea. The very first thing you should do is check to make sure there aren t any punctuation marks, spaces, or capital letters to mess up your calculations. Use string.punctuation and remove every instance of a punctuation mark from the text using the replace function. Next, use replace to remove all spaces, and then use lower to turn all letters into lowercase (because, for example, a!= A). Make sure you only do this once by checking if the entire text is made of alphabet characters using not(quote.isalpha()). There are two base cases for this recursive function: if the remaining text is of length 1, and if the remaining text is of length 2. If it s length 1, return True (because that s how palindromes work). If it s length 2, then check if both letters are the same then return True if so. Return False otherwise. Finally, create a function that takes manual input from a user and determines if it is a palindrome. def ispalindrome(quote): #cleanup string if not(quote.isalpha()): for punc in string.punctuation: quote = quote.replace(punc, "") quote = quote.replace(" ", "") quote = quote.lower() print(quote) #base case if len(quote) is 1: return True if len(quote) is 2: if quote[0] is quote[1]: return True return False if quote[0] is quote[-1]: print(quote[1:-1]) return ispalindrome(quote[1:-1]) return False def main(): string = input("give me something on the next line, and I will determine if it is a palindrome.") return ispalindrome(string) main() 5

3 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 4 Problem 4 Write and test a recursive function max to find the largest number in a list. The max is the larger of the first item and the max of all the other items. The wording of the exercise is somewhat vague and max is a built-in function, so I m going to change it to maximum instead. What this exercise is trying to tell you is the following: maximum(list) = whatever is greater: list[0] or maximum[the list minus the first entry] The first thing you must do is find the base case, which in our case is... len(alist) == 2: return whichever item in alist is greater Now we look for a general case, which will be calculate the maximum of the list - without the first element. set it to the variable a. if the first element of the list is greater than a, return the first element else, return a. def maximum(alist): if len(alist) == 2: if alist[0] > alist[1]: return alist[0] return alist[1] a = maximum(alist[1:]) if alist[0] > a: return alist[0] return a 6

4 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 5 Problem 5 Computer scientists and mathematicians often use numbering systems other than base 10. Write a program that allows auger to enter a number and a base and then prints out the digits of the number in the new base. Use a recursive function baseconversion(num, base) to print the digits. Hint: Consider base 10. To get the rightmost digit of a base 10 number, simply look at the remainder after dividing by 10. For example, 153%10 is 3. To get the remaining digits, you repeat the process on 15, which is just 153/10. This same process works for any base. The only problem is that we get the digits in reverse order (right to left). Write a recursive function that first prints the digits of num//base and then prints the last digit, namely num%base. You should put a space between successive digits, since bases greater than ten will print out multi-character digits. For example, baseconversion(245, 16) should print out I know this seems incredibly complicated, but it s not that hard. Remember when you had to learn about binary numbers? Those are numbers that use a base of 2 and only use the numbers 0 and 1 to count things. 01 is equal to 1, 1111 is equal to 15, etc. This question expands on that idea by illustrating an important fact: you can make a base out of any amount of numbers. The most frequently used ones are base 10 (digits), base 2 (binary), base 8 (octal), and base 16 (hexadecimal). But what you re being asked is to create a generalized function that can take any base 10 number and convert it into a different base. It takes a bit of thinking, but once you understand how the conversion works, you can make a recursive function. The base case for this recursive function is when num has a value less than the base you wish to translate to. When this happens, you just return str(num). I am using the str() function because although these are numbers, I want to output them in an order that s not normal. I can try using a list of numbers and outputting those separated by spaces, but that s a little too cumbersome for such a simple equation. The general case for this recursive function is when num has a greater value than base. When that occurs, we have to split num into two different values. If I refer to the hint provided in the textbook, the first portion will pass num // base into baseconversion, and the second portion will pass base%num into baseconversion. // probably looks unfamiliar to you. It s division that removes anything after the decimal point. So essentially floor(base / num). It s always a good idea to check your work by running through a recursive algorithm on pen and paper, because recursion is not that intuitive. However, it is amazingly elegant and simple, as you ll see below. def baseconversion(num, base): if num < base: return str(num) return baseconversion(num // base, base) + " " + baseconversion(num \% base, base) 7

5 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 6 Problem 6 Write a recursive function to print out the digits of a number in English. For example, if the number is 153, the output should be One Five Three. See the hint from the previous problem for help on how this might be done. This answer resembles the answer to the previous question. First, create a list of strings corresponding to the English words representing numbers. For instance: conversion = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"] What s nice about that list above is that each word corresponds to its index. conversion[0] is Zero, conversion[1] is One, etc. Next, you need to convert your code to automatically handle base 10 numbers. Copy and paste the code from the previous problem into a new script. Anytime you see base, replace it with 10. The other thing you must do is change the base case. Instead of returning the str format of a number, you are going to return its word in str format. Also note that I initialized my list conversion outside of the function definition. In order for numberinwords (the name I used for this function) to work properly, I ll need to use the global keyword to indicate that I m using a variable from outside of the script. conversion = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] def numberinwords(number): global conversion if number < 10: return conversion[number] return numberinwords(number // 10) + " " + numberinwords(number % 10) 8

7 s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment Problem #8 10 (continued) import string def uploaddictionary(): textfile = open("/usr/share/dict/words", "r") words = textfile.read() dictionary = [] for eachword in words.split(): dictionary.append(eachword.lower()) return dictionary def spellcheck(word, alist): low = 0 high = len(alist) - 1 #print("next word: " + word) while low <= high: mid = (low + high) // 2 item = alist[mid] #print(" item: " + item) if word == item: return True elif word < item: high = mid - 1 elif word > item: low = mid + 1 return False #occurs only when we re done inside the loop def problem10(textfile): problemwords = [] doc = open(textfile, "r") text = doc.read() for punc in string.punctuation: text = text.replace(punc, "") text = text.lower() dictionary = uploaddictionary() print(text.split()) for eachword in text.split(): if not(spellcheck(eachword, dictionary)): problemwords.append(eachword) if len(problemwords) > 0: print("your document has " + str(len(problemwords)) + " spelling errors.") for eachword in problemwords: print(str(problemwords.index(eachword) + 1) + " ", end="") print(eachword) print("your document has no spelling errors!") 10

### Number System. Some important number systems are as follows. Decimal number system Binary number system Octal number system Hexadecimal number system

Number System When we type some letters or words, the computer translates them in numbers as computers can understand only numbers. A computer can understand positional number system where there are only

### Algorithms and recursion

Read: Chapter 13 from textbook Algorithms and recursion What programs implement is recipes for solving problems. These recipes are called algorithms. We have already seen (in the practice problems from

### CS177 MIDTERM 2 PRACTICE EXAM SOLUTION. Name: Student ID:

CS177 MIDTERM 2 PRACTICE EXAM SOLUTION Name: Student ID: This practice exam is due the day of the midterm 2 exam. The solutions will be posted the day before the exam but we encourage you to look at the

### Base Conversion written by Cathy Saxton

Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,

### Exercise 4 Learning Python language fundamentals

Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also

### We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.

### Introduction to Python

WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

### Algorithms. Theresa Migler-VonDollen CMPS 5P

Algorithms Theresa Migler-VonDollen CMPS 5P 1 / 32 Algorithms Write a Python function that accepts a list of numbers and a number, x. If x is in the list, the function returns the position in the list

### Algorithm Design and Recursion

Chapter 13 Algorithm Design and Recursion Objectives To understand basic techniques for analyzing the efficiency of algorithms. To know what searching is and understand the algorithms for linear and binary

### Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

### DIT250 / BIT180 - MATHEMATICS. Number Bases. Decimal numbers (base ten), Decimal numbers (base ten), Decimal numbers (base ten), 3/24/2014

DIT250 / BIT180 - MATHEMATICS ASSESSMENT CA 40% 3 TESTS EXAM 60% LECTURE SLIDES www.lechaamwe.weebly.com Lecture notes DIT250/BIT180 Number Bases In this lesson we shall discuss different Number Bases,

### Lecture 8 Binary Numbers & Logic Operations The focus of the last lecture was on the microprocessor

Lecture 8 Binary Numbers & Logic Operations The focus of the last lecture was on the microprocessor During that lecture we learnt about the function of the central component of a computer, the microprocessor

### Activity 1: Bits and Bytes

ICS3U (Java): Introduction to Computer Science, Grade 11, University Preparation Activity 1: Bits and Bytes The Binary Number System Computers use electrical circuits that include many transistors and

### S206E Lecture 20, 5/24/2016, Python condition and loops

Arch534 Spring 2016 Copyright 2016, Chiu-Shui Chan. All Rights Reserved. This lecture is the beginning of the introduction of operating logic in Python. There are three types of logical operations available

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### Chapter 4: Computer Codes

Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence 36 Slide 2/30 Data

### Binary numbers. Try converting 3, 22, and 71 to binary; try converting 10101, 1100, and to decimal. Satisfaction problem

Binary numbers We are used to expressing numbers in base 10, but binary numbers are base 2. Here are some simple examples of decimal numbers and their binary equivalents. Decimal Binary 0 00 1 01 2 10

### Binary. ! You are probably familiar with decimal

Arithmetic operations in assembly language Prof. Gustavo Alonso Computer Science Department ETH Zürich alonso@inf.ethz.ch http://www.inf.ethz.ch/department/is/iks/ Binary! You are probably familiar with

### Lab Number Systems: using WinCalc with Network Addresses

Lab Number Systems: using WinCalc with Network Addresses Objectives Switch between the two Windows Calculator modes. Use Windows Calculator to convert between decimal, binary, and hexadecimal. Use Windows

### Lab Using the Windows Calculator with Network Addresses

Lab 5.1.4 Using the Windows Calculator with Network Addresses Objectives Switch between the two Windows Calculator modes. Use Windows Calculator to convert between decimal, binary, and hexadecimal. Use

### A First Book of C++ Chapter 2 Data Types, Declarations, and Displays

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming Errors

### Pseudo code Tutorial and Exercises Teacher s Version

Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy

### Python Lists and Loops

WEEK THREE Python Lists and Loops You ve made it to Week 3, well done! Most programs need to keep track of a list (or collection) of things (e.g. names) at one time or another, and this week we ll show

### Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration

Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration This JavaScript lab (the last of the series) focuses on indexing, arrays, and iteration, but it also provides another context for practicing with

### Data Representation in Computers

Chapter 3 Data Representation in Computers After studying this chapter the student will be able to: *Learn about binary, octal, decimal and hexadecimal number systems *Learn conversions between two different

### NUMBER SYSTEMS APPENDIX D. You will learn about the following in this appendix:

APPENDIX D NUMBER SYSTEMS You will learn about the following in this appendix: The four important number systems in computing binary, octal, decimal, and hexadecimal. A number system converter program

### UNIT 2 : NUMBER SYSTEMS

UNIT 2 : NUMBER SYSTEMS page 2.0 Introduction 1 2.1 Decimal Numbers 2 2.2 The Binary System 3 2.3 The Hexadecimal System 5 2.4 Number Base Conversion 6 2.4.1 Decimal To Binary 6 2.4.2 Decimal to Hex 7

### Conditional and Looping Construct

Chapter 3 Conditional and Looping Construct After studying this lesson, students will be able to: Understand the concept and usage of selection and iteration statements. Know various types of loops available

### COMP2121: Microprocessors and Interfacing

Interfacing Lecture 3: Number Systems (I) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2005 Overview Positional notation Decimal, hexadecimal and binary One complement Two s complement

### CSI 333 Lecture 1 Number Systems

CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...

### Introduction to C Programming

Introduction to C Programming C HOW TO PROGRAM, 6/E 1992-2010 by Pearson Education, Inc. All Rights Reserved. 2.1 Introduction The C language facilitates a structured and disciplined approach to computer

### Number Systems. Decimal Number System. Number Systems Week 3

Number Systems When we type some letters or words, the computer translates them in numbers as computers can understand only numbers. A computer can understand positional number system where there are only

### Lesson 1C Using the printf and String.format commands. By John B. Owen All rights reserved 2011, revised 2015

Lesson 1C Using the printf and String.format commands By John B. Owen All rights reserved 2011, revised 2015 Table of Contents Objectives printf command printf examples ABCs of printf The rest of the story

### Exercise 1: Python Language Basics

Exercise 1: Python Language Basics In this exercise we will cover the basic principles of the Python language. All languages have a standard set of functionality including the ability to comment code,

### CS231: Computer Architecture I

CS231: Computer Architecture I Spring 2003 January 22, 2003 2000-2003 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor

### UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything

### NUMBERING SYSTEMS C HAPTER 1.0 INTRODUCTION 1.1 A REVIEW OF THE DECIMAL SYSTEM 1.2 BINARY NUMBERING SYSTEM

12 Digital Principles Switching Theory C HAPTER 1 NUMBERING SYSTEMS 1.0 INTRODUCTION Inside today s computers, data is represented as 1 s and 0 s. These 1 s and 0 s might be stored magnetically on a disk,

### How do sort this list using one line? a_list.sort()

Review Questions for lists and File (read and write): Make sure to review Midterm 1 and midterm 2, all samples for midterms as well. Review all of the homework, class examples and readings exercises. Make

### Preview of Real Python Course 1, Intro to Python. Fundamentals: Functions and Loops

Preview of Real Python Course 1, Intro to Python If you like what you see, consider purchasing the entire course on RealPython.com - for just \$60, you will get all three courses, with over 1,200 pages

### EE 261 Introduction to Logic Circuits. Module #2 Number Systems

EE 261 Introduction to Logic Circuits Module #2 Number Systems Topics A. Number System Formation B. Base Conversions C. Binary Arithmetic D. Signed Numbers E. Signed Arithmetic F. Binary Codes Textbook

### Fall 2016 Bio331: Computational Systems Biology 1 PYTHON2.7 CONCEPTS

Fall 2016 Bio331: Computational Systems Biology 1 PYTHON2.7 CONCEPTS Fall 2016 Bio331: Computational Systems Biology 2 About These Slides These slides serves as a one stop shop for Python concepts we covered

### GCSE Computer Science

GCSE Computer Science Computing Fundamentals 452/2 Mark scheme 452 June 205 Version : Final Mark Scheme Mark schemes are prepared by the Lead Assessment Writer and considered, together with the relevant

### I PUC - Computer Science. Practical s Syllabus. Contents

I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations

### Review of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement

Review of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement Topic 1: Binary, Octal, and Hexadecimal Numbers The number system we generally use in our everyday lives is a decimal

### INTI COLLEGE MALAYSIA

CSC112 (F) / Page 1 of 5 INTI COLLEGE MALAYSIA CERTIFICATE IN COMPUTING AND INFORMATION TECHNOLOGY PROGRAMME CSC 112 : FUNDAMENTALS OF PROGRAMMING FINAL EXAMINATION : DECEMBER 2002 SESSION This paper consists

### The Power of Binary 0, 1, 10, 11, 100, 101, 110,

The Power of Binary 0, 1, 10, 11, 100, 101, 110, 111... What is Binary? a binary number is a number expressed in the binary numeral system, or base-2 numeral system, which represents numeric values using

### Introduction to Computer Science I Spring 2014 Mid-term exam Solutions

Introduction to Computer Science I Spring 2014 Mid-term exam Solutions 1. Question: Consider the following module of Python code... def thing_one (x): y = 0 if x == 1: y = x x = 2 if x == 2: y = -x x =

### PROGRAMMING REFRESHER MODULE. Delivered by Ana Cavalcanti and Alvaro Miyazawa Prepared by Dr Lilian Blot

PROGRAMMING REFRESHER MODULE Delivered by Ana Cavalcanti and Alvaro Miyazawa Prepared by Dr Lilian Blot The Rules Everything in PREF (Week 1) is optional. From week 2 of APRC and JAPC, we assume that all

### UNIT-1. C Programming & Data Structures. Introduction to Computers: Computing Environment: Types of Computing Environments:

Introduction to Computers: C Programming & Data Structures UNIT-1 A computer system consists of hardware and software. Computer hardware is the collection of physical elements that comprise a computer

### Decimal and Binary Numbers By Dwight Watt, EdD Copyright 2000, 2014

Copyright 2000, 2014 As you work with the Internet and computers you will work with several number systems. Number systems give us a way to express numbers. There are an infinite number of number systems

### Lecture 10: Regression Trees

Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

### Section 1.4 Place Value Systems of Numeration in Other Bases

Section.4 Place Value Systems of Numeration in Other Bases Other Bases The Hindu-Arabic system that is used in most of the world today is a positional value system with a base of ten. The simplest reason

### The Bryant Advantage Hexadecimal Conversion Workbook. Chris Bryant, CCIE # 12933

The Bryant Advantage Hexadecimal Conversion Workbook Chris Bryant, CCIE # 12933 Chris Bryant, CCIE #12933 Copyright Information: Cisco, Cisco Systems, CCIE, and Cisco Certified Internetwork Expert are

### Lab 1: Text Processing in Linux; N-grams

Lab 1: Text Processing in Linux; N-grams Massimo Poesio 30 Settembre 2003 Linux machines come with a lot of software that can be used to manipulate text. The first goal of this lab is to get yourselves

### COMSC 100 Programming Exercises, For SP15

COMSC 100 Programming Exercises, For SP15 Programming is fun! Click HERE to see why. This set of exercises is designed for you to try out programming for yourself. Who knows maybe you ll be inspired to

### Inf1A: Deterministic Finite State Machines

Lecture 2 InfA: Deterministic Finite State Machines 2. Introduction In this lecture we will focus a little more on deterministic Finite State Machines. Also, we will be mostly concerned with Finite State

### LINUX SHELL SCRIPTING Sagar MungsE------

LINUX SHELL SCRIPTING ------Sagar MungsE------ Shell Scripting Text files that contain sequences of UNIX commands, created by a text editor No compiler required to run a shell script, because the UNIX

### Formatting Variables in C-Max 2.0

Formatting Variables in C-Max 2.0 One of the many new features in C-Max 2.0 is the enhanced formatting now available for variables. This new capability is available in two distinct areas of variable usage:

### WEB MANAGEMENT CT211. Fall 2012 PACKET II

Fall 2012 CT211 WEB MANAGEMENT PACKET II This packet includes the mandatory assignments for each Chapter that is covered in the required course textbooks. All assignments must be completed on the date

### Data Representation. Why Study Data Representation?

Why Study Data Representation? Computers process and store information in binary format For many aspects of programming and networking, the details of data representation must be understood C Programming

### Test Driven Development

Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.

### Note that the exponents also decrease by 1 with each column move to the right, so the

Base Systems Jacqueline A. Jones People use the decimal number system to perform arithmetic operations. Computers, on the other hand, use the binary system, which contains only two digits: 0 and 1. We

### Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA. What is DrJava? Dr Java

1 Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

### 6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10

Lesson The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base- system. When you

### RECURSION, RECURSION, (TREE) RECURSION! 3

RECURSION, RECURSION, (TREE) RECURSION! 3 COMPUTER SCIENCE 61A September 18, 2014 A function is recursive if it calls itself. Below is a recursive factorial function. def factorial(n): if n == 0 or n ==

### Introduction to Python

Introduction to Python COMP 089H Fall 2015 Written by Tanya Amert last updated 9/30/15 IDLE IDLE is a simple interactive Python development environment. It consists of a Python shell, which evaluates what

### Grade 6 Math Circles. Binary and Beyond

Faculty of Mathematics Waterloo, Ontario N2L 3G1 The Decimal System Grade 6 Math Circles October 15/16, 2013 Binary and Beyond The cool reality is that we learn to count in only one of many possible number

### Python for Rookies. Example Examination Paper

Python for Rookies Example Examination Paper Instructions to Students: Time Allowed: 2 hours. This is Open Book Examination. All questions carry 25 marks. There are 5 questions in this exam. You should

### MLR Institute of Technology

MLR Institute of Technology DUNDIGAL 500 043, HYDERABAD COMPUTER SCIENCE AND ENGINEERING Computer Programming Lab List of Experiments S.No. Program Category List of Programs 1 Operators a) Write a C program

### INDEX. C programming Page 1 of 10. 5) Function. 1) Introduction to C Programming

INDEX 1) Introduction to C Programming a. What is C? b. Getting started with C 2) Data Types, Variables, Constants a. Constants, Variables and Keywords b. Types of Variables c. C Keyword d. Types of C

### CS1114 Section 4: To Understand Recursion... February 13th, 2013. To understand recursion, you must first understand recursion.

CS1114 Section 4: To Understand Recursion... February 13th, 2013 To understand recursion, you must first understand recursion. In lecture last time we saw an example of recursion with the quicksort algorithm.

### Introduction to Python Using the Raspberry Pi

Introduction to Python Using the Raspberry Pi Getting Started with the Raspberry Pi Before we get into any programming, let s first get started using the. The Raspberry Pi is a small, ARM-based single-board

### VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0

VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 UX Software - 2009 TABLE OF CONTENTS INTRODUCTION... ii What is this book about?... iii How to use this book... iii Time to start...

### VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY

ACADEMIC YEAR: 0 7 VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 0 0 SEMESTER: ODD BRANCH: MCA YEAR: I SEMESTER: I SUBJECT CODE AND NAME: MC70 Problem Solving and Programming NAME OF THE FACULTY

### Cyber Security Workshop Encryption Reference Manual

Cyber Security Workshop Encryption Reference Manual May 2015 Basic Concepts in Encoding and Encryption Binary Encoding Examples Encryption Cipher Examples 1 P a g e Encoding Concepts Binary Encoding Basics

### 1.3 Data Representation

8628-28 r4 vs.fm Page 9 Thursday, January 2, 2 2:4 PM.3 Data Representation 9 appears at Level 3, uses short mnemonics such as ADD, SUB, and MOV, which are easily translated to the ISA level. Assembly

### P A R T DIGITAL TECHNOLOGY

P A R T A DIGITAL TECHNOLOGY 1 CHAPTER NUMBERING SYSTEMS 1.0 INTRODUCTION This chapter discusses several important concepts including the binary, octal and hexadecimal numbering systems, binary data organization

### Visual Logic Instructions and Assignments

Visual Logic Instructions and Assignments Visual Logic can be installed from the CD that accompanies our textbook. It is a nifty tool for creating program flowcharts, but that is only half of the story.

### Binary Which powers of 2 are we adding? Decimal answer 10101

1 CS 105 Lab #1 representation of numbers numbers are the dough we use to represent all information inside the computer. The purpose of this lab is to practice with some binary number representations.

### Integer Numbers. The Number Bases of Integers Textbook Chapter 3

Integer Numbers The Number Bases of Integers Textbook Chapter 3 Number Systems Unary, or marks: /////// = 7 /////// + ////// = ///////////// Grouping lead to Roman Numerals: VII + V = VVII = XII Better:

### Python Loops and String Manipulation

WEEK TWO Python Loops and String Manipulation Last week, we showed you some basic Python programming and gave you some intriguing problems to solve. But it is hard to do anything really exciting until

### Number Systems and Base Conversions

Number Systems and Base Conversions As you know, the number system that we commonly use is the decimal or base- 10 number system. That system has 10 digits, 0 through 9. While it's very convenient for

### Python Evaluation Rules

Python Evaluation Rules UW CSE 160 http://tinyurl.com/dataprogramming Michael Ernst and Isaac Reynolds mernst@cs.washington.edu August 2, 2016 Contents 1 Introduction 2 1.1 The Structure of a Python Program................................

### The operation of addition can be done by very simple method we will illustrate the operation in a simple way using steps.

Excess 3 Code Under Digital ElectronicsBefore discussing the BCD addition and subtraction using Excess 3 code we have to know what is Excess 3 code. It is a basically a binary code which is made by adding

### Solutions CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #1 Problem 1. True or False

s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #1 Problem 1 Problem 1 True or False A Python string literal is always enclosed in double quotes. False String literals can be made with single

### Figure 1.12 Entering, Translating, and Running a High-Level Language Program Pearson Education, Inc. All rights reserved.

Figure 1.12 Entering, Translating, and Running a High-Level Language Program 1 2007 Pearson Education, Inc. All rights reserved. 2 Figure 2.7 General Form of a C Program 2007 Pearson Education, Inc. All

### Introduction Number Systems and Conversion

UNIT 1 Introduction Number Systems and Conversion Objectives 1. Introduction The first part of this unit introduces the material to be studied later. In addition to getting an overview of the material

### MATH 2420 Discrete Mathematics Lecture notes Numbering Systems

MATH 2420 Discrete Mathematics Lecture notes Numbering Systems Objectives: Introduction: 1. Represent a binary (hexadecimal, octal) number as a decimal number. 2. Represent a decimal (hexadecimal, octal)

### Internet Traffic Measurements. Shell Scripts. School of Electrical Engineering AALTO UNIVERSITY

Internet Traffic Measurements Shell Scripts School of Electrical Engineering AALTO UNIVERSITY Page 1 Contents What is a shell script?... 2 Useful Linux commands... 2 Useful commands for data manipulation...

### Variables, Expressions, and Statements

Variables, Expressions, and Statements Chapter 2 Python for Informatics: Exploring Information www.pythonlearn.com Constants Fixed values such as numbers, letters, and strings are called constants because

### Python 3 and IDLE. We will use version 3.x of Python (where x is the most recent version

Just Enough Python Python 3 and IDLE We will use version 3.x of Python (where x is the most recent version Differences between Python 2 and Python 3 are mostly minor, but can be confusing Python comes

### CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline Data Representation Binary Codes Why 6-3-1-1 and Excess-3? Data Representation (1/2) Each numbering

### Chapter 7 Lab - Decimal, Binary, Octal, Hexadecimal Numbering Systems

Chapter 7 Lab - Decimal, Binary, Octal, Hexadecimal Numbering Systems This assignment is designed to familiarize you with different numbering systems, specifically: binary, octal, hexadecimal (and decimal)

### Number Systems (2.1.1)

Computer Studies 0 Syllabus Number Systems (..) Representation of numbers in binary. Conversion between decimal and binary, and between binary and hexadecimal. Use of subscripts, 0 and 6 for bases. The

### Reading 7 : Program Correctness

CS/Math 240: Introduction to Discrete Mathematics Fall 2015 Instructors: Beck Hasti, Gautam Prakriya Reading 7 : Program Correctness 7.1 Program Correctness Showing that a program is correct means that

### Automated C++ Program Generator using English Language Interface

Automated C++ Program Generator using English Language Interface Ambuj Kumar ambuj.ambujkumar@gmail.com and Prof. (Mrs.) Saroj Kaushik saroj@cse.iitd.ernet.in Department of Computer Science & Engineering

### Dept. of CSE, IIT KGP

Programming in C: Basics CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of variable We must declare the