Introduction to Computer Science Using Python: A Computational ProblemSolving Focus
Charles Dierbach, John Wiley and Sons (1^{st} Edition)
CHAPTER 1 TEST BANK QUESTIONS
Section 1.1 What is Computer Science?
True/False Questions

True or False? Programming defines the field of computer science.

True or False? A representation of a problem that includes the relevant aspects of what is being represented is known as an abstraction.

True or False? In order to solve a problem computationally, two things are needed: a representation that captures all the relevant aspects of the problem, and an algorithm that solves the problem by use of the representation.

True or False? In the Man, Cabbage, Goat and Wolf problem example, the state [W, E, W, E] indicates that the cabbage and wolf are on the east side of the river, and the man and goat are on the west side.

True or False? Regardless of your skills as a programmer, computing problem solving cannot be performed without the knowledge and use of computer algorithms.

True or False? The Traveling Salesman Problem becomes intractable using a bruteforce approach for more than twenty cities.

True or False? There are more possible chess games that can be played than the number of grains of sand it would take to fill the universe solid.

True or False? Any algorithm that correctly solves a given problem must solve the problem in a reasonable amount of time; otherwise it is of limited practical use.

True or False? The brute force approach is one of the most widely used algorithmic programming solutions because it is such an efficient problem – solving method.

True or False? Any algorithm that solves a general computational problem is referred to as tractable.
Multiple Choice Questions

Computer science is fundamentally about

computational Problem Solving

programming

software engineering

The idea of a brute force approach can be described as

trying all possible solutions to a given problem

a computational approach that uses a great deal of memory

the most efficient, effective, and direct means to solve a problem

An algorithm is of practical use if it

uses the brute force approach

can find a solution a problem in a reasonable amount of time

bypasses the need for computational problem solving
FillintheBlank Questions

An __algorithm___ is a finite number of clearly described, unambiguous, “doable” steps that can be systematically followed to produce a desired result for given input in a finite amount of time.
Open Response Questions

For the Man, Cabbage, Goat, Wolf problem, assume that each state is represented by a sequence of the form [man, cabbage, goat, wolf], in which a value of 0 indicates that the item is on the east side of the river, and a value of 1 indicates that the item is on the west side. For example, [1,0,1,0] would indicate that the cabbage and wolf are on the east side of the river, and the man and goat on the west side.
(a) Give a list of all the invalid states in this representation.
(b) Give a sequence of states that solves the problem (assuming that all items start on
the east side of the river, and the village is on the west side.)
ANSWERS
(a) [1,0,0,0] [0,1,1,1] [1,1,0,0] [0,0,1,1] [1,0,0,1] [0,1,1,0]
(b) [0,0,0,0], [1,0,1,0], [0,0,1,0] , [1,1,1,0] , [0,1,0,0], [1,1,0,1], [0,1,0,1] , [1,1,1,1]
OR
[0,0,0,0], [1,0,1,0], [0,0,1,0], [1,0,1,1] , [0,0,0,1] , [1,1,0,1], [0,1,0,1] , [1,1,1,1]
Section 1.2 Computer Algorithms
True/False Questions

True or False? All algorithms must terminate after a finite amount of time.

True or False? Algorithms are general computational methods for solving specific problems.

True or False? The computation that a given computer performs is only as good as the underlying algorithm used.

True or False? Because computers can execute instructions very quickly and reliably without error, algorithms and computers are a perfect match.
Multiple Choice Questions

Which of these is not an algorithm?

A pasta recipe

A shopping list

The steps used in performing long division

Most algorithms require computers because

they would require too much time and/or detail for a person to apply

algorithms are only written in programming languages

most algorithms are simple and practical enough for computers to understand
Open Response Questions

ANSWERS

Wednesday

Monday

Saturday
For the Day of the Week algorithm given below, determine the day of the week for the following dates:

September 14, 1864

April 5, 1971

February 21, 2004
1. Let century_digits be equal to the first two digits of the year.
2. Let year_digits be equal to the last two digits of the year.
3. Let value be equal to year_digits + floor(year_digits / 4)
4. If century_digits equals 18, then add 2 to value, else
if century_digits equals 20, then add 6 to value.
5. If the month is equal to January and year is not a leap year,
then add 1 to value, else,
if the month is equal to February and the year is a leap year, then
add 3 to value; if not a leap year, then add 4 to value, else,
if the month is equal to March or November, then add 4 to value, else,
if the month is equal to April or July, then add 0 to value, else,
if the month is equal to May, then add 2 to value, else,
if the month is equal to June, then add 5 to value, else,
if the month is equal to August, then add 3 to value, else,
if the month is equal to October, then add 1 to value, else,
if the month is equal to September or December, then add 6 to value,
6. Set value equal to ( value + day) mod 7
7. If value is equal to 1, then the day of the week is Sunday; else
if value is equal to 2, day of the week is Monday; else
if value is equal to 3, day of the week is Tuesday; else
if value is equal to 4, day of the week is Wednesday; else
if value is equal to 5, day of the week is Thursday; else
if value is equal to 6, day of the week is Friday; else
if value is equal to 0, day of the week is Saturday
Section 1.3 Computer Hardware
True/False Questions

True or False? The more voltage levels that the hardware is able to utilize and distinguish, the more reliable the hardware design becomes.

True or False? All of the information in a computer system is represented using digits 09.

True or False? Digital computers are designed to either use binary values 0,1.

True or False? In binary representation, each digit represents either the value 1, 0, or 1.

True or False? A transistor is an electronic switch that can switch at very high speed.

True or False? Integrated circuits, the building blocks of computer hardware, are made up millions or even billions of transistors.

True or False? The decimal value of the binary number 1001 is 9.

True or False? The binary number 1000 is larger than binary number 0111.

True or False? The number following binary number 1011 is 1100.

True or False? The term “bit” stands for binary digit.

True or False? A byte is a group of (usually) eight bits.

True or False? The algorithm for converting a number in base 10 to base 2 is to successively divide the number by ten until the remainder becomes 0.

True or False? The fundamental hardware components of computer system are the central processing unit (CPU), main memory, volatile memory, input/output devices, and buses.

True or False? Main memory is volatile, meaning that its contents are retained only when power is supplied.

True or False? A Central Processing Unit is designed to execute instructions written as a sequence of bits.

True or False? A flash (USB) drive is an example of a device containing nonvolatile memory.

True or False? Buses provide communication between hardware components.

True or False? An operating system is the part of the hardware that controls all the other hardware components of a computer system.

True or False? An operating system is an example of system software.

True or False? An operating system is what determines the look and feel of a given computer system, not the particular hardware components of the system.

True or False? Moore’s Law states that the number of transistors that can be put on a silicon chip doubles roughly every two years, first predicted in 1980.
Multiple Choice Questions

Computer hardware comprises

applications and programs used by your computer

files stored on your computer

the physical parts of a computer system

All information within a computer system is represented by the use of

graphs, charts, numbers, and complex algorithmic languages

only two digits, 0 and 1

sixteen digits, 0 – 9 and A – F known as hexadecimal representation

The term bit stands for

beta digit

binary digit

binary integrated transistor

Although values represented in base 2 are significantly longer than those represented in base 10, binary representation is used in digital computing because

it’s impossible to design a switch with more than two options

of the resulting simplicity of hardware design

early technology wasn’t advanced enough to utilize binary representation

An operating system

is software that manage the hardware of a computer and provides a user interface

converts binary data to hexadecimal data for the computer to understand
FillintheBlank Questions

We are used to representing numbers in a decimal system, that is, in base __ten___.

Any information can be represented by use of only __two____ symbols.

10011 is a binary number. The number that it translates to in the decimal system that we are used to is __19___.

A byte usually consists of __eight__ bits.

The prediction that the number of transistors that would be able to be put on a silicon chip would double roughly every two years is known as _Moore’s Law__.
Open Response Questions

Convert the following binary numbers to base ten.
(a) 1010 (b) 10000 (c) 1111 (d) 1111111 (e) 10000001
(a) 10 (b) 16 (c) 15 (d) 127 (e) 129

Show all steps for converting the following base ten values into binary (base 2)
representation.
(a) 11 (b) 25 (c) 47
ANSWERS
(a) 11 / 2 5, with remainder 1
5 / 2 2, with remainder 1
2/2 1, with remainder 0
1/2 0, with remainder 1
Thus, 11 = 1011 (base 2)
(b) 25 / 2 12, with remainder 1
12 / 2 6, with remainder 0
6/2 3, with remainder 0
3/2 1, with remainder 1
1/2 0, with remainder 1
Thus, 25 = 11001 (base 2)
(c) 47 / 2 23, with remainder 1
23 / 2 11, with remainder 1
11/2 5, with remainder 1
5/2 2, with remainder 1
2/2 1, with remainder 0
1/2 0, with remainder 1
Thus, 47 = 101111 (base 2)
Section 1.4 Computer Software
True/False Questions

True or False? Charles Babbage is considered the first computer programmer.

True or False? While system software is intrinsic to a computer system, application software serves the particular needs of the user.

True or False? The statement “Hear are the results.” contains a semantic error.

