CMSC 104, Spring 2003

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.

  1. TRUE or FALSE
    The CPU is considered the "brain" of the computer.
  2. TRUE or FALSE
    The bus is a group of parallel wires that carry control signals and data between the other components.
  3. TRUE or FALSE
    Main memory is often referred to as RAM.
  4. TRUE or FALSE
    Main memory is often referred to as ROM.
  5. TRUE or FALSE
    A peripheral device is an integral part of the computer.
  6. TRUE or FALSE
    A peripheral device is not an integral part of the computer.
  7. TRUE or FALSE
    The operating system gives the illusion of several jobs executing simultaneously through the use of time sharing.
  8. TRUE or FALSE
    The operating system is considered applications software.
  9. TRUE or FALSE
    The operating system is considered systems software.
  10. TRUE or FALSE
    UNIX filenames are case sensitive.
  11. TRUE or FALSE
    The UNIX command to copy a file is copy .
  12. TRUE or FALSE
    The UNIX command to copy a file is cp .
  13. TRUE or FALSE
    All computers store values using the hexadecimal number system.
  14. TRUE or FALSE
    All computers store values using the decimal number system.
  15. TRUE or FALSE
    All computers store values using the binary number system.
  16. TRUE or FALSE
    Only one program can be stored in memory at a time.
  17. TRUE or FALSE
    Many programs can be stored in memory at the same time.
  18. TRUE or FALSE
    Getting the data held at a particular memory address is known as a READ.
  19. TRUE or FALSE
    Getting the data held at a particular memory address is known as a WRITE.
  20. TRUE or FALSE
    Putting data into a particular memory address is known as a READ.
  21. TRUE or FALSE
    Putting data into a particular memory address is known as a WRITE.
  22. TRUE or FALSE
    It is possible to have more than one operating system available to run on a single machine.
  23. TRUE or FALSE
    Two operating systems can run simultaneously on the same machine.
  24. TRUE or FALSE
    In UNIX we can combine commands using the pipe, | .
  25. TRUE or FALSE
    Directories and subdirectories are heirarchichal in nature.
  26. TRUE or FALSE
    Logical operations are defined by their truth tables.
  27. TRUE or FALSE
    The study of algorithms began in the 1900's when electronic computers began to be used.
  28. TRUE or FALSE
    Typically, the longest phase of the software development life cycle is implementation.
  29. TRUE or FALSE
    The result of the logical operation 1 OR 1 is 1 .
  30. TRUE or FALSE
    The result of the logical operation 0 OR 0 is 1 .
  31. TRUE or FALSE
    The result of the logical operation 1 XOR 0 is 1 .
  32. TRUE or FALSE
    The result of the logical operation 1 XOR 1 is 0 .
  33. TRUE or FALSE
    The result of the logical operation 0 AND 0 is 1 .
  34. TRUE or FALSE
    The UNIX command to list the files in a directory is ls .
  35. TRUE or FALSE
    The UNIX command to list the files in a directory is lst .
  36. TRUE or FALSE
    The UNIX command to create a new directory is mk .
  37. TRUE or FALSE
    The UNIX command to create a new directory is mkdir .
  38. TRUE or FALSE
    The UNIX command to delete a directory is del .
  39. TRUE or FALSE
    The UNIX command to delete a directory is rmdir .
  40. TRUE or FALSE
    The UNIX command to display the contents of a file is cat .
  41. TRUE or FALSE
    The UNIX command to display the contents of a file is ls .
  42. TRUE or FALSE
    Algorithms are developed in the Design phase of the software development life cycle.
  43. TRUE or FALSE
    Algorithms are developed in the Implementation phase of the software development life cycle.
  44. TRUE or FALSE
    RAM is volatile memory.
  45. TRUE or FALSE
    ROM is volatile memory.
  46. TRUE or FALSE
    5 / 2 + 3
  47. TRUE or FALSE
    2 + 3 % 2 - 4
  48. TRUE or FALSE
    8 - ( 2 * 3 )

Multiple Choice

