On December 9, 1793, the first daily newspaper appeared in New York City.
1. Describe at least two events from the history of computing, and how these events affected the field of computing.
2. Every day, some copies of the daily newspaper are sold in stores and vending machines, and some by subscription. Write a method that takes, as input, the total number of copies sold (in stores and vending machines), the price of a newspaper, the total number of subscriptions, and the per-day price of a subscription, and returns the total amount of money earned by the newspaper. Trace this method on the example of a small newspaper "CSfolks" that sold 10 copies for $0.50 each at a store and has 6 subscriptions, at $0.25 per day. Hints:
3. (related to Problem 2) Define a class Sales in which each object has four private fields: numberSold, price, numberOfSubscriptions, and perDay. Your code for defining the class should contain:
4. The newspaper "CSfolks" prepared a story about how good CS students are; this story said that students from CS 1401 submitted 120 research reports. While this story went to print, 12 more reports were submitted, making the total of 132. Write a method that, given a string story that contains the number 120 exactly once, replaces this number with 132. Trace your method on the example of a string
5. A student in charge of printing the newspaper accidentally saved its page 1 in a string titled page2, and its page 2 is a string titled page1. Help the student to recover from this error: write a method that swaps the values of two globally defined string variables page1 and page2. Trace your method on a toy example when originally the contents of the string variable page1 is
and the contents of the string variable page2 is
6. The newspaper editors mark different stories depending on where they should go: a letter 'N' marks general news, 'S' marks sports section, 'C' marks comics section, and 'W' marks weather reports. Write a piece of code, based on a char variable letter, assigns, to the string variable section, the name of the section to which the corresponding story must go. Write two versions of this code:
7. The contents of each story, as typed in by the journalists and reporters, is contained in a file. Write a piece of code that asks the user for the file name, and then places the story from the corresponding file into an array story of strings, so that:
8. (related to Problem 7) Write a method that takes, as the input, the array of strings story and the number of lines in the original story, and returns the average length of the line. Assuming that a line can be from 1 symbol to 80 symbols long, and the story can be from 1 line long to 100 lines long, what are the reasonable test cases for this method? Give specific examples of the corresponding test arrays.
9. Use the algorithms that we learned in class to translate 9 and 12 into binary, multiply these numbers in binary, and translate the product back into decimal (to check the correctness of the result). Suppose that a computer has only one decimal significant digit, and it uses round-off; if you ask this computer to multiply 0.9E1 and 1.2E+01, what will be the result?
10. Students who write and launch computer viruses claim that they are doing a useful job for the community by discovering the defects of operating systems and anti-virus software and by pointing out these defects to the community. Is it ethical? Explain your answer. Give two other examples of unethical computer-related behavior (more for extra credit); for each example, explain how students justify their behavior and why it is harmful to these students and/or to others.