Answer:
All of the given options apply and are correct.
Explanation:
a) The first option is correct because the intruder can use denial-of-service attack and by flooding the site with traffic to get the voter server unavailable. Then he can direct the voters to a fraud vote server.
b) The second options correctly applies too because the thief also buys the pass codes from the people who want to sell their right to vote and this way the thief can purchase multiple pass code and cast multiple votes.
c) The hackers can set up fake vote servers and then direct the voters to these servers or websites in order to collect pass codes of voters. These pass codes can then be misused by the thief to cast multiple votes in an online election.
d) Social engineering techniques can also be used to get pass codes from certain voters. By manipulating the targeted voters psychologically they can get their pass codes to cast multiple votes illegally.
Write a method named countMatching(). It has two parameters: a String and a character. The method returns a count of how many times the character parameter appears in the String parameter. Case matters. For example, 'A' is not the same as 'a'. You only need to write the countMatching() method and nothing else (do not modify the main() method provided below). Note, however, that your method must work for any parameters passed, not just the example below.
Answer:
Check the explanation
Explanation:
public static int countMatching(String s, char c) {
int count = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == c)
++count;
}
return count;
}
Method in a complete Java program
public class FizzBuzz {
/* sample run:
* z appears 2 time(s) in FIZZbuzz
*/
public static void main(String[] args) {
String s = "FIZZbuzz";
char c = 'z';
int count = countMatching(s, c);
System.out.printf("%c appears %d time(s) in %s%n", c, count, s);
}
// Put your countMatching() method here:
public static int countMatching(String s, char c) {
int count = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == c)
++count;
}
return count;
}
}
z appears 2 time(s) in FIZZbuzz Process finished with exit code
g Select an appropriate expression to complete the following method, which is designed to return the sum of the two smallest values in the parameter array numbers. public static int sumTwoLowestElements(int[] numbers) { PriorityQueue values = new PriorityQueue<>(); for (int num: numbers) { values.add(num); } ______________________ }
Answer:
import java.util.Comparator;
import java.util.PriorityQueue;
public class PriorityQueueTest {
static class PQsort implements Comparator<Integer> {
public int compare(Integer one, Integer two) {
return two - one;
}
}
public static void main(String[] args) {
int[] ia = { 1, 10, 5, 3, 4, 7, 6, 9, 8 };
PriorityQueue<Integer> pq1 = new PriorityQueue<Integer>();
// use offer() method to add elements to the PriorityQueue pq1
for (int x : ia) {
pq1.offer(x);
}
System.out.println("pq1: " + pq1);
PQsort pqs = new PQsort();
PriorityQueue<Integer> pq2 = new PriorityQueue<Integer>(10, pqs);
// In this particular case, we can simply use Collections.reverseOrder()
// instead of self-defined comparator
for (int x : ia) {
pq2.offer(x);
}
System.out.println("pq2: " + pq2);
// print size
System.out.println("size: " + pq2.size());
// return highest priority element in the queue without removing it
System.out.println("peek: " + pq2.peek());
// print size
System.out.println("size: " + pq2.size());
// return highest priority element and removes it from the queue
System.out.println("poll: " + pq2.poll());
// print size
System.out.println("size: " + pq2.size());
System.out.print("pq2: " + pq2);
}
}
PROBLEM 3 This program is about exception handling. Create an empty list. Use a loop to ask user to input 5 integers. In every iteration, add user input to the list if it can be converted to an integer. Otherwise, display an error message. Display the list of integers after the loop. The following is an example: Enter an integer: 24 Enter an integer: 5.6 Input value cannot be converted to integer Enter an integer: 1,000 Input value cannot be converted to integer Enter an integer: 41 Enter an integer: 8 Integer list: [24, 41, 8] Save your Python program in a file named Lab11P3.py. Submit the file to Blackboard for credit.
Answer:
see explaination
Explanation:
The program code
lst = []
for i in range(5):
n = input("Enter an integer: ")
if(n.isdecimal()):
lst.append(int(n))
else:
print("Input value cannot be converted to integer")
print("Integer list:",lst)
see attachment for output
A company is deploying smartphones for its mobile salesforce. These devices are for personal and business use but are owned by the company. Sales personnel will save new customer data via a custom application developed for the company. This application will integrate with the contact information stored in the smartphones and will populate new customer records onto it. The customer application's data is encrypted at rest, and the application's connection to the back office system is considered secure. The Chief Information Security Officer (CISO) has concerns that customer contact information may be accidentally leaked due to the limited security capabilities of the devices and the planned controls. Which of the following will be the MOST efficient security control to implement to lower this risk?
A. Implement a mobile data loss agent on the devices to prevent any user manipulation with the contact information.
B. Restrict screen capture features on the devices when using the custom application and the contact information.
C. Restrict contact information storage dataflow so it is only shared with the customer application.
D. Require complex passwords for authentication when accessing the contact information.
Answer:
A. Implement a mobile data loss agent on the devices to prevent any user manipulation with the contact information
Explanation:
Given that, the task is to provide Security controls to lower the risk
Hence, one should undertand the various purpose of troubleshooting, which are:
1. Before the security breach, preventive measures are designed to stop or avoid security breach from occurrence.
2. During the security breach, detective actions are designed to establish and characterize a security breach.
3. After the event, corrective actions are purposely designed to stop the level of any damage caused by the security breach.
Hence, in this case, the MOST efficient security control to implement to lower this risk is to implement a mobile data loss agent on the devices to prevent any user manipulation with the contact information
This is because, Mobile Data Loss Prevention (DLP) is a security function that is provided through email or data security solutions. Thus, through its policies application, to the ActiveSync agent, sensitive information can be restricted from being sent to any ActiveSync-enabled mobile device
Hot sites ________. are a.more expensive than CDP b.Lose less data during a disaster than CDP c.Both are more expensive than CDP and Lose less data during a disaster than CDP d.Neither are more expensive than CDP nor Lose less data during a disaster than CDP
Answer:
d. Neither are more expensive than CDP nor Lose less data during a disaster than CDP
Explanation:
A hot site is considered a site that remain very much functional and permits immediate recovery when a disaster occurs. One great advantage of hot sites is that they can be used for operation before the occurrence of a disaster. Hot sites are usually cost effective and hence are less expensive than CDP. With hot sites, users are only faced with minimal downtime in the course of a disaster that affects one of the data centers, hence it is not that they lose less data during a disaster than CDP.
Create a class named BaseballGame that contains data fields for two team names and scores for each team in each of nine innings. names should be an array of two strings and scores should be a two-dimensional array of type int; the first dimension indexes the team (0 or 1) and the second dimension indexes the inning. Create get and set methods for each field. The get and set methods for the scores should require a parameter that indicates which inning’s score is being assigned or retrieved. Do not allow an inning score to be set if all the previous innings have not already been set. If a user attempts to set an inning that is not yet available, issue an error message. Also include a method named display in DemoBaseballGame.java that determines the winner of the game after scores for the last inning have been entered. (For this exercise, assume that a game might end in a tie.) Create two subclasses from BaseballGame: HighSchoolBaseballGame and LittleLeagueBaseballGame. High school baseball games have seven innings, and Little League games have six innings. Ensure that scores for later innings cannot be accessed for objects of these subtypes.
Answer:
Check the explanation
Explanation:
BaseballGame:
public class BaseballGame {
protected String[] names = new String[2];
protected int[][] scores;
protected int innings;
public BaseballGame() {
innings = 9;
scores = new int[2][9];
for(int i = 0; i < 9; i++)
scores[1][i] = scores[0][i] = -1;
}
public String getName(int team) {
return names[team];
}
public void setNames(int team, String name) {
names[team] = name;
}
public int getScore(int team, int inning) throws Exception {
if(team < 0 || team >= 2)
throw new Exception("Team is ut of bounds.");
if(inning < 0 || inning >= innings)
throw new Exception("Inning is ut of bounds.");
return scores[team][inning];
}
public void setScores(int team, int inning, int score) throws Exception {
if(team < 0 || team >= 2)
throw new Exception("Team is ut of bounds.");
if(inning < 0 || inning >= innings)
throw new Exception("Inning is ut of bounds.");
if(score < 0)
throw new Exception("Score is ut of bounds.");
for(int i = 0; i < inning; i++)
if(scores[team][i] == -1)
throw new Exception("Previous scores are not set.");
scores[team][inning] = score;
}
}
HighSchoolBaseballGame:
public class HighSchoolBaseballGame extends BaseballGame {
public HighSchoolBaseballGame() {
innings = 7;
scores = new int[2][7];
for(int i = 0; i < 7; i++)
scores[1][i] = scores[0][i] = -1;
}
}
LittleLeagueBaseballGame:
public class LittleLeagueBaseballGame extends BaseballGame {
public LittleLeagueBaseballGame() {
innings = 6;
scores = new int[2][6];
for(int i = 0; i < 6; i++)
scores[1][i] = scores[0][i] = -1;
}
}
You have been asked to design a high performing and highly redundant storage array with a minimum of 64 TB of usable space for files. 4 TB hard drives cost $200, 6 TB hard drives cost $250, 8 TB hard drives cost $300, and 10 TB hard drives cost $350. Explain which type of RAID you would choose and the quantity and types of drives you would use for your solution. Weigh the cost vs redundancy in your solution.
Answer:
Check the explanation
Explanation:
Number of 4 TB hard drive need = 32/4 = 8 and cost = 200*8 = $1600
Number of 6 TB hard drive need = max(32/6) = 6 and cost = 250*6 = $1500
Number of 8 TB hard drive need = 32/8 = 4 and cost = 300*4 = $1200
Number of 10 TB hard drive need = 32/10 = 4 and cost = 350*4 = $1400
Hence using 4 hard drive of 8 TB will minimize the cost.
Write a query to display the invoice number, line numbers, product SKUs, product descriptions, and brand ID for sales of sealer and top coat products of the same brand on the same invoice. Sort the results by invoice number in ascending order, first line number in ascending order, and then by second line number in descending order
Final answer:
To display the invoice number, line numbers, product SKUs, product descriptions, and brand ID for sales of sealer and top coat products of the same brand on the same invoice, you can use a SQL query with multiple joins and sorting conditions.
Explanation:
To display the invoice number, line numbers, product SKUs, product descriptions, and brand ID for sales of sealer and top coat products of the same brand on the same invoice, you can use SQL query with multiple joins and sorting conditions. Here's an example:
SELECT i.invoice_number, l1.line_number, l1.product_sku, l1.product_description, l1.brand_idThis query assumes that the tables for invoices are named 'invoices' and the tables for lines are named 'lines'. Modify the table names and column names according to your database schema.
Final answer:
The SQL query should select invoice numbers, line numbers, product SKUs, product descriptions, and brand IDs where product descriptions are 'sealer' or 'top coat' and group by invoice number and brand, ensuring there are at least two such products on the same invoice. The query should sort results as specified.
Explanation:
Writing a SQL query involves selecting specific columns from a table and applying the conditions that match the data retrieval requirements. For this scenario, we want to display invoice numbers, line numbers, product SKUs, product descriptions, and brand IDs for sales of 'sealer' and 'top coat' products of the same brand on the same invoice. Additionally, we are asked to ensure the results are sorted by invoice number in ascending order, first line number in ascending order, and then by second line number in descending order.
Here is an example of what the SQL query might look like:
SELECT InvoiceNumber, LineNumber1, LineNumber2, SKU, ProductDescription, BrandID FROM Sales WHERE (ProductDescription = 'sealer' OR ProductDescription = 'top coat') AND BrandID IS NOT NULL GROUP BY InvoiceNumber, BrandID HAVING COUNT(*) > 1 ORDER BY InvoiceNumber ASC, LineNumber1 ASC, LineNumber2 DESC;
Note that database structure is assumed, and actual table and column names may vary.
Write a regular expression pattern that matches strings representing trains. A single letter stands for each kind of car in a train: Engine, Caboose, Boxcar, Passenger car, and Dining car. There are four rules specifying how to form trains. 1. One or more Engines appear at the front; one Caboose at the end. 2. Boxcars always come in pairs: BB, BBBB, etc. 3. There cannot be more than four Passenger cars in a series. 4. One dining car must follow each series of passenger cars. These cars cannot appear anywhere other than these locations. Here are some legal and illegal exemplars. EC Legal: the smallest train EEEPPDBBPDBBBBC Legal : simple train showing all the cars EEBB Illegal: no caboose (everything else OK) EBBBC Illegal: three boxcars in a row EEPPPPPDBBC Illegal: more than four passenger cars in a row EEPPBBC Illegal: no dining car after passenger cars EEBBDC Illegal: dining car after box car Hint: my RE pattern was 16 characters.
Answer:
See explaination
Explanation:
import re
def isValidTrain(train):
pattern = r'^E+(((P|PP|PPP|PPPP)D)*(BB)*)*C$'
if re.match(pattern, train):
return True
return False
def checkAndPrintTrain(train):
print("Train", train, "is valid:", isValidTrain(train))
checkAndPrintTrain("EC")
checkAndPrintTrain("EEEPPDBBPDBBBBC")
checkAndPrintTrain("EEBB")
checkAndPrintTrain("EBBBC")
checkAndPrintTrain("EEPPPPPPDBBC")
checkAndPrintTrain("EEPPBBC")
checkAndPrintTrain("EEBBDC")
Sample output
Train EC is valid: True
Train EEEPPDBBPDBBBBC is valid: True
Train EEBB is valid: False
Train EBBBC is valid: False
Train EEPPPPPPDBBC is valid: False
Train EEPPBBC is valid: False
Train EEBBDC is valid: False
Write a Python function LetterGame() that repeatedly asks the user to input a letter. The function is to count the number of vowels the user entered. The function should stop if the user enters a digit (0-9). a) Use a while-loop and in the while loop ask the user to input a letter or to input a digit to stop. b) Check if the user entered a vowel (if command is your friend) c) If the user entered a vowel increase the counter by one d) If the user entered a digit, output the number of letters the user entered and the number and percentage of vowels among them. e) Call the function. Expected output: You entered 10 letters, 2 of which were vowels. The percentage of vowels was 20%.
Answer:
def LetterGame():
vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"]
count1 = count2 = 0
while True:
choice = input("Enter a letter / digit to stop: ")
if choice.isdigit():
break
elif choice.isalpha():
count1 += 1
if choice in vowels:
count2 += 1
print("You entered " + str(count1) + " letters, " + str(count2) + " of which weere vowels.")
print("The percentage of vowels was " + str(count2 / count1 * 100) + "%")
LetterGame()
Explanation:
Create a function called LetterGame
Inside the function:
Create a list of vowels
Initialize count1, counts the total letters, and count2, counts the vowels
Initialize a while loop that iterates until the specified condition is met in the loop
Get the input from the user. If it is a digit, stop the loop. If it is an alphabet, increase the count1 by 1, and also check if it is a vowel. If it is a vowel, increment the count2 by 1
When the loop is done, print the required information
Finally, call the function
Keyshia adds an image of a triple beam balance and a
Bunsen burner to a slide in her presentation. Now she
wants to group these images so she can modify them
together.
Order the steps to outline how images are grouped in
PowerPoint
Step 1:
Step 2:
Step 3
Step 4
Answer:
Step 1:
✔ Select all images.
Step 2:
✔ Go to the Picture Tools Format tab.
Step 3:
✔ Choose the Arrange group.
Step 4:
✔ Choose the Group option.
Explanation:
The order of the steps to outline how images are grouped in PowerPoint are:
Step 1: Select all images.
Step 2: Go to the Picture Tools Format tab.
Step 3: Choose the Arrangement group.
Step 4: Choose the Group option.
What is PowerPoint?
A PowerPoint slideshow (PPT) is a presentation made using Microsoft software that enables users to include audio, visual, and audio/visual components. It is regarded as a multimedia technology that also serves as a tool for sharing and collaborating on content.
And so he set out to develop a presentation application that would offera simple way to produce and deliver slides, working with engineers Thomas Rudkin and Dennis Austin. They called it Presenter, but PowerPoint eventually replaced it.
Therefore, the steps are:
Step 1: Select all images.Step 2: Go to the Picture Tools Format tab.Step 3: Choose the Arrangement group.Step 4: Choose the Group optionTo learn more about PowerPoint, refer to the link:
https://brainly.com/question/14498361
#SPJ2
1) Write expressions of relational algebra for the following queries draw the query trees for each and write the SQL statement: a. What PC models have a speed of at least 3.00 b. What the model numbers of all color printers c. Which manufacturer make laptops with at least 100 GB d. Find the model and price of all products (of any type) made by manufacturer "B" e. Find the manufacturers that sell laptops but not PC.
Answer:
Explanation:
Find attach the solution
The expressions of relational algebra for the given queries and the query trees for each with the SQL statement are explained.
Given are expressions for the given queries in relational algebra, draw the query trees, and provide the corresponding SQL statements:
Let's assume we have the following tables:
PC (model, speed, ram, hd, price)
Printer (model, color, type, price)
Laptop (model, speed, ram, hd, screen, price)
Product (model, type, price)
Manufacturer (name, country)
a. Relational algebra expression: π model (σ speed ≥ 3.00 (PC))
Query tree:
π model
|
σ speed >= 3.00
|
PC
SQL statement:
SELECT model
FROM PC
WHERE speed >= 3.00;
b. Relational algebra expression: π model (σ color = 'color' (Printer))
Query tree:
π model
|
σ color = 'color'
|
Printer
SQL statement:
SELECT model
FROM Printer
WHERE color = 'color';
(Note: Replace 'color' with the actual value representing color printers.)
c. Relational algebra expression: π name (σ hd ≥ 100 (Laptop ⋈ Manufacturer))
Query tree:
π name
|
σ hd >= 100
|
Laptop ⋈ Manufacturer
SQL statement:
SELECT DISTINCT m.name
FROM Laptop l
INNER JOIN Manufacturer m ON l.model = m.model
WHERE l.hd >= 100;
d. Relational algebra expression: π model, price (σ name = 'B' (Product ⋈ Manufacturer))
Query tree:
π model, price
|
σ name = 'B'
|
Product ⋈ Manufacturer
SQL statement:
SELECT p.model, p.price
FROM Product p
INNER JOIN Manufacturer m ON p.model = m.model
WHERE m.name = 'B';
e. Relational algebra expression: π name (Manufacturer) - π name (σ type = 'PC' (Product ⋈ Manufacturer)) ⋈ π name (σ type = 'Laptop' (Product ⋈ Manufacturer))
Query tree:
π name (Manufacturer)
|
-
/ \
/ \
π name π name (σ type = 'Laptop' (Product ⋈ Manufacturer))
|
σ type = 'PC'
|
Product ⋈ Manufacturer
SQL statement:
SELECT DISTINCT m.name
FROM Manufacturer m
WHERE m.name NOT IN (
SELECT DISTINCT m2.name
FROM Product p
INNER JOIN Manufacturer m2 ON p.model = m2.model
WHERE p.type = 'PC'
)
AND m.name IN (
SELECT DISTINCT m3.name
FROM Product p
INNER JOIN Manufacturer m3 ON p.model = m3.model
WHERE p.type = 'Laptop'
);
Please note that the SQL statements assume the actual column names in the tables may vary, and you need to adjust them accordingly.
Learn more about SQL statements click;
https://brainly.com/question/34389274
#SPJ3
How does join work? a. You write separator.join('a', 'b', 'c', 'd', ...) where 'a', 'b', 'c', 'd' can be replaced with other strings, but isn't in a list. b. The separator must be a single character, and you use list.join(separator). c. You use separator.join(a_list) where a_list is a list of strings. d. You write a_list.join(separator) where a_list is a list of strings, and separator is a string.
Answer:
c. You use separator.join(a_list) where a_list is a list of strings.
Explanation:
The join() is an in-built string method which returns a string concatenated with the elements of an iterable. It concatenates each element of an iterable (such as list, string and tuple) to the string and returns the concatenated string.
The syntax of join() is:
string.join(iterable)
From the above syntax, the string usually mean a separator and the iterable will be a string or list or tuple.
The answer is C.
c. You use separator.join(a_list) where a_list is a list of strings.
It is not A because the iterable could be a string. It is not D because the separator is outside not in the bracket.
You are trying to appreciate how important the principle of locality is in justifying the use of a cache memory, so you experiment with a computer having an L1 data cache and a main memory (you exclusively focus on data accesses). The latencies (in CPU cycles) of the different kinds of accesses are as follows: cache hit, 1 cycle; cache miss, 105 cycles; main memory access with cache disabled, 100 cycles.
a. [10] When you run a program with an overall miss rate of 5%, what will the average memory access time (in CPU cycles) be?
b. [10] Next, you run a program specifically designed to produce completely random data addresses with no locality. Toward that end, you use an array of size 256 MB (all of it fits in the main memory). Accesses to random elements of this array are continuously made (using a uniform random number generator to generate the elements indices). If your data cache size is 64 KB, what will the average memory access time be?
c. [10] If you compare the result obtained in part (b) with the main memory access time when the cache is disabled, what can you conclude about the role of the principle of locality in justifying the use of cache memory? d. [15] You observed that a cache hit produces a gain of 99 cycles (1 cycle vs. 100), but it produces a loss of 5 cycles in the case of a miss (105 cycles vs. 100). In the general case, we can express these two quantities as G (gain) and L (loss). Using these two quantities (G and L), identify the highest miss rate after which the cache use would be disadvantageous.
Answer:
Explanation:
Attached is the solution
RXOR is described as a 1-bit left-shift rotation performed on the current hash value before each block (in sequence) is being XOR-ed with it. That is, process each successive n-bit block of data: a. Rotate the current hash value to the left by one bit. b. XOR the block into the hash value. Is it true that the following bit flips result in finding a message different than the original and that this new message "produces" the same hash
Answer:
For this given problem as RXOR is a 1 bit left shift rotation performed on a current tash,it is true that this bit flips flips result in finding a message different than the original and that this new message "produces" the same hash.
In a class named InputTextToOutputFile.java use the following prompt to get the fileName of the output file from the user: "What is the name of your output file?" Once the output file is opened, write everything the user types until the input contains "STOP!" Note: Include the line containing "STOP!" as the last thing written to the file. This work must be completed in your textbook ZYBooks -- CMP-326: Programming Methods II No other forms of submission will be accepted.
Answer:
Detailed program code is written at explaination
Explanation:
Program:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class InputTextToOutputFile
{
public static void main(String[] args) throws IOException
{
Scanner in=new Scanner(System.in);//Scanner object to get user input
System.out.println("What is the name of your output file? ");
String fileName = in.nextLine();//get output file name
File file = new File(fileName);//File object with fileName as input
//Create the file by method file.createNewFile()
if (file.createNewFile())
{
System.out.println("File is created!");
} else {
System.out.println("File already exists.");
}
//FileWriter object with user file name given as input
FileWriter writer = new FileWriter(file);
System.out.println("Enter text to write to a file : ");
String line;//variable to store line content
do {
line=in.nextLine();//get line content from user
writer.write(line+"\n"); //write content to file by adding new line(\n) character
}while(!line.equals("STOP!"));//repeat a loop until user enters "STOP!" line
writer.close();//close the file object
}
Final answer:
To solve this problem, use the Scanner class to get user input and the FileWriter and BufferedWriter classes to write to a file. Prompt the user for the output file name and write everything the user types to the file until they enter "STOP!"
Explanation:
In order to solve this problem in the class named InputTextToOutputFile.java, you can use the Scanner class to get user input. First, create a Scanner object to read user input from the console. Then, prompt the user with the message "What is the name of your output file?" and store their response in a variable called 'fileName'.
Next, you can use the FileWriter and BufferedWriter classes to create and write to a file. Open the output file using the 'fileName' variable, and create a FileWriter and BufferedWriter object to write to the file.
Now, you can use a while loop to continuously read user input and write it to the file until the input contains the string "STOP!". Inside the while loop, read the user input using the Scanner object, and use the BufferedWriter object to write the input to the file. Finally, outside of the while loop, write the string "STOP!" to the file and close the BufferedWriter object to ensure that all the data is written to the file.
1. Write program, WriteData.java, that writes the following data to file books.txt. Include the semicolons. Fiction;Abraham Lincoln Vampire Hunter;Grahame-Smith;Wiley;NY;13.99;222 Fiction;Frankenstein;Shelley;Prescott;GA;7.99;321 NonFiction;Life of Kennedy;Jones;Pearson;MT;12.90;biography Fiction;Dracula;Stoker;Addison;CA;5.99;145 Fiction;Curse of the Wolfman;Hageman;Wesley;MA;10.59;876 NonFiction;How to Pass Java;Willis;Wiley;NY;1.99;technology Fiction;The Mummy;Rice;Addision;CA;7.99;954 NonFiction;History of Texas;Smith;Prescott;CA;9.75;history 2. Write class Publisher with attributes name and state. 3. Rewrite the Book class to include a type Publisher attribute. 4. Write two children of the Book class: FictionBook and NonFictionBook. FictionBook has an additional attribute, fictionCode. NonFictionBook has an additional attribute, catagoryCode. 5. Rewrite the BookTest program. Method buildInstances will read the data from the file, create instances of FictionBook and NonfictionBook from the data, assign these instances to the Book array and return the bookArray as before. Since it is reading data from the file, it does not have any method parameters. 6. Method createCharges should work the same.
Answer:
Check the explanation
Explanation:
WriteData.java:
import java.io.FileWriter;
import java.io.PrintWriter;
class WriteData {
String[][] data;
public WriteData() {
// Data to write to the file
data = new String[][]{{ "Fiction", "Abraham Lincoln Vampire Hunter", "Grahame-Smith", "Wiley", "NY", "13.99", "222"},
{"Fiction", "Frankenstein", "Shelley", "Prescott", "GA", "7.99", "321"},
{"NonFiction", "Life of Kennedy", "Jones", "Pearson", "MT", "12.90", "biography"},
{"Fiction", "Dracula", "Stoker", "Addison", "CA", "5.99", "145"},
{"Fiction", "Curse of the Wolfman", "Hageman", "Wesley", "MA", "10.59", "876"},
{"NonFiction", "How to Pass Java", "Willis", "Wiley", "NY", "1.99", "technology"},
{"Fiction", "The Mummy", "Rice", "Addision", "CA", "7.99", "954"},
{"NonFiction", "History of Texas", "Smith", "Prescott", "CA", "9.75", "history"}};
}
public void writeToFile() {
try {
PrintWriter pw = new PrintWriter(new FileWriter("books.txt")); // Creating an output stream to write to file
// Writing data to the file line by line
for (int i = 0; i < 8; i++) {
pw.println(data[i][0] + ";" + data[i][1] + ";" + data[i][2] + ";" + data[i][3] + ";" + data[i][4] + ";" + data[i][5] + ";" + data[i][6]);
}
pw.close(); // Closing the created output stream
}
catch(Exception e) {
System.err.println(e);
}
}
}
Publisher.java:
class Publisher {
private String name, state;
public Publisher(String name, String state) {
this.name = name;
this.state = state;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String toString() {
return name + ";" + state;
}
}
Book.java:
class Book {
private String title, author;
private double price;
private Publisher publisher;
public Book(String title, String author, Publisher publisher, double price) {
this.title = title;
this.author = author;
this.publisher = publisher;
this.price = price;
}
public Double calculateCharge(int Qty){
return getPrice()*Qty;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher.toString();
}
public void setPublisher(Publisher publisher) {
this.publisher = publisher;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
FictionBook.java:
class FictionBook extends Book {
String fictionCode;
public FictionBook(String title, String author, Publisher publisher, double price, String fictionCode) {
super(title, author, publisher, price); // Calling the parent constructor to initialize values
this.fictionCode = fictionCode;
}
// Getter and Setter
public String getFictionCode() {
return fictionCode;
}
public void setFictionCode(String fictionCode) {
this.fictionCode = fictionCode;
}
}
NonFictionBook.java:
class NonFictionBook extends Book {
String categoryCode;
public NonFictionBook(String title, String author, Publisher publisher, double price, String categoryCode) {
super(title, author, publisher, price); // Calling the parent constructor to initialize values
this.categoryCode = categoryCode;
}
// Getter and Setter
public String getCategoryCode() {
return categoryCode;
}
public void setCategoryCode(String categoryCode) {
this.categoryCode = categoryCode;
}
}
BookTest.java:
import java.util.Scanner;
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
public class BookTest {
public static void main(String[] args) {
// TODO code application logic here
// Writing data to the file using WriteData.java program
WriteData writeData = new WriteData();
writeData.writeToFile();
int[] BookQauntity = {12, 8, 3, 53, 7, 23, 14, 5, 6};
Book[] book = new BookTest().buildInstances();
Double GrandTotal= new BookTest().createCharges(BookQauntity, book);
System.out.println("GrandTotal : "+ GrandTotal);
}
catch(FileNotFoundException e) {
System.err.println("File not found");
}
return bk;
};
// ISBN info is removed
Double createCharges(int[] BookQuantity, Book[] book){
Double Gtotal =0.0, total=0.0;
for(int i=0; i<8; i++){
total = book[i].calculateCharge(BookQuantity[i]);
System.out.println("Title : "+ book[i].getTitle() + ", Total Charge : "+ total);
Gtotal +=total;
}
return Gtotal;
};
}
Geraldine's Landscaping Service and Gerard's Lawn Maintenance are merging their businesses and want to merge their customer files. Each file contains a customer number, last name, address, and property area in square feet, and each file is in customer number order. Design the logic for a program that merges the two files into one file containing all customers. Assume there are no identical customer numbers.
Final answer:
To merge the two customer files, you can use a simple algorithm that compares the customer numbers in each file and merges them accordingly.
Explanation:
To merge the two customer files, you can use a simple algorithm that compares the customer numbers in each file and merges them accordingly. Here's one possible logic for the program:
Read the first customer entry from both files.Compare the customer numbers.If the customer number from the first file is smaller, write that entry to the merged file and read the next entry from the first file.If the customer number from the second file is smaller, write that entry to the merged file and read the next entry from the second file.Repeat steps 2-4 until all entries from both files have been processed.If there are any remaining entries in the first file, write them to the merged file.If there are any remaining entries in the second file, write them to the merged file.By following this logic, you can merge the customer files into one file containing all the customers.
To merge the customer files, initialize file pointers for each file, compare customer numbers, write the smaller entry to the output file, and continue until all entries are merged. Ensure no duplicates by using unique customer numbers. Consider the general format used in geographic data management.
Merging Customer Files for Geraldine's Landscaping Service and Gerard's Lawn Maintenance
To merge the customer files of both Geraldine's Landscaping Service and Gerard's Lawn Maintenance, you need to design a program that combines the two files into one. Each file is sorted by customer number, which makes the merging process more straightforward. Here's a step-by-step explanation of the logic:
Initialize two file pointers, one for each input file.Open the output file where the merged data will be stored.Read the first entry from both input files.Compare the customer numbers of the current entries from both files.Write the entry with the smaller customer number to the output file.Advance the file pointer of the file from which the entry was written.Repeat steps 4-6 until you reach the end of one of the files.Copy the remaining entries from the other file to the output file.Close all files.This program ensures that all customers from both files are included in the merged output file without duplicates, thanks to the unique customer numbers. The same general format is applied when managing geographic data, where rows represent records and columns represent attributes.
By merging these files, businesses can geocode their customers to better understand their distribution and needs, leading to improved services.
Each time an item is added and requires reallocation, count X + 1 units of cost, where X is the number of items currently in the array. This cost will cover the X assignments which are necessary to copy the contents of the full array into a new (larger) array, and the additional assignment to put the item which did not fit originally To make this more concrete, if the array has 8 spaces and is holding 5 items, adding the sixth will cost 1. However, if the array has 8 spaces and is holding 8 items, adding the ninth will cost 9 (8 to move the existing items + 1 to assign the ninth item once space is available).
When we can bound an average cost of an operation in this fashion, but not bound the worst case execution time, we call it amortized constant execution time, or average execution time. Amortized constant execution time is often written as O(1+), the plus sign indicating it is not a guaranteed execution time bound.
In a file called amortizedAnalysis.txt, please provide answers to the following questions:
1. How many cost units are spent in the entire process of performing 16 consecutive push operations on an empty array which starts out at capacity 8, assuming that the array will double in capacity each time new item is added to an already full dynamic array? Now try it for 32 consecutive push operations. As N (ie. the number of pushes) grows large, under this strategy for resizing, what is the big-oh complexity for push?
2. How many cost units are spent in the entire process of performing 16 consecutive push operations on an empty array which starts out at capacity 8, assuming that the array will grow by a constant 2 spaces each time new item is added to an already full dynamic array? Now try it for 32 consecutive push operations. As N (ie. the number of pushes) grows large, under this strategy for resizing, what is the big-oh complexity for push?
Answer:
1. Average of total Cost = Total Cost/n = O(1)
2. Average of total Cost = Total Cost/n = O(n)
Explanation:
1) Array has Initial size of 8
For adding 16 elements
1. So Cost for first 8 element its 8.
2. On adding 9th element cost is (8+1) = 9 and array is resized to size of 16
3. Then for 10th,11th,12th,.......,16th element Cost is 7.
So total cost is 8 +9 + 7 = 24 ..So for adding 16 elements Cost is 24 units.
For adding 32 elements
1. So Cost for first 8 element its 8.
2. On adding 9th element cost is (8+1) = 9 and array is resized to size of 16
3. Then for 10th,11th,12th,.......,16th element total Cost is 7.
4. On adding 17th element cost is (16+1) = 17 and array is resized to size of 32.
5. Then for 18th,19th,20th,.......,32th element total Cost is 15.
So total cost is 8 +9 + 7 +17+15= 56 ..So for adding 32 elements Cost is 56 units.
We are Intrested in finding the Amortized Cost i.e Averga cost over large number of insertion:-
When the array size is doubled:-
N operation of N pushes will have cost of 1+2+4+8+16+.. + 2k where 2k < N, Summing upo the series we have
2k-1 - 2 . But 2k <=n <= 2k-1 So,
The total cost of the sequence of n insertions will be O(n) .
Since the Amortized Cost is the Average of total Cost = Total Cost/n = O(1)
2) resize by increasing the size by 2 elements
For adding 16 elements
1. So Cost for first 8 element its 8.
2. On adding 9th element cost is (8+1) = 9 and array is resized to size of 10
3. Then for 10th element Cost is 1
4. Then for 11th element Cost is 11
5.Then for 12th element Cost is 1
6.Then for 13th element Cost is 13
6.Then for 14th element Cost is 1
6.Then for 15th element Cost is 15
6.Then for 16th element Cost is 1
So total cost is 60 ..So for adding 16 elements Cost is 60 units.
For adding 32 elements
1. So Cost for first 8 element its 8.
2. On adding 9th element cost is (8+1) = 9 and array is resized to size of 10
3. Then for 10th element Cost is 1
4. Then for 11th element Cost is 11
5.Then for 12th element Cost is 1
7.Then for 13th element Cost is 13
8.Then for 14th element Cost is 1
9.Then for 15th element Cost is 15
10.Then for 16th element Cost is 1
11. Then for 17th element Cost is 17
12. Then for 18th element Cost is 1
13.Then for 19th element Cost is 19
14.Then for 20th element Cost is 1
15.Then for 21th element Cost is 21
16.Then for 22th element Cost is 1
17.Then for 23th element Cost is 23 .. . . .. .. Then for 31th element Cost is 31 .. . . . . . . . . .. Then for 32th element Cost is 1 .
So total cost is 260 ..So for adding 32 elements Cost is 260 units.
N operation of N pushes will have cost of 1+2+3+4+5+.. + N-1 = N(N-1)/2
The total cost of the sequence of n insertions will be O(n2) .
Since the Amortized Cost is the Average of total Cost = Total Cost/n = O(n)
Suppose that TCP's current estimated values for the round trip time (estimatedRTT) and deviation in the RTT (DevRTT) are 400 msec and 25 msec, respectively (see Section 3.5.3 for a discussion of these variables). Suppose that the next three measured values of the RTT are 210, 400, and 310 respectively.
Compute TCP's new value of estimatedRTT, DevRTT, and the TCP timeout value after each of these three measured RTT values is obtained. Use the values of α = 0.125 and β = 0.25. a. Measured value RTT=350 msec Measured value RTT=325 msec c. Measured value RTT=250 msec estimatedRTT = ? DevRTT = ? TimeoutInterval = ?
Final answer:
The RTT, estimatedRTT, DevRTT, and TimeoutInterval are important TCP parameters used to manage data transmission reliability. Without specific RTT measurements, we cannot calculate exact values for them. The formulas for updating these values are weighted averages and take into account the most recent RTT measurements.
Explanation:
In Transmission Control Protocol (TCP), the round trip time (RTT) is a measure of the time a signal takes to be sent plus the time it takes for an acknowledgment of that signal to be received. This time is used by TCP to adjust the timeout interval for packet retransmission. The variables estimatedRTT and DevRTT are used to calculate the TimeoutInterval, which determine how long TCP waits for an acknowledgment before resending a packet.
To update estimatedRTT and DevRTT after each measured RTT:
For a new measured RTT, calculate the new estimatedRTT using the formula:However, to provide an accurate answer, we need the specific RTT measurements to calculate the exact values for estimatedRTT, DevRTT, and TimeoutInterval.
The cost of an international call from New York to New Delhi is calculated as follows: Connection fee, $1.99; $2.00 for the first three minutes; and $0.45 for each additional minute. Write a program that prompts the user to enter the number of minutes the call lasted and outputs the amount due. Format your output with 2 decimal places c++
Answer:
#include <iostream>
using namespace std;
int main()
{
double minutes, cost = 0;
cout<<"Enter the number of minutes: ";
cin >> minutes;
if (minutes <= 3)
cost = 1.99 + (minutes * 2);
else
cost = 1.99 + (2 * 3 + (minutes - 3) *0.45);
cout <<"The cost is: " << cost <<endl;
return 0;
}
Explanation:
Declare the variables
Ask the user for the minutes
Check the minutes:
If it is less than or equal to 3, calculate the cost by summing multiplication of the minutes by 2 and 1.99
Otherwise, calculate the cost by summing the multiplication of the first 3 minutes by 2, multiplication of the remaining minutes by 0.45 and 1.99
Print the the cost
Final answer:
The program calculates the cost of an international call based on the connection fee, the rate for the first three minutes, and the rate for each additional minute, given the total call duration input by the user. It then outputs the total amount due formatted with two decimal places.
Explanation:
The question relates to creating a C++ program that calculates the total cost of an international call from New York to New Delhi. The cost includes a connection fee, a fixed cost for the first three minutes, and a variable cost for each additional minute. The C++ program must prompt the user for the duration of the call in minutes and calculate the total amount due based on the given rates. It should then display the final amount formatted to two decimal places.
Here is an outline of the program that performs this calculation:
#include
#include
using namespace std;
int main() {
const double connectionFee = 1.99;
const double firstThreeMinuteCost = 2.00;
const double additionalMinuteCost = 0.45;
int minutes;
double amountDue;
cout << "Enter the number of minutes the call lasted: ";
cin >> minutes;
if (minutes <= 3) {
amountDue = connectionFee + firstThreeMinuteCost;
} else {
amountDue = connectionFee + firstThreeMinuteCost + (minutes - 3) * additionalMinuteCost;
}
cout << fixed << setprecision(2);
cout << "The total amount due for the call is $" << amountDue << endl;
return 0;
}
The user is prompted for the total minutes of the call. The program calculates the cost considering all the constraints and displays the result with two decimal places using fixed and setprecision manipulators.
The Daily Trumpet newspaper accepts classified advertisements in 15 categories such as Apartments for Rent and Pets for Sale. Develop the logic for a program that accepts classified advertising data, including a category code (an integer 1 through 15) and the number of words in an ad. Store these values in parallel arrays. Then sort the arrays so that the records are sorted in ascending order by category. The output lists each category number, the number of ads in the category, and the total number of words in the ads in the category. Using the following pseudocode. Thank you.
// Pseudocode PLD Chapter 8 #7a pg. 366
// Start
// Declarations
// num MAXADS = 100
// num adcatcode[MAXADS]
// num adwords[MAXADS]
// num curCode
// num numads
// num i
// num j
// num k
// num subtotal
// num temp
// output "Please enter the number of ads: "
// input numads
// if ((numads > 0) and (numads <= MAXADS))
// for i = 0 to numads - 1
// output "Please enter Advertisement Category Code (1 - 15): "
// input adcatcode[i]
// output "Please enter number of words for the advertisement: "
// input adwords[i]
// endfor
// for i = 0 to numads - 2
// for j = 0 to numads - 2
// if (adcatcode[j] > adcatcode[j+1])
// temp = adcatcode[j]
// adcatcode[j] = adcatcode[j+1]
// adcatcode[j+1] = temp
// temp = adwords[j]
// adwords[j] = adwords[j+1]
// adwords[j+1] = temp
// endif
// endfor
// endfor
// output "Total Word Counts Sorted By Category Code"
// output "========================================="
// k = 0
// while k <= numads - 1
// subtotal = 0
// curCode = adcatcode[k]
// while ( (curCode == adcatcode[k]) and (k <= numads - 1) )
// subtotal = subtotal + adwords[k]
// k = k + 1
// endwhile
// output "Category: ",adcatcode[k - 1], " ","Word Count: ", subtotal
// endwhile
// else
// output "Number adds requested less than 1 or is too large; ad limit is ", MAXADS
// endif
// Stop
Answer:
see explaination
Explanation:
#include<iostream>
using namespace std;
#define MAXDAS 100
int main()
{
//int MAXADS = 100;
int adcatcode[MAXDAS];
int adwords[MAXDAS];
int curCode;
int numads;
int i,j,k;
int subtotal;
int temp;
cout<<"Please enter the number of ads: ";
cin>>numads;
if((numads > 0) and (numads <= MAXDAS))
{
for (i = 0;i<numads;i++)
{
cout<<"Please enter Advertisement Category Code (1 - 15): ";
cin>>adcatcode[i];
cout<<"Please enter number of words for the advertisement: ";
cin>>adwords[i];
}
for (i=0;i<numads-1;i++)
{
for (j = 0;j<numads-1;j++)
{
if (adcatcode[j] > adcatcode[j+1])
{
temp = adcatcode[j];
adcatcode[j] = adcatcode[j+1];
adcatcode[j+1] = temp;
temp = adwords[j];
adwords[j] = adwords[j+1];
adwords[j+1] = temp;
}
}
}
cout<<"Total Word Counts Sorted By Category Code"<<endl;
cout<<"========================================="<<endl;
k = 0;
while(k<=numads-1)
{
subtotal = 0;
curCode = adcatcode[k];
while ( (curCode == adcatcode[k])&& (k <= numads - 1) )
{
subtotal = subtotal + adwords[k];
k = k + 1;
}
cout<<"Category: "<<adcatcode[k - 1]<<" "<<"Word Count: "<<subtotal<<endl;
}
}
else
{
cout<<"Number adds requested less than 1 or is too large; ad limit is :"<<MAXDAS;
}
return 0;
}
See attachment for output
Which of the following is specified by the detailed procedures in a test plan? Question 12 options: The result of the final test of all programs How a separate operational and test environment is prepared The test data to be used Who will work with the new system and ensure that all necessary features have been included
Final answer:
A test plan typically details 'the test data to be used,' which includes sets of inputs designed to test software functionality and validate outcomes.
Explanation:
The question asks which component is specified by the detailed procedures in a test plan. Of the options provided, the one that is typically detailed in a test plan is the test data to be used. A test plan contains comprehensive information about the testing strategy, test objectives, resources needed for testing, test environment, test limitations, and the schedule of testing activities. Importantly, it specifies the test data which are sets of inputs given to a software program during testing to ascertain an expected outcome and validate the software's functionality.
Consider the following 3-PARTITION problem. Given integers a1; : : : ; an, we want to determine whether it is possible to partition of f1; : : : ; ng into three disjoint subsets I; J;K such that X i2I ai = X j2J aj = X k2K ak = 1 3 Xn i=1 ai For example, for input (1; 2; 3; 4; 4; 5; 8) the answer is yes, because there is the partition (1; 8), (4; 5), (2; 3; 4). On the other hand, for input (2; 2; 3; 5) the answer is no. Devise and analyze a dynamic programming algorithm for 3-PARTITION that runs in time polynomial in n and in P i ai.
Answer:
Explanation:
Find attach the solution
Jayden wants to take a current theme but just change a little bit of it. Complete the steps to help Jayden.
Answer:The theme can be automatically changed via the default settings
Explanation:
Answer:
Go to the ✔ Page Layout tab on the ribbon and the ✔ Themes group. Click Themes and select one. Go into the workbook, make the changes, and return to the Themes gallery. Select ✔ Save Current Theme to save the changes.
Explanation:
Write a method called justFirstAndLast that takes a single String name and returns a new String that is only the first and last name.
You may get a name with a middle name or multiple middle names but you should ignore those.
You can assume that there will be at least two names in the given String.
Java
public String justFirstAndLast(String name)
{
}
Answer:
Answer is in the attached screenshot.
Explanation:
Using regex to split a given input string via whitespace, then returns the first and last element of the array.
Write a MATLAB script in which you initialize the following vector:
ANIMALS = ["cow", "cat", "dog", "fox", "lion", "bear", "sea lion", "deer", "dolphin"];
a. In the script, use logical indexing to create a vector called C_ANIMALS that is comprised of the animals from the above ANIMALS vector starting with the letter c. This should be done with just one line of code. HINT: MATLAB provides a built-in function that checks whether a string starts with a specified letter. Feel free to research and use this built-in function.
b. In the script, use logical indexing to create a vector called LETTERS_3 that is comprised of the animals from the above ANIMALS vector that are three letters long. This should be done with just one line of code. HINT: MATLAB provides a built-in function that checks whether a string’s length is equal to a certain number. Feel free to research and use this built-in function.
c. In the script, use logical indexing to create a vector called D_GREATER_3 that is comprised of the animals from the above ANIMALS vector that are greater than three letters long and start with the letter d. This should be done with just one line of code.
d. Display all the vectors created in this script: ANIMALS, C_ANIMALS, LETTERS_3, and D_GREATER_3.
Answer:
ANIMALS = ["cow", "cat", "dog", "fox", "lion", "bear", "sea lion", "deer", "dolphin"];
C_ANIMALS = ANIMALS(startsWith(ANIMALS,"c"));
LETTERS_3 = ANIMALS(strlength(ANIMALS)==3);
D_GREATER_3 = ANIMALS(strlength(ANIMALS)>3 & startsWith(ANIMALS,"d"));
disp(ANIMALS)
disp(C_ANIMALS)
disp(LETTERS_3)
disp(D_GREATER_3
On computer X, a nonpipelined instruction execution would require 12 ns. A pipelined implementation uses 6 equal-length stages of 2 ns each. Assuming one million instructions execute and ignoring empty stages at the start/end, what is the speedup of the pipelined vs. non-pipelined implementation
Answer:
5.99997
Explanation:
We can refer to Pipelining as an implementation technique where multiple instructions are overlapped in execution. The computer pipeline is divided in stages. Each stage completes a part of an instruction in parallel.
It increases instruction throughput
see attachment for the step by step solution
Suppose you are given a sequence or array of n real numbers (a1, a2, . . . , an), all distinct. We are interested in sorting this list, and ideally sorting it as efficiently as possible / with minimal effort. All information relevant to sorting a list can be thought of as contained in the order permutation. If a list (a1, a2, a3) has an ordering permutation of (3, 1, 2), that would mean a3 ≤ a1 ≤ a2, hence, the sorted form of the list would be (a3, a1, a2). This permutation encodes how all the elements compare to one another.
1) How many possible ways could a list of n values be ordered, i.e., how many ordering permutations are there?
2) Argue that if you know a list’s order permutation, sorting is easy (linear time), and conversely, if you know the steps to sort the list, you can easily generate the order permutation.
3) Given this, argue that sorting can’t be easier than finding the order permutation.
4) If every element comparison (testing where ai ≤ aj ) provides at most one bit of information, argue that in order to be able to sort any list, you need to perform at least approximately log2 (n!) many comparisons.
5) Based on the prior result, argue that merge sort is, asymptotically, as or more efficient than any other sorting algorithm.
Answer:
1. n
2. we can slect that permutation without any comparison and the array wil be sorted in to one time.
3. we cannot sort the list without any comparision test.
Explanation:
1. The total number of permutations available are n! because there are ' n ' distinct elements in an array.
2. Here we are given the total ordering permutations, among those available permutations there will be one permutation in which all the elements of the array are sorted. so, we can slect that permutation without any comparison and the array wil be sorted in to one time.
3. If there is no total ordering permutation then we cannot sort the list without any comparision test. In this case we should know the the number of inversion required to see the array. Based on the permutations we can select the permutation which requires minimum inversions. Here inversion sort works well.
See attachment for the details of 4 and 5.
Which of the follow is the best technique to determine how many menu items are needed and how to structure the menus and sub menus.
a. Group use cases by data requirements
b. Group use cases by dependency
c. Group use cases by actor.
d. Group business functions by department
Answer:
c. Group use cases by actor.
Explanation:
A use case is used to describe interaction between systems and users to achieve a goal. Mostly, a list of possible interaction between the system and the user is identified. The user can be a single person or a group. By using use case, the requirement of a systems is identified from a users point of view.