CMSC 104, Spring 2001
Midterm Exam Master List
True or False
Circle the word TRUE or the word FALSE. If neither is circled, both
are circled, or it impossible to tell which is circled, your answer is
considered wrong.
- TRUE or FALSE
The CPU is considered the "brain" of the computer.
- TRUE or FALSE
The bus is a group of parallel wires that carry control signals and data between the other components.
- TRUE or FALSE
Main memory is often referred to as RAM.
- TRUE or FALSE
Main memory is often referred to as ROM.
- TRUE or FALSE
A peripheral device is an integral part of the computer.
- TRUE or FALSE
A peripheral device is not an integral part of the computer.
- TRUE or FALSE
The operating system gives the illusion of several jobs executing simultaneously through the use of time sharing.
- TRUE or FALSE
The operating system is considered applications software.
- TRUE or FALSE
The operating system is considered systems software.
- TRUE or FALSE
UNIX filenames are case sensitive.
- TRUE or FALSE
The UNIX command to copy a file is copy
.
- TRUE or FALSE
The UNIX command to copy a file is cp
.
- TRUE or FALSE
All computers store values using the hexadecimal number system.
- TRUE or FALSE
All computers store values using the decimal number system.
- TRUE or FALSE
All computers store values using the binary number system.
- TRUE or FALSE
Only one program can be stored in memory at a time.
- TRUE or FALSE
Many programs can be stored in memory at the same time.
- TRUE or FALSE
Getting the data held at a particular memory address is known as a READ.
- TRUE or FALSE
Getting the data held at a particular memory address is known as a WRITE.
- TRUE or FALSE
Putting data into a particular memory address is known as a READ.
- TRUE or FALSE
Putting data into a particular memory address is known as a WRITE.
- TRUE or FALSE
It is possible to have more than one operating system available to run on
a single machine.
- TRUE or FALSE
Two operating systems can run simultaneously on the same machine.
- TRUE or FALSE
In UNIX we can combine commands using the pipe, | .
- TRUE or FALSE
Directories and subdirectories are heirarchichal in nature.
- TRUE or FALSE
The Instruction Register contains the instruction currently being executed.
- TRUE or FALSE
The Program Counter contains the address in memory of the next instuction to be executed.
- TRUE or FALSE
The Program Counter always contains the address in memory of the first instuction of a program.
- TRUE or FALSE
To begin running a program, the address of the first instruction of that program is placed in the Program Counter.
- TRUE or FALSE
Logical operations are defined by their truth tables.
- TRUE or FALSE
The study of algorithms began in the 1900's when electronic computers began to be used.
- TRUE or FALSE
Typically, the longest phase of the software development life cycle is
implementation.
- TRUE or FALSE
The result of the logical operation 1 OR 1
is
1
.
- TRUE or FALSE
The result of the logical operation 0 OR 0
is
1
.
- TRUE or FALSE
The result of the logical operation 1 XOR 0
is
1
.
- TRUE or FALSE
The result of the logical operation 1 XOR 1
is
0
.
- TRUE or FALSE
The result of the logical operation 0 AND 0
is
1
.
- TRUE or FALSE
The UNIX command to list the files in a directory is ls
.
- TRUE or FALSE
The UNIX command to list the files in a directory is lst
.
- TRUE or FALSE
The UNIX command to create a new directory is mk
.
- TRUE or FALSE
The UNIX command to create a new directory is mkdir
.
- TRUE or FALSE
The UNIX command to delete a directory is del
.
- TRUE or FALSE
The UNIX command to delete a directory is rmdir
.
- TRUE or FALSE
The UNIX command to display the contents of a file is cat
.
- TRUE or FALSE
The UNIX command to display the contents of a file is ls
.
- TRUE or FALSE
When a computer is booted, startup instructions are read from ROM.
- TRUE or FALSE
When a computer is booted, startup instructions are read from RAM.
- TRUE or FALSE
A machine cycle consists of three steps: fetch, decode, and execute.
- TRUE or FALSE
A machine cycle consists of three steps: fetch, execute, and store.
- TRUE or FALSE
The ALU performs operations as directed by the Control Unit.
- TRUE or FALSE
The ALU performs operations as directed by RAM.
- TRUE or FALSE
The Control Unit performs all logic operations.
- TRUE or FALSE
The Control Unit activates the circuitry in the ALU to perform arithmetic
and logic operations.
- TRUE or FALSE
The ALU decodes the instruction currently held in the instruction
register.
- TRUE or FALSE
Algorithms are developed in the Design phase of the software development
life cycle.
- TRUE or FALSE
Algorithms are developed in the Implementation phase of the software
development life cycle.
- TRUE or FALSE
RAM is volatile memory.
- TRUE or FALSE
ROM is volatile memory.
- TRUE or FALSE
Registers are located in the CPU.
- TRUE or FALSE
Registers are located in RAM.
- TRUE or FALSE
The three categories of machine instructions are: data transfer,
arithmetic/logic, and control.
- TRUE or FALSE
The three categories of machine instructions are: fetch, decode, and
execute.
Multiple Choice
Circle the letter of the best choice.
- Main memory is considered volatile because
[a.] it may change at any time without warning.
[b.] the contents of memory are lost when the computer is turned off.
[c.] the contents of memory are the same each time the computer is turned
on.
[d.] the memory may be easily removed from the computer.
- A bus is
[a.] part of the computer that decides if a value should be stored as an
integer or floating point.
[b.] a group of parallel wires that carry control signals and data between
the computer's components.
[c.] a logical operation that can be performed by the ALU.
[d.] a series of tests that is performed on all of the computer's
components during machine startup.
- Secondary storage is considered persistent because
[a.] it may change at any time without warning.
[b.] the contents of memory are lost when the computer is turned off.
[c.] unless problems occur, the information isn't corrupted when the
computer is turned off.
[d.] the memory may be easily removed from the computer.
- The coordination of a computer's activities is handled by
[a.] the operating system.
[b.] peripheral devices.
[c.] the computer operator.
[d.] the keyboard.
- Which of the following machine cycle steps retrieves the next
instruction from memory, then increments the Program Counter?
[a.] decode
[b.] execute
[c.] fetch
[d.] store
- Which of the following is an operating system?
[a.] pico
[b.] emacs
[c.] UNIX
[d.] pine
- Which of the following is NOT part of the operating system?
[a.] dispatcher
[b.] memory manager
[c.] text editor
[d.] scheduler
- Pseudocode
[a.] is English phrases or formulas used to express each step of a problem.
[b.] could include code structures such as If/Else or While.
[c.] is a notation used to express an algorithm.
[d.] is all of the above.
[e.] is none of the above.
- Which of the following is NOT part of the CPU?
[a.] ALU
[b.] Control Unit
[c.] main memory
[d.] registers
- The best definition of an algorithm is
[a.] a step by step solution to a problem.
[b.] a finite set of unambiguous executable instructions that directs a
terminating activity.
[c.] a general solution to a problem.
[d.] a finite set of steps that solve a problem.
- The boot process is:
[a.] the process that decides if a value should be stored as an integer or
floating point.
[b.] a logical process that can be performed by the ALU.
[c.] the process of grouping control signals and data.
[d.] a series of tests that is performed on all of the computers components
during machine startup followed by the loading of the operating
system.
- Which of the following is NOT a step in the software development
life cycle?
[a.] requirements specification
[b.] selecting the right computer system
[c.] documentation
[d.] implementation
- Machine language
[a.] is made up entirely of 0's and 1's.
[b.] uses mnemonics for easier human comprehension.
[c.] uses high-level statements.
[d.] all of the above.
[e.] none of the above.
- Each cell of memory is numbered and that number is referred to
as the cell's
[a.] block.
[b.] identity.
[c.] address.
[d.] size.
- A byte is composed of
[a.] 2 bits.
[b.] 4 bits.
[c.] 8 bits.
[d.] 16 bits.
- Main memory is called RAM because
[a.] it is volatile, like a ram's temper.
[b.] the computer starts at address 0 and reads every byte until it reaches
the correct address.
[c.] it can Read All Memory.
[d.] the memory is accessible randomly.
- When booting the computer, start-up instructions are read from
[a.] ROM.
[b.] RAM.
[c.] the keyboard.
[d.] the user.
- When a computer boots up,
[a.] instructions are read.
[b.] the instructions perform a test of the components.
[c.] the operating system is loaded from disk.
[d.] all of the above happen.
[e.] a & b
- Secondary storage refers to:
[a.] swap or virtual memory, which creates the illusion of more RAM on the
system.
[b.] RAM.
[c.] ROM.
[d.] devices such as hard disks, tapes, or floppy disks.
- The UNIX command that renames a file is
[a.] mv
[b.] rn
[c.] ls
[d.] pwd
[e.] none of the above.
- The concept of the stored program is attributed to
[a.] Charles Babbage.
[b.] John Von Neumann.
[c.] Bill Gates.
[d.] Steven Jobs.
pine
is an example of a(n)
[a.] text editor.
[b.] operating system.
[c.] e-mail utility.
[d.] word processor.
- UNIX is an example of a(n)
[a.] text editor.
[b.] operating system.
[c.] e-mail utility.
[d.] word processor.
emacs
and pico
are examples of
[a.] text editors.
[b.] operating systems.
[c.] e-mail utilities.
[d.] word processors.
- Which of the following is NOT a category of machine instructions?
[a.] arithmetic/logic
[b.] data transfer
[c.] control
[d.] file movement
- Time sharing
[a.] is when many peripheral devices are controlled by the same
computer.
[b.] creates the illusion of several jobs executing simulataneously.
[c.] is when many programmers work on the same computer program at the
same time.
[d.] allows multiple hard drives to be accessed at the same time.
- Which type of sotware extends the capabilities of the operating
system?
[a.] utility
[b.] applications
[c.] programming languages
[d.] compilers
- The UNIX command to delete a file is
[a.] mv
[b.] del
[c.] rm
[d.] pwd
- The study of algorithms began
[a.] when the first computer was invented.
[b.] as a subject in mathematics.
[c.] in the 1800's.
[d.] in the 1940's.
- In a time-sharing environment, the operating system rotates among
jobs, giving each job a predetermined
[a.] run time.
[b.] execution time.
[c.] time piece.
[d.] time slice.
- A Windows GUI and the UNIX command line are examples of operating
system
[a.] shells.
[b.] windows.
[c.] kernels.
[d.] utilities.
- Which of the following is NOT a component of an operating system
kernel?
[a.] file monitor
[b.] device driver
[c.] dispatcher
[d.] scheduler
- ADD, STORE, and LOAD are examples of
[a.] opcodes.
[b.] operands.
[c.] operators.
[d.] options.
- The concept or meaning represented by an algorithm is known as
its
[a.] control structure.
[b.] sequence.
[c.] semantics.
[d.] syntax.
- The Program Counter contains the address of the
[a.] current instruction in memory.
[b.] last instruction in memory.
[c.] next instruction in memory.
[d.] fastest instruction in memory.
- An IF statement in pseudocode is an example of a
[a.] repetition control structure.
[b.] looping control structure.
[c.] sequential control structure.
[d.] selection control structure.
- A text file that can be used to store repeated command sequences is
called a
[a.] document.
[b.] script file.
[c.] command file.
[d.] sequence file.
- The notation .. (dot-dot) refers to the
[a.] parent directory.
[b.] current directory.
[c.] child directory.
[d.] home directory.
- The notation . (dot) refers to the
[a.] parent directory.
[b.] current directory.
[c.] child directory.
[d.] home directory.
Short Answer
- Two types of secondary storage are __________________ and ________________.
- The computer's start-up procedure is called ____________________.
- Two types of software are _____________________ and _____________________.
- The internal part of the operating system is often called _______________________.
- The person who is credited with the stored program concept that places
the program and data into RAM for execution is ________________________.
- Change the binary number 11011 to decimal ______________________.
- Change the binary number 11011 to hexadecimal __________________.
- Change the decminal number 49 to binary ________________________.
- Change the hexadecimal number A048 to binary ___________________.
- The sum of the binary numbers 101011 and 101110 is _____________.
- Two special purpose registers in the CPU that are used for program
execution are the
___________________________ and the ____________________________.
- Name two of the three logical operations that can be performed by the
ALU.
a. _____________________________
b.______________________________
- In the software development life cycle, inputs, outputs and special
constraints are investigated in the ___________________ phase.
- The semi-formal, English-like language used to represent an algorithm
is called ___________________________.
- All algorithms can be represented by just three control structures.
List them.
a. ______________________
b. ______________________
c._______________________
- Give the UNIX command that would create a new directory called cmsc104
underneath the current directory.
_________________________________________________
- In the octal numbering system, base 8, the digits used are in
the range of _______________ to ________________.
- Explain what each of the following UNIX commands does.
ls _____________________________________________
cat sample.c ____________________________________
cd ____________________________________________
cp example.c proj2.c _____________________________
rm example.c ___________________________________
man passwd ____________________________________
- Special high-speed memeory cells located in the CPU are known
as ________________________.
- The interface between the operating system and the user is called
the __________________.
- The UNIX command that when typed will return what directory you are
currently in is ________________________.
- The concept of breaking complex steps into smaller and smaller easier
to solve steps is called ______________________________.
- Machine language instructions are made up of two parts, the
____________________ and the ____________________.
- The part of the CPU that performs +, -, /, *, AND, and
OR operations is the ___________________________.
- A subprogram returns a single value to the main program is called a
____________________________.
- A machine cycle consists of three steps, ___________________,
___________________ and _____________________.
- What exact UNIX command would be used to copy a file called
Project1.c to a new file called Project3.c ? (Assume
Project1.c does exist in the current directory.)
_________________________________________.
- Inputs, outputs, constraints, and assumptions are considered
in the ______________________ phase of the software development life
cycle.
- A grouping of files ia called a ___________________________________ .
- A ___________________ file contains a sequence of commands (similar
to a DOS batch file).
- Programs that are executed sequentially with no interaction from the
user are called ______________________ jobs.
- An example of a wildcard character used by UNIX commands is
_____________________ .
- For logical operations, we consider a 1 to be _____________ and a 0
to be ________________ .
Algorithms
First solve the following specific problems, then write an algorithm in
pseudocode for general problems of the same type. Be sure your
pseudocode is clear, consistent, and properly indented.
- A manufacturer sells a certain article to dealers at a rate of $10.00 each if less than 20 are ordered. If 20 or more are ordered, the price of each article is reduced by 50 cents. What is the total cost of 100 units?
The algorithm should allow for changes in the $10 price and for purchases under 20 units. The algorithm should allow for changes in the 50 cents reduced rate.
- A cylindrical tank is 4 feet tall and the bottom's diameter is 2 feet. What is its volume in cubic feet ? Use 3.14 as pi.
The algorithm should allow for changes in the height of the cylindrical tank and the diameter of the bottom.
- Employers are responsible for paying half of each employee's FICA. The total payment for each employee is 6% (the FICA rate) of their gross income, so the employer withholds 3% of the gross pay from each employee's check and the employer must pay a matching amount. The employer is responsible for making the full payment to the Social Security Administration. If the total gross income of all of the company's employees this month was $500,000, what is the amount that needs to be paid to FICA this month and how much was covered by the deductions from the employees' pay checks.
The algorithm should allow for changes in the FICA rate and the gross income per month. The employer will always be responsible for half of the payment and the employee for the other half.
- You have just purchased a car and you would like to see what your actual gas mileage is. To determine the number of miles per gallon that your car uses, you need to write down the number of miles on the odometer and fill the tank, drive the car as you normally would until you are almost out of gas, then fill the tank again recording both the odometer reading and the number of gallons that it took to fill the tank from the gas pump.
If the initial odometer reading was 40,550 and the second reading was 40,800, how many miles did you travel between fills ? If it took 10 gallons of gas to fill the tank, what was your mileage in miles per gallon ?
The algorithm should allow for changes in the first and second odometer readings and the number of gallons needed to fill the tank.
- Determine the surface area of a box, in square inches, that is 12 inches long, 8 inches wide and 5 inches high.
The algorithm should allow for changes in the length, width, and height of the box.
- Write an algorithm which will properly charge a customer based on the following billing schedule,
The Eureka Water Company charges the homeowner one of the following:
- A flat Rate of $15.00 for usage up to an including, 1000 cubic feet.
- $.0175 per cubic foot for usage over 1000 cubic feet and up to and including 2000 cubic feet.
- $.02 per cubic foot for usage over 2000 cubic feet and up to and including 3000 cubic feet.
- a flat rate of $70 for usage over 3000 cubic feet.
Your Algorithm should allow the customer to purchase any amount of water.
Your Algorithm should allow the user to input different rates for the:
- lower than 1000 cubic feet purchase
- 1000 to 2000 cubic feet purchase
- 2000 to 3000 cubic feet purchase
- over 3000 cubic feet purchase
- Mr. Rodin kept 2 firecrackers for himself, then divided the others equally among his 14 children. If each child got 4 firecrackers, how many did Mr. Rodin have to begin with?
Your Algorithm should allow Mr. Rodin to keep any number of firecrackers for himself. The user should be allowed to specify any number of children. The user should be allowed to specify any number of firecrackers per child.
- A guitar company pays it employees as:
- Managers (receive a fixed weekly salary)
- Hourly Workers (receive a fixed hourly wag for up to the first 40 hours they work, and time-and-a-half ie 1.5 times their hourly wage, for overtime worked)
Your Algorithm should prompt the user (ie payroll clerk) to enter the appropriate facts to calculate the weekly payroll for the company.
For example: 3 Managers at $X per week, 6 hourly workers at $Y per week. Create various pay scales based on realistic pay values (X & Y) you feel the guitar producers are worth.
- Write pseudo-code for a program that keeps asking the user to input integers until the user enters zero, and determines and outputs the largest integer.
Sample input/output for your program is listed below. Your program's output is in bold.
Please input an integer, 0 to end: 6
Please input an integer, 0 to end: 19
Please input an integer, 0 to end: -4
Please input an integer, 0 to end: 0
The largest integer entered was 19.
- A painter wants to know the amount of paint needed to paint only the walls and the interior side of the door in a room. The chosen paint covers 100 square feet per gallon. There are no windows in the room. Develop an algorithm that will determine amount of pant that is needed. Use the following data to obtain an answer, then develop a generic algorithm for any size room. The room is 10 feet long, 10 feet wide and 10 feet tall.
Answer to Problem: ____________ gallons.
The algorithm should obtain the length, height, and width of the room from the user.