Download chapter 1 test bank questions - Department of Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Computer simulation wikipedia , lookup

Computational complexity theory wikipedia , lookup

Algorithm wikipedia , lookup

Genetic algorithm wikipedia , lookup

Theoretical computer science wikipedia , lookup

Transcript
Introduction to Computer Science Using Python: A Computational Problem-Solving Focus
Charles Dierbach, John Wiley and Sons (1st Edition)
CHAPTER 1 TEST BANK QUESTIONS
Section 1.1 What is Computer Science?
True/False Questions
1. True or False? Programming defines the field of computer science.
2. True or False? A representation of a problem that includes the relevant aspects of what is being
represented is known as an abstraction.
3. 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.
4. 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.
5. True or False? Regardless of your skills as a programmer, computing problem solving cannot be
performed without the knowledge and use of computer algorithms.
6. True or False? The Traveling Salesman Problem becomes intractable using a brute-force approach for
more than twenty cities.
7. 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.
8. 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.
9. 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.
10. True or False? Any algorithm that solves a general computational problem is referred to as tractable.
Multiple Choice Questions
11. Computer science is fundamentally about
(a) computational Problem Solving
(b) programming
(c) software engineering
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
1
Chapter 1
Test Bank Questions
Section 1.1 What is Computer Science?
12. The idea of a brute force approach can be described as
(a) trying all possible solutions to a given problem
(b) a computational approach that uses a great deal of memory
(c) the most efficient, effective, and direct means to solve a problem
13. An algorithm is of practical use if it
(a) uses the brute force approach
(b) can find a solution a problem in a reasonable amount of time
(c) bypasses the need for computational problem solving
Fill-in-the-Blank Questions
14. 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
15. 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
16. True or False? All algorithms must terminate after a finite amount of time.
17. True or False? Algorithms are general computational methods for solving specific problems.
18. True or False? The computation that a given computer performs is only as good as the underlying
algorithm used.
19. True or False? Because computers can execute instructions very quickly and reliably without error,
algorithms and computers are a perfect match.
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
2
Chapter 1
Test Bank Questions
Section 1.2 Computer Algorithms
Multiple Choice Questions
20. Which of these is not an algorithm?
(a) A pasta recipe
(b) A shopping list
(c) The steps used in performing long division
21. Most algorithms require computers because
(a) they would require too much time and/or detail for a person to apply
(b) algorithms are only written in programming languages
(c) most algorithms are simple and practical enough for computers to understand
Open Response Questions
22. For the Day of the Week algorithm given below, determine the day of the week for the following dates:
ANSWERS
(a) September 14, 1864
(a) Wednesday
(b) April 5, 1971
(b) Monday
(c) February 21, 2004
(c) Saturday
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
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
3
Chapter 1
Test Bank Questions
Section 1.3 Computer Hardware
Section 1.3 Computer Hardware
True/False Questions
23. True or False? The more voltage levels that the hardware is able to utilize and distinguish, the more
reliable the hardware design becomes.
24. True or False? All of the information in a computer system is represented using digits 0-9.
25. True or False? Digital computers are designed to either use binary values 0,1.
26. True or False? In binary representation, each digit represents either the value -1, 0, or 1.
27. True or False? A transistor is an electronic switch that can switch at very high speed.
28. True or False? Integrated circuits, the building blocks of computer hardware, are made up millions or
even billions of transistors.
29. True or False? The decimal value of the binary number 1001 is 9.
30. True or False? The binary number 1000 is larger than binary number 0111.
31. True or False? The number following binary number 1011 is 1100.
32. True or False? The term “bit” stands for binary digit.
33. True or False? A byte is a group of (usually) eight bits.
34. 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.
35. 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.
36. True or False? Main memory is volatile, meaning that its contents are retained only when power is
supplied.
37. True or False? A Central Processing Unit is designed to execute instructions written as a sequence of bits.
38. True or False? A flash (USB) drive is an example of a device containing nonvolatile memory.
39. True or False? Buses provide communication between hardware components.
40. True or False? An operating system is the part of the hardware that controls all the other hardware
components of a computer system.
41. True or False? An operating system is an example of system software.
42. 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.
43. 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.
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
4
Chapter 1
Test Bank Questions
Section 1.3 Computer Hardware
Multiple Choice Questions
44. Computer hardware comprises
(a) applications and programs used by your computer
(b) files stored on your computer
(c) the physical parts of a computer system
45. All information within a computer system is represented by the use of
(a) graphs, charts, numbers, and complex algorithmic languages
(b) only two digits, 0 and 1
(c) sixteen digits, 0 – 9 and A – F known as hexadecimal representation
46. The term bit stands for
(a) beta digit
(b) binary digit
(c) binary integrated transistor
47. Although values represented in base 2 are significantly longer than those represented in base 10, binary
representation is used in digital computing because
(a) it’s impossible to design a switch with more than two options
(b) of the resulting simplicity of hardware design
(c) early technology wasn’t advanced enough to utilize binary representation
48. An operating system
(a) is software that manage the hardware of a computer and provides a user interface
(b) converts binary data to hexadecimal data for the computer to understand
Fill-in-the-Blank Questions
49. We are used to representing numbers in a decimal system, that is, in base __ten___.
50. Any information can be represented by use of only __two____ symbols.
51. 10011 is a binary number. The number that it translates to in the decimal system that we are used to is
__19___.
52. A byte usually consists of __eight__ bits.
53. 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__.
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
5
Chapter 1
Test Bank Questions
Section 1.3 Computer Hardware
Open Response Questions
54. Convert the following binary numbers to base ten.
(a) 1010
(a) 10
(b) 10000
(b) 16
(c) 1111 (d) 1111111 (e) 10000001
(c) 15
(d) 127
(e) 129
55. 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)
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
6
Chapter 1
Test Bank Questions
Section 1.4 Computer Software
Section 1.4 Computer Software
True/False Questions
56. True or False? Charles Babbage is considered the first computer programmer.
57. True or False? While system software is intrinsic to a computer system, application software serves the
particular needs of the user.
58. True or False? The statement “Hear are the results.” contains a semantic error.
59. True or False? Programming languages are artificial languages, and therefore do not have a clear set of
rules of syntax.
60. True or False? Most programs are written in machine code because this is the only thing the CPU can
process.
61. True or False? Python is a “high level” programming language?
62. True or False? Compiled programs generally execute faster than interpreted programs.
63. True or False? Computers do not understand what a program is meant to do, they only follow given
instructions.
64. True or False? Program debugging is a small part of program development.
65. True or False? Syntax errors are generally easier to find than logic (semantic) errors.
66. True or False? The two major programming paradigms in use today are imperative programming and
object-oriented programming.
Multiple Choice Questions
67. A photo editing program is an example of
(a)
(b)
(c)
(d)
system software
application software
security software
none of the above
68. “Hello there, how are you?” is an example of an English sentence that is
(a) syntactically correct
(b) semantically incorrect
(c) both of the above
69. “Colorless green ideas sleep furiously” is an example of an English sentence that is
(a) syntactically correct
(b) semantically correct
(c) neither the above
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
7
Chapter 1
Test Bank Questions
Section 1.4 Computer Software
Fill-in-the-Blank Questions
70. The Central Processing Unit can only run programs written in __machine code____.
71. The two major programming paradigms in use today are __imperative__ programming and ___objectoriented___ programming.
Open Response Questions
72. 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
73. True or False? A brute force approach to computational problem solving is never tractable.
74. True or False? Every computational problem has an infinite number of solutions.
75. True or False? There is only one best solution for any given computational problem.
76. 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.
77. True or False? Algorithms that work well in general, but not necessarily for every problem instance, are
called probabilistic algorithms.
78. True or False? Any changes made in correcting a program error should be fully understood as to why the
changes correct the detected error.
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
8
Chapter 1
Test Bank Questions
Section 1.5 The Process of Computational Problem Solving
Multiple Choice Questions
79. Software testing is a crucial part of software development. Testing is done
(a)
(b)
(c)
(d)
incrementally as the program is being developed
when the program is complete
when the program needs to be updated
all of the above
80. A program is generally designed to solve a problem. For each problem, there may be:
(a)
(b)
(c)
(d)
(e)
only one solution
only an approximate solution
a best solution
numerous solutions
any of the above
Open Response Questions
81. 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
82. True or False? Guido van Rossum is the created of the Python programming language.
83. True or False? IDLE is the integrated development environment (IDE) bundled with the Python
programming language.
84. True or False? The Python Standard Library is a collection of example Python programs.
85. True or False? The values of the arithmetic expression 2 * (2 ** 3) in Python is 16.
86. True or False? The following expressions 4(2 + 6) and 4*(2 + 6) are equivalent in Python.
87. True or False? The input function in Python both displays output on the screen and gets input from the
user.
Multiple Choice Questions
88. Python is most commonly translated by use of an
(a) interpreter
(b) compiler
(c) executer
89. Characters within quotes, such as ‘Hello World!’, are called
(a) buffers
(b) textlines
(c) strings
Introduction to Computer Science Using Python – Dierbach
Copyright 2013 John Wiley and Sons
9
Chapter 1
Test Bank Questions
Section 1.6 The Python Programming Language
90. 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)
(a) Hello, Charles
(b) Hello, Charles
(c) Hello, Charles!
Fill-in-the-Blank Questions
91. “A name that is assigned to a value” is a simple description of what fundamental programming concept?
___a variable___
Open Response Questions
92. Give the value of each of the following in Python.
(a) 4 * 3
(a) 12
(b) (4 * 5) + 12
(b) 32
(c) (6 + 9) / 10
(c) 1.5 (d) 16
(d) 2 ** 4
93. 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
94. 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
10