True or False? Programming languages are artificial languages, and therefore do not have a clear set of rules of syntax.

True or False? Most programs are written in machine code because this is the only thing the CPU can process.

True or False? Python is a “high level” programming language?

True or False? Compiled programs generally execute faster than interpreted programs.

True or False? Computers do not understand what a program is meant to do, they only follow given instructions.

True or False? Program debugging is a small part of program development.

True or False? Syntax errors are generally easier to find than logic (semantic) errors.

True or False? The two major programming paradigms in use today are imperative programming and objectoriented programming.
Multiple Choice Questions

A photo editing program is an example of

system software

application software

security software

none of the above

“Hello there, how are you?” is an example of an English sentence that is

syntactically correct

semantically incorrect

both of the above

“Colorless green ideas sleep furiously” is an example of an English sentence that is

syntactically correct

semantically correct

neither the above
FillintheBlank Questions

The Central Processing Unit can only run programs written in __machine code____.

The two major programming paradigms in use today are __imperative__ programming and ___objectoriented___ programming.
Open Response Questions

For each of the following, indicate whether it contains a syntax error, a semantic (logic) error, or has no syntax or semantic errors.
(a) n1 = 10
n2 = 20
print('The sum of n1 + n2 is', n2)
Semantic (logic) error: print('The sum of n1 + n2 is', n1 + n2)
(b) n1 = 5
n2 = 10
n3 = 20
result = n1(n2 + n3)
print('Result =', result)
Syntax error: n1(n2 + n3) should be n1 * (n2 + n3)
(c) firstname = input('Please enter your first name: ')
lastname = input('Please enter your last name: ')
print('Hello', firstname, lastname)
No errors (syntactically and semantically correct)
Section 1.5 The Process of Computational Problem Solving
True/False Questions

True or False? A brute force approach to computational problem solving is never tractable.

True or False? Every computational problem has an infinite number of solutions.

True or False? There is only one best solution for any given computational problem.

True or False? The best representation of the data in a given program is the one that is most intuitive and understandable by other programmers.

True or False? Algorithms that work well in general, but not necessarily for every problem instance, are called probabilistic algorithms.

True or False? Any changes made in correcting a program error should be fully understood as to why the changes correct the detected error.
Multiple Choice Questions

Software testing is a crucial part of software development. Testing is done

incrementally as the program is being developed

when the program is complete

when the program needs to be updated

all of the above

A program is generally designed to solve a problem. For each problem, there may be:

only one solution

only an approximate solution

a best solution

numerous solutions

any of the above
Open Response Questions

Give the four fundamental steps of computational problem solving described in chapter 1.
ANSWER: Analysis, Design, Implementation, Testing
Section 1.6 The Python Programming Language
True/False Question

True or False? Guido van Rossum is the created of the Python programming language.

True or False? IDLE is the integrated development environment (IDE) bundled with the Python programming language.

True or False? The Python Standard Library is a collection of example Python programs.

True or False? The values of the arithmetic expression 2 * (2 ** 3) in Python is 16.

True or False? The following expressions 4(2 + 6) and 4*(2 + 6) are equivalent in Python.

True or False? The input function in Python both displays output on the screen and gets input from the user.
Multiple Choice Questions

Python is most commonly translated by use of an

interpreter

compiler

executer

Characters within quotes, such as ‘Hello World!’, are called

buffers

textlines

strings

For the following lines of Python code, assuming that the user enters “Charles” when prompted for their name, what would the output be?
name = input(‘What is your name? ‘)
print(‘Hello’, name)

Hello, Charles

Hello, Charles

Hello, Charles!
FillintheBlank Questions

“A name that is assigned to a value” is a simple description of what fundamental programming concept? ___a variable___
Open Response Questions

Give the value of each of the following in Python.
(a) 4 * 3 (b) (4 * 5) + 12 (c) (6 + 9) / 10 (d) 2 ** 4
(a) 12 (b) 32 (c) 1.5 (d) 16

What is displayed by the following Python code?
(a) n = 20
print('n = ', n)
Displays on screen: n = 20
(b) n = 20
k = n + 10
print('k = ', n)
Displays on screen: k = 30
(c) n = 20
k = 10
print('n + k = ', n + k)
Displays on screen: n + k = 30

What is displayed by the following Python code? Assume that the user enters Crystal for each of the following user prompts.
(a) name = input('What is your name? ')
print('Hello', name)
Displays on screen: Hello Crystal
(a) name = input('What is your name? ')
print('Hello,', name, 'is a nice name')
Displays on screen: Hello, Crystal is a nice name
Introduction to Computer Science Using Python – Dierbach Copyright 2013 John Wiley and Sons
Share with your friends: 