Circle the letter of the best choice.
  1. Main memory is considered volatile because
  2. [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.

  3. A bus is
  4. [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.

  5. Secondary storage is considered persistent because
  6. [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.

  7. The coordination of a computer's activities is handled by
  8. [a.] the operating system.
    [b.] peripheral devices.
    [c.] the computer operator.
    [d.] the keyboard.

  9. Which of the following is an operating system?
  10. [a.] pico
    [b.] emacs
    [c.] UNIX
    [d.] pine

  11. Which of the following is NOT part of the operating system?
  12. [a.] dispatcher
    [b.] memory manager
    [c.] text editor
    [d.] scheduler

  13. Pseudocode
  14. [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.

  15. The best definition of an algorithm is
  16. [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.

  17. Which of the following is NOT a step in the software development life cycle?
  18. [a.] requirements specification
    [b.] selecting the right computer system
    [c.] documentation
    [d.] implementation

  19. Each cell of memory is numbered and that number is referred to
    as the cell's
  20. [a.] block.
    [b.] identity.
    [c.] address.
    [d.] size.

  21. A byte is composed of
  22. [a.] 2 bits.
    [b.] 4 bits.
    [c.] 8 bits.
    [d.] 16 bits.

  23. Main memory is called RAM because
  24. [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.

  25. Secondary storage refers to:
  26. [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.

  27. The UNIX command that renames a file is
  28. [a.] mv
    [b.] rn
    [c.] ls
    [d.] pwd
    [e.] none of the above.

  29. pine is an example of a(n)
  30. [a.] text editor.
    [b.] operating system.
    [c.] e-mail utility.
    [d.] word processor.

  31. UNIX is an example of a(n)
  32. [a.] text editor.
    [b.] operating system.
    [c.] e-mail utility.
    [d.] word processor.

  33. emacs and pico are examples of
  34. [a.] text editors.
    [b.] operating systems.
    [c.] e-mail utilities.
    [d.] word processors.

  35. Which type of sotware extends the capabilities of the operating system?
  36. [a.] utility
    [b.] applications
    [c.] programming languages
    [d.] compilers

  37. The UNIX command to delete a file is
  38. [a.] mv
    [b.] del
    [c.] rm
    [d.] pwd

  39. The study of algorithms began
  40. [a.] when the first computer was invented.
    [b.] as a subject in mathematics.
    [c.] in the 1800's.
    [d.] in the 1940's.

  41. In a time-sharing environment, the operating system rotates among jobs, giving each job a predetermined
  42. [a.] run time.
    [b.] execution time.
    [c.] time piece.
    [d.] time slice.

  43. A Windows GUI and the UNIX command line are examples of operating system

    [a.] shells.
    [b.] windows.
    [c.] kernels.
    [d.] utilities.

  44. The concept or meaning represented by an algorithm is known as its
  45. [a.] control structure.
    [b.] sequence.
    [c.] semantics.
    [d.] syntax.

  46. An IF statement in pseudocode is an example of a
  47. [a.] repetition control structure.
    [b.] looping control structure.
    [c.] sequential control structure.
    [d.] selection control structure.

  48. A text file that can be used to store repeated command sequences is called a
  49. [a.] document.
    [b.] script file.
    [c.] command file.
    [d.] sequence file.

  50. The notation .. (dot-dot) refers to the
  51. [a.] parent directory.
    [b.] current directory.
    [c.] child directory.
    [d.] home directory.

  52. The notation . (dot) refers to the
  53. [a.] parent directory.
    [b.] current directory.
    [c.] child directory.
    [d.] home directory.

Short Answer

  1. Two types of secondary storage are __________________ and ________________.
  2. The computer's start-up procedure is called ____________________.
  3. Two types of software are _____________________ and _____________________.
  4. The person who is credited with the stored program concept that places the program and data into RAM for execution is ________________________.
  5. In the software development life cycle, inputs, outputs and special constraints are investigated in the ___________________ phase.
  6. The semi-formal, English-like language used to represent an algorithm is called ___________________________.
  7. All algorithms can be represented by just three control structures. List them.
  8. a. ______________________

    b. ______________________

    c._______________________

  9. Give the UNIX command that would create a new directory called cmsc104 underneath the current directory.
  10. _________________________________________________

  11. Explain what each of the following UNIX commands does.
  12. ls _____________________________________________

    cat sample.c ____________________________________

    cd ____________________________________________

    cp example.c proj2.c _____________________________

    rm example.c ___________________________________

    man passwd ____________________________________

  13. The interface between the operating system and the user is called the __________________.
  14. The UNIX command that when typed will return what directory you are currently in is ________________________.
  15. The concept of breaking complex steps into smaller and smaller easier to solve steps is called ______________________________.
  16. A subprogram returns a single value to the main program is called a ____________________________.
  17. 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.)
  18. _________________________________________.

  19. Inputs, outputs, constraints, and assumptions are considered in the ______________________ phase of the software development life cycle.

  20. A grouping of files ia called a ___________________________________ .

  21. A ___________________ file contains a sequence of commands (similar to a DOS batch file).

  22. Programs that are executed sequentially with no interaction from the user are called ______________________ jobs.

  23. An example of a wildcard character used by UNIX commands is _____________________ .

  24. For logical operations, we consider a 1 to be _____________ and a 0 to be ________________ .

  25. The parts of the Software Life Cylce Development are

    ___________________________

    ___________________________

    ___________________________

    ___________________________

    ___________________________

    ___________________________

    ___________________________

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.

  1. 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?
  2. 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.

  3. 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.
  4. The algorithm should allow for changes in the height of the cylindrical tank and the diameter of the bottom.

  5. 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.
  6. 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.

  7. 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.
  8. 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.

  9. Determine the surface area of a box, in square inches, that is 12 inches long, 8 inches wide and 5 inches high.
  10. The algorithm should allow for changes in the length, width, and height of the box.

  11. Write an algorithm which will properly charge a customer based on the following billing schedule,
  12. 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

  13. 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?
  14. 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.

  15. A guitar company pays it employees as:
  16. - 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.

  17. 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.
  18. 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.

  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.