# Chapter 1 test bank questions section 1 What is Computer Science? True/False Questions

 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 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 brute-force 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 Fill-in-the-Blank 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 0-9. 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 Fill-in-the-Blank 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 object-oriented 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 Fill-in-the-Blank 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 ___object-oriented___ 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! Fill-in-the-Blank 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 Download 87.66 Kb.Share with your friends: