(In C++)
Instructions: For this exercise you will create three classes: Contact; FamilyContact; WorkContact. (Two of these classes you already have from the previous assignment. They may need a little changes to make it work according to the UML diagram below.) Look at the UML diagram below (note: italics means virtual):
Contact
___________________________________________
# fullname : string
# email : string
# address : string
# city : string
# state : string
# zipcode : string
# area_code : string
# phone_number : string
___________________________________________
+ Contact() :
+ getFullname() const : string
// add accessor and Mutator methods for all variables
+ display() : void
+ operator << (out: ostream&, c : Contact&) : ostream&

Answers

Answer 1

To solve this exercise, you need to create three classes: Contact, FamilyContact, and WorkContact. The Contact class should include member variables and methods as described in the UML diagram, including accessor and mutator methods for the variables, a display method, and an overloaded operator << for output. The FamilyContact and WorkContact classes can inherit from the Contact class and add any additional member variables or methods specific to their respective types.

In this exercise, you are given a UML diagram that outlines the structure and functionality of the Contact class. The Contact class serves as a base class for the FamilyContact and WorkContact classes, which can inherit its member variables and methods. You need to implement the Contact class with the provided member variables and methods, ensuring to include accessor and mutator methods for all variables, a display method to print the contact information, and an overloaded operator << for output. The FamilyContact and WorkContact classes can be derived from the Contact class and add any additional functionality specific to family contacts and work contacts, respectively. By following the UML diagram and implementing the necessary classes and methods, you can create a program that manages and displays contact information.

To learn more about UML diagram

brainly.com/question/30401342

#SPJ11


Related Questions

Assembly language is not platform-specific. O True O False

Answers

Answer:

Assembly language is a platform specific language so the above statement that the assembly language is not platform specific is not true.

In Azure, for anyone that has taken the test, or is a cloud specialist I will ask this again, there are 3 possible 'SOLUTIONS' for this problem. I'd like to know if 1, 2 or all of these solutions work, or don't work,
This question has several different versions of the solution
You have an Azure subscription named Subscription1. You sign in to the Azure portal and create a resource
group named RG1.
From Azure documentation, you have the following command that creates a virtual machine named VM1.
az vm create –resource-group RG1 –name VM1 — image
UbuntuLTS –generate-ssh-keys
You need to create VM1 in Subscription1 by using the command.
Does this meet the goal?
Possible solutions the the problem:
Solution: From the Azure portal, launch Azure Cloud Shell and select PowerShell. Run the command in Cloud
Shell.
Different solution:
Solution: From a computer that runs Windows 10, install Azure CLI. From PowerShell, sign in to Azure and then run the command.
Different solution:
Solution: From a computer that runs Windows 10, install Azure CLI. From a command prompt, sign in to Azure
and then run the command.
Do any of these solutions meet the goal?

Answers

All three solutions can meet the goal of creating VM1 in Subscription1, but the specific solution to use depends on the preferred environment and tools of the user.

1. Solution: Using Azure Cloud Shell in the Azure portal with PowerShell: This solution works as it provides a browser-based shell environment with pre-installed Azure CLI and PowerShell modules. Users can directly run the command in Cloud Shell without the need for local installations.

2. Solution: Using Azure CLI from a computer running Windows 10 with PowerShell: This solution also works by installing Azure CLI locally on a Windows 10 machine and running the command from PowerShell. It provides flexibility for users who prefer working with Azure CLI from their local environment.

3. Solution: Using Azure CLI from a computer running Windows 10 with a command prompt: This solution also works by installing Azure CLI locally and running the command from a command prompt. It caters to users who prefer using the command prompt instead of PowerShell.

All three solutions achieve the same goal of creating VM1 in Subscription1. The choice between them depends on the user's familiarity with different environments and their preference for PowerShell, command prompt, or the convenience of Cloud Shell within the Azure portal.

Learn more about PowerShell : brainly.com/question/32772472

#SPJ11

1. What are the advantages and disadvantages of using a variable-length instruction format?
2. What are some typical characteristics of a RISC instruction set architecture?

Answers

1. Variable-length instruction formats offer compactness, code density, and flexibility but introduce Alignment issues.

2. RISC ISAs prioritize simplicity and streamlined operations.

1. Advantages and disadvantages of using a variable-length instruction format:

Advantages:

a. Compactness: Variable-length instruction formats can represent instructions with varying sizes, allowing for more efficient use of memory and cache space.

b. Code density: The smaller instruction sizes in a variable-length format can result in smaller executable code, leading to reduced storage requirements.

c. Flexibility: The variable-length format allows for a wide range of instruction formats, enabling support for diverse operations and addressing modes.

Disadvantages:

a. Decoding complexity: Variable-length instructions require more complex decoding logic, as the instruction length needs to be determined before

b. decoding each instruction. This adds complexity to the instruction fetch and pipeline stages, potentially impacting performance.

c. Alignment issues: Variable-length instructions may result in misaligned instruction fetches, which can introduce inefficiencies or performance penalties on architectures that require aligned memory accesses.

d. Limited opcode space: The variable-length format may limit the number of available opcodes, reducing the instruction set's overall flexibility or forcing the use of additional encoding techniques to accommodate more instructions.

Overall, the choice to use a variable-length instruction format involves trade-offs between code density, flexibility, decoding complexity, and alignment considerations, and it depends on the specific design goals and constraints of the architecture.

2. Typical characteristics of a RISC Instruction Set Architecture (ISA):

a. Simplicity: RISC ISAs are designed to have a simpler and streamlined instruction set, focusing on the most commonly used operations.

b. Reduced instruction set: RISC architectures aim to have a smaller number of instructions, often excluding complex or rarely used instructions.

c. Fixed-length instructions: Instructions in RISC ISAs typically have a fixed size, simplifying instruction decoding and pipelining.

d. Register-based operations: RISC architectures heavily rely on register-based operations, minimizing memory accesses and optimizing performance.

e. Load/store architecture: RISC ISAs usually separate load and store instructions from arithmetic or logical operations, promoting a consistent memory access model.

f. Pipelining-friendly design: RISC architectures are designed with pipelining in mind, ensuring that instructions can be efficiently executed in parallel stages of a processor pipeline.

g. Simple addressing modes: RISC ISAs often feature simple and regular addressing modes, reducing complexity in instruction decoding and memory access calculations.

These characteristics of RISC ISAs contribute to simplified hardware design, improved performance, and easier compiler optimization. However, they may require more instructions to accomplish complex tasks, necessitating efficient instruction scheduling and code generation techniques.

Learn more about Alignment issues click here :brainly.com/question/494743

#SPJ11

17. 10pts) Prove the following statement . (alb^b\c) →a|c

Answers

To prove that the statement `(aᵇ/b↴c) →a|c` is true, we can use a direct proof. Here's how:Direct proof: Assume `(aᵇ/b↴c)` is true. This means that `a` and `b` are integers such that `b` divides `a`.Also, `b` and `c` are integers such that `c` divides `b`.

We want to show that `a` and `c` are integers such that `c` divides `a`.Since `b` divides `a`, we can write `a` as `a = kb` for some integer `k`.

Substituting `a = kb` in `(a^b/b↴c)`, we get:`(kbᵇ/b↴c)`

Since `c` divides `b`, we can write `b` as `b = lc` for some integer `l`.

Substituting `b = lc` in `(kbᵇ/b↴c)`, we get:`(klcᵇ/lc↴c)`

Simplifying, we get:`(kcᵇ/c)`Since `c` divides `kc`, we can write `kc` as `a` for some integer `m`.

Substituting `kc = a` in `(kcᵇ/c)`, we get:`(aᵇ/c)`Since `c` divides `a`, we have shown that `(aᵇ/b↴c) →a|c` is true.

To know more about integers visit:

https://brainly.com/question/32581284

#SPJ11

Write a program in C++ that that will perform the following
functions in a linear link list.
1. Insert
an element before a target point.
2. Delete
an element before a target point.

Answers

An example implementation of a linear linked list in C++ that includes functions to insert and delete elements before a target point:

#include <iostream>

using namespace std;

// Define the node structure for the linked list

struct Node {

   int data;

   Node* next;

};

// Function to insert a new element before a target point

void insertBefore(Node** head_ref, int target, int new_data) {

   // Create a new node with the new data

   Node* new_node = new Node();

   new_node->data = new_data;

   

   // If the list is empty or the target is at the beginning of the list,

   // set the new node as the new head of the list

   if (*head_ref == NULL || (*head_ref)->data == target) {

       new_node->next = *head_ref;

       *head_ref = new_node;

       return;

   }

   

   // Traverse the list until we find the target node

   Node* curr_node = *head_ref;

   while (curr_node->next != NULL && curr_node->next->data != target) {

       curr_node = curr_node->next;

   }

   

   // If we didn't find the target node, the new node cannot be inserted

   if (curr_node->next == NULL) {

       cout << "Target not found. Element not inserted." << endl;

       return;

   }

   

   // Insert the new node before the target node

   new_node->next = curr_node->next;

   curr_node->next = new_node;

}

// Function to delete an element before a target point

void deleteBefore(Node** head_ref, int target) {

   // If the list is empty or the target is at the beginning of the list,

   // there is no element to delete

   if (*head_ref == NULL || (*head_ref)->data == target) {

       cout << "No element to delete before target." << endl;

       return;

   }

   

   // If the target is the second element in the list, delete the first element

   if ((*head_ref)->next != NULL && (*head_ref)->next->data == target) {

       Node* temp_node = *head_ref;

       *head_ref = (*head_ref)->next;

       delete temp_node;

       return;

   }

   

   // Traverse the list until we find the node before the target node

   Node* curr_node = *head_ref;

   while (curr_node->next != NULL && curr_node->next->next != NULL && curr_node->next->next->data != target) {

       curr_node = curr_node->next;

   }

   

   // If we didn't find the node before the target node, there is no element to delete

   if (curr_node->next == NULL || curr_node->next->next == NULL) {

       cout << "No element to delete before target." << endl;

       return;

   }

   

   // Delete the node before the target node

   Node* temp_node = curr_node->next;

   curr_node->next = curr_node->next->next;

   delete temp_node;

}

// Function to print all elements of the linked list

void printList(Node* head) {

   Node* curr_node = head;

   while (curr_node != NULL) {

       cout << curr_node->data << " ";

       curr_node = curr_node->next;

   }

   cout << endl;

}

int main() {

   // Initialize an empty linked list

   Node* head = NULL;

   // Insert some elements into the list

   insertBefore(&head, 3, 4);

   insertBefore(&head, 3, 2);

   insertBefore(&head, 3, 1);

   insertBefore(&head, 4, 5);

   

   // Print the list

   cout << "List after insertions: ";

   printList(head);

   // Delete some elements from the list

   deleteBefore(&head, 4);

   deleteBefore(&head, 2);

   

   // Print the list again

   cout << "List after deletions: ";

   printList(head);

   return 0;

}

This program uses a Node struct to represent each element in the linked list. The insertBefore function takes a target value and a new value, and inserts the new value into the list before the first occurrence of the target value. If the target value is not found in the list, the function prints an error message and does not insert the new value.

The deleteBefore function also takes a target value, but deletes the element immediately before the first occurrence of the target value. If the target value is not found or there is no element before the target value, the function prints an error message and does

Learn more about linear linked list  here:

https://brainly.com/question/13898701

#SPJ11

10.#include #define N 8 void fun(int a[ ], int m, { int i; for(i=m; i<=n; i++) a[i]++; } int main() { int i, a[N]={1, 2, 3, 4, 5, 6, 7, 8}; fun(a, 2, 6); for(i=0; i A. 1 2 3 4 5 6 7 8 B. 1 2 4 5 6 7 8 8 C. 2 3 4 5 6 7 8 9 D. 1 2 4 5 6 7 8 9

Answers

The code modifies the elements of the array `a` by incrementing a portion of the array from index 2 to index 6 by one, resulting in the output 2 3 4 5 6 7 8 9.

1. The output of the given code will be option C: 2 3 4 5 6 7 8 9. The code defines a function called `fun` that takes an array `a`, a starting index `m`, and an ending index `n` as parameters. Inside the `fun` function, it increments each element of the array from index `m` to index `n` inclusive by one.

2. In the `main` function, an array `a` of size 8 is declared and initialized with values 1 to 8. Then, the `fun` function is called with `a` as the array parameter, 2 as the starting index, and 6 as the ending index. This means that the elements of `a` from index 2 to index 6 will be incremented by one.

3. After the function call, a for loop is used to print the elements of `a`. Since the elements from index 2 to index 6 were incremented by one inside the `fun` function, the output will be 2 3 4 5 6 7 8 9.

learn more about array here: brainly.com/question/31605219

#SPJ11

Please write the solution in a computer handwriting and not in handwriting because the handwriting is not clear
the Questions about watermarking
Answer the following questions
3- An image of dimension 50 * 60 pixels, each pixel is stored in an image file as 3 bytes (true color), what is the maximum data size in bytes that can be inserted in the image?
4- Why LSB watermark is fragile?
5- What are the other types of watermark are not fragile?

Answers

The maximum data size that can be inserted in an image of dimension 50x60 pixels, with each pixel stored as 3 bytes, is 50x60x3 = 9,000 bytes.

LSB (Least Significant Bit) watermarking is fragile because it modifies the least significant bit of the pixel values, which are more susceptible to noise and compression. Even minor alterations to the image, such as compression or resizing, can cause the embedded watermark to be lost or distorted.

Other types of watermarks that are not fragile include robust watermarks and semi-fragile watermarks. Robust watermarks are designed to withstand various image processing operations, such as cropping or filtering, while remaining detectable. Semi-fragile watermarks can tolerate certain modifications but are sensitive to more significant changes, making them suitable for detecting intentional tampering while allowing for unintentional alterations.

3. The image has a dimension of 50x60 pixels, resulting in a total of 50x60 = 3,000 pixels. Since each pixel is stored as 3 bytes (true color), the maximum data size that can be inserted is 3,000 pixels x 3 bytes = 9,000 bytes.

LSB watermarking works by modifying the least significant bit of the pixel values, which represents the lowest-order bit in the binary representation. These bits are more sensitive to noise and compression, and even slight alterations to the image can cause the embedded watermark to be lost or severely distorted. Any image processing operation, such as compression, resizing, or even a simple conversion to a different image format, can potentially destroy the hidden watermark.

Other types of watermarks that are not fragile include robust watermarks and semi-fragile watermarks. Robust watermarks are designed to withstand common image processing operations and attacks without significant loss or degradation. They are used to prove ownership or provide copyright protection. Semi-fragile watermarks, on the other hand, are designed to tolerate certain modifications or benign alterations in the image, such as cropping or color adjustments, while being sensitive to more substantial changes. They are useful for detecting intentional tampering or malicious modifications.

Learn more about watermarking techniques here: brainly.com/question/32881118

#SPJ11

Without using the function EXP, write a function in SCL for calculation of the natural number e = 2.7182818 ….
The basis for the calculations is the series:
1
1
1
1
e = 1+1+1+2+1:2:3+1.2.3.4
+......
The series is to close when the next member in the series is less than 1.0 ∙ 10−6 .
The function should be a "non-void function". The function delivers the value to the calling program via its name: dbTestfc.rExp2 := fcExpo();
Make the SCL code with explainations.

Answers

The calling program can retrieve the calculated value of e by assigning the output of the function to dbTestfc.rExp2.

Here's an SCL function that calculates the value of e using the given series approximation:

FUNCTION fcExpo : REAL

VAR

   n, fact : INT;

   sum, term : REAL;

BEGIN

   n := 0;

   fact := 1;

   sum := 0.0;

   REPEAT

       n := n + 1;

       fact := fact * n;

       term := 1.0 / fact;

       sum := sum + term;

   UNTIL (term < 1.0E-6);

   RETURN sum + 1.0;

END_FUNCTION

Explanation:

The function fcExpo uses a loop to iterate through the terms of the series until it reaches a term less than 1.0E-6.

Inside the loop, we keep track of the current term and add it to a running sum. The variable n keeps track of the current term number, and fact keeps track of the factorial of that term number.

We calculate each term by dividing 1.0 by its factorial. In other words, for the first term, term is equal to 1/1!, for the second term, term is equal to 1/2!, and so on.

Once we have iterated through all of the terms in the series, we return the sum plus 1.0, since the first term in the series is always 1.

Finally, the calling program can retrieve the calculated value of e by assigning the output of the function to dbTestfc.rExp2.

Learn more about program  here:

https://brainly.com/question/14368396

#SPJ11

Which of the below cmd command will let the network admin locate which router is not reachable? a) ping. b) netstat. c) tracert. d) ipconfig. Which of the below should be considered while configuring a domain server? The server IP address must be configured statically The server IP address must be configured Dynamically The remote access must be enabled on the server The Administrator password must be always disabled

Answers

To locate a router that is not reachable, the appropriate command to use is "tracert" (c). This command helps identify the network path and determines where the connection is failing.

To locate a router that is not reachable, the "tracert" (c) command is the most suitable option. Tracert, short for "trace route," helps network administrators identify the path taken by network packets and determine the specific router or hop where the connection is failing. By analyzing the output of the tracert command, administrators can pinpoint the problematic router and take necessary troubleshooting steps.

When configuring a domain server, it is recommended to set the server IP address statically. This ensures that the server always uses the same IP address, which simplifies network management and avoids potential IP conflicts. Additionally, enabling remote access on the server allows authorized users to connect to the server remotely for management and administration purposes.

However, the statement suggesting that the Administrator password must be always disabled is incorrect. It is crucial to have a strong and secure password for the Administrator account on a domain server. This helps protect against unauthorized access and ensures the server's overall security. Disabling the Administrator password would leave the server vulnerable to unauthorized access and potential security breaches.

know more about IP address statically :brainly.com/question/30099584

#SPJ11

Which of the following functions returns the second smallest node in a binary search tree ? find smallest (tree node r) function returns the node with smallest value in a tre
O tree node find second smallest (tree_node r) ( if (r-left-HULL) return find smallest (r->right); return find_second_smallest (r->left);
O tree node find second smallest (tree node r) ( if (r-left-NULL) return find smallest (r->right); tree node p find_second_anallest (r->left); if (pULL) return ri else return pi
O tree node find second smallent (tree_node r) 1 If Ir-left) return find smallest (r->right); tree node p find_second_smallest (r->left); LE (p1-NULL) return else return pr
O tree node tind second smallest (tree nodex) ( tree node p find second smallest (r-left); if (pl-MULL) return else return pi

Answers

The function that returns the second smallest node in a binary search tree is "find second smallest (tree_node r)." It follows a recursive approach to traverse the tree and find the second smallest node.

The "find second smallest (tree_node r)" function starts by checking if the left child of the current node is not NULL. If it is not NULL, the function calls itself recursively on the right child of the current node, as the second smallest node cannot exist in the right subtree. This step helps traverse to the leftmost leaf node of the right subtree, which will be the second smallest node.

If the left child of the current node is NULL, it means that the current node is the smallest node in the tree. In this case, the function calls another function called "find smallest" on the right child of the current node to find the smallest node in the right subtree.

The "find smallest" function returns the node with the smallest value in a tree by recursively traversing to the left child until a NULL node is encountered. The smallest node is the leftmost leaf node in a binary search tree.

Once the "find smallest" function returns the smallest node in the right subtree, the "find second smallest" function checks if the left child of the current node is not NULL. If it is not NULL, the function calls itself recursively on the left child to find the second smallest node in the left subtree.

If the left child of the current node is NULL, it means that the current node is the second smallest node in the tree. In this case, the function returns the current node.

In summary, the "find second smallest" function traverses the binary search tree recursively and finds the second smallest node by first exploring the right subtree and then the left subtree until the second smallest node is found. The function makes use of the "find smallest" function to find the smallest node in the right subtree when needed.

To learn more about function click here, brainly.com/question/28945272

#SPJ11

Use repeated division by 2 to find the binary representation of decimal number 103. Show your work.

Answers

The binary representation of decimal number 103 is 1100111, as the remainders obtained from the divisions are 1, 1, 1, 0, 0, 1, and 1.

In order to use repeated division by 2 to find the binary representation of decimal number 103, the following steps need to be followed:

Step 1: Divide the decimal number by 2.103/2 = 51 with a remainder of 1 (the remainder is the least significant bit).

Step 2: Divide the quotient (51) obtained in step 1 by 2.51/2 = 25 with a remainder of 1. (This remainder is the second least significant bit)

Step 3: Divide the quotient (25) obtained in step 2 by 2.25/2 = 12 with a remainder of 1. (This remainder is the third least significant bit)

Step 4: Divide the quotient (12) obtained in step 3 by 2.12/2 = 6 with a remainder of 0. (This remainder is the fourth least significant bit)

Step 5: Divide the quotient (6) obtained in step 4 by 2.6/2 = 3 with a remainder of 0. (This remainder is the fifth least significant bit)

Step 6: Divide the quotient (3) obtained in step 5 by 2.3/2 = 1 with a remainder of 1. (This remainder is the sixth least significant bit)

Step 7: Divide the quotient (1) obtained in step 6 by 2.1/2 = 0 with a remainder of 1. (This remainder is the seventh least significant bit)Hence, the binary representation of decimal number 103 is 1100111. This is because the remainders obtained from the divisions (read from bottom to top) starting from 103 are 1, 1, 1, 0, 0, 1, and 1 (which is the binary equivalent).

To know more about binary representation Visit:

https://brainly.com/question/30591846

#SPJ11

What is the correct postfix expression of the given infix expression below (with single digit numbers)?
(2+4*(3-9)*(8/6))
a.
2439-**86/+
b.
2439-+*86/*
c.
2439-*86/*+
d.
2439-*+86/*
Which of the following is correct in terms of element movements required, when inserting a new element at the end of a List?
a.
Linked-List performs better than Array-List.
b.
Linked List and Array-List basically perform the same.
c.
Array-List performs better than Linked-List.
d.
All of the other answers
Which of the following is correct?
a.
An undirected graph contains both arcs and edges.
b.
None of the other answers
c.
An undirected graph contains arcs.
d.
An undirected graph contains edges.
Given G(n) = O( F(n) ) in Big-O notation, which of the following is correct in general?
a.
Function G is not growing slower than function F, for all positive integers n.
b.
Function F is not growing slower than function G, for all positive integers n.
c.
Function G is not growing faster than function F, for large positive integers n.
d.
Function F is not growing faster than function G, for large positive integers n.
Which of the following is a "balanced" string, with balanced symbol-pairs [ ], ( ), < >?
a.
All of the other answers
b.
"a [ b ( x y < C > A ) B ] e < > D"
c.
"a < A ( x y < z > c ) d [ e > ] D"
d.
"a [ b ( A ) ] x y < B [ e > C ] D"
Which of the following is used for time complexity analysis of algorithms?
a.
Counting the total number of all instructions
b.
None of the other answers
c.
Counting the total number of key instructions
d.
Measuring the actual time to run key instructions
Which of the following is wrong related to searching problems?
a.
Data table could not be modified in static search.
b.
Binary searching works on ordered data tables.
c.
Data table could be modified in dynamic search.
d.
None of the other answers

Answers

The correct postfix expression of the given infix expression (with single digit numbers) (2+4*(3-9)*(8/6)) is c. 2439-86/+.

The answer to the second question is c. Array-List performs better than Linked-List, as inserting a new element at the end of an Array-List requires only one movement of elements, while in a Linked-List it may require traversing the entire list.

The answer to the third question is d. An undirected graph contains edges.

The answer to the fourth question is b. Function F is not growing slower than function G, for all positive integers n.

The answer to the fifth question is d. "a [ b ( A ) ] x y < B [ e > C ] D" is a balanced string with balanced symbol-pairs.

The answer to the sixth question is c. Counting the total number of key instructions is used for time complexity analysis of algorithms.

All of the statements in the fourth question are correct related to searching problems.

Learn more about postfix expression  here:

https://brainly.com/question/27615498

#SPJ11

My code seems to say "min() arg is an empty sequence" and i don't know what's wrong with it. Write a program that inputs a list of integers from the user, and removes the duplicate list elements, plus outputs their min and max values. Here is some sample output: Please enter some positive integers, hitting return after each one. Enter 'q' to quit: 2 You entered 2 unique numbers: 23 with minimum value: 2 and maximum value: 3 322NN D Hints and Rules • Your program should stop the input if anything other than a positive integer is entered. You may want to use the "isnumeric()" function and/or others described in the Python docs for string methods. Normally, you'd use .isnumeric() as a condition for an if-statement or while-loop of course. For example: X = "125" y = "1.25" print (x.isnumeric()) #True print (y.isnumeric()) #False Your program should have at least 2 functions, including a main() function (no global variables or global code other than a call to main) • If at least one positive integer is entered, your program should output the smallest (minimum) and largest (maximum) values in the list. • When the program is finished, the program must have a list that stores each number only once (without duplicates), in the same order they were entered. So you can't just skip outputting the duplicates - you have to remove them (or replace them) • Write your own loops to find the min, max, and to store a list without duplicates. Don't use built-in functions or code we haven't learned in class. def tellUnique (lists): ***This function takes in a list parameter and displays the unique elements in it along with the minimum and maximum values*** unique = [] for num in lists: if num not in unique: unique.append(num) print("You entered",len (unique), "unique numbers:") for num in unique: print (num, end=" ") print("\nThe min value is", min (unique)) print("The max value is",max(unique)) lists = [] print("Please enter some positive integers, hitting return after each one. Enter 'q' to quit: ") while (True): num = input() if num=="q": break if num.isnumeric ()==False: break if int(num) <0: break lists.append(int (num)) ____main___": def main(): if tellUnique (lists) name == main()

Answers

The provided code has a syntax error and is missing some essential parts. It attempts to call the tellUnique function before defining it, and there is an incorrect if-statement in the main function.

Additionally, the code does not properly handle the input and removal of duplicate elements.

To fix the code, you need to make a few modifications. First, define the tellUnique function before calling it in the main function. Inside the tellUnique function, create a new list to store unique elements. Iterate through the input list and add each element to the new list only if it is not already present. Then, print the number of unique elements and the minimum and maximum values using the min() and max() functions on the new list.

Next, update the main function to correctly call the tellUnique function. Instead of using the incorrect name == main(), simply call tellUnique(lists).

To handle input, modify the while loop condition to check if the input is numeric and positive before appending it to the lists list. This ensures that only positive integers are considered.

Finally, ensure that the main() function is called at the end of the code to execute the program.

To know more about programming click here : brainly.com/question/14368396

#SPJ11

Write code to create a barplot with appropriate title and labels
of the Species attribute in the iris data set (the iris data set is
inbuilt in R).

Answers

The code assumes that the iris dataset is already loaded into the R environment using the data(iris) command.

To create a barplot of the Species attribute in the iris dataset in R, you can use the following code:

```R

# Load the iris dataset

data(iris)

# Count the frequency of each species

species_count <- table(iris$Species)

# Create the barplot

barplot(species_count, main = "Species Distribution", xlab = "Species", ylab = "Count", col = "steelblue")

# Add labels to the x-axis

axis(1, at = 1:length(species_count), labels = names(species_count))

# Add labels to the y-axis

axis(2, at = seq(0, max(species_count), by = 5))

```

In this code, we first load the iris dataset using the `data()` function. We then use the `table()` function to count the frequency of each species in the dataset. The `barplot()` function is used to create the bar plot, where we specify the main title as "Species Distribution" and label the x-axis as "Species" and the y-axis as "Count". We set the color of the bars to "steelblue" using the `col` parameter. Finally, we use the `axis()` function to add labels to both the x-axis and y-axis.

To know more about iris dataset visit:

brainly.com/question/32367208

#SPJ11

Consider following definition of function.
f: X-X, f(x) (3x+11) mod 26, where X (0,1,2,....25). Note that GCD(3,26)=1. If f '(x)=c(x-11) mod 26, where 3x=1 mod 26 then the value of c is Select one: a. 9 b. 5
C.11 d. 7

Answers

A function f: X-X, f(x) (3x+11) mod 26, where X (0,1,2,....25). Note that GCD(3,26)=1.If f '(x)=c(x-11) mod 26, where 3x=1 mod 26 then the value of c

To find: Value of cSolution:

Let's first find f '(x)f(x) = (3x+11) mod 26To find f '(x) we differentiate f(x)w.r.t. x to get:f '(x) = d/dx(3x+11) mod 26= 3 mod 26.

Since 3x = 1 mod 26=> x = (1/3) mod 26

Now f '(x) = 3 mod 26f '(x) = c(x-11) mod 26c(x-11) = 3 mod 26Since GCD(3, 26) = 1

Multiplying both sides by 9 (inverse of 3 in mod 26)9c(x-11) = 9*3 mod 26= 1 mod 26So, c(x-11) = 9 mod 26

Since x = (1/3) mod 26=> x-11 = -10/3 mod 26

Multiplying both sides by 3 to remove fraction=> 3(x-11) = -10 mod 26=> c(-10/3) = 9 mod 26

Multiplying both sides by 3 to remove fraction=> c(-10) = 27 mod 26=> c = 7Correct Option: d. 7

To know more about GCD visit:

https://brainly.com/question/29988646

#SPJ11

A multiplexer, also known as a data selector, is a device that selects between several analog or digital input signals and forwards the selected input to a single output line. The selection is directed a separate set of digital inputs known as select lines. In this assignment students have to perform following tasks: Build a circuit for 16 XI multiplexer using 4 X1 multiplexers Implement the given function using 16 X 1 multiplexer circuit F(w, x, y, z)=(0,1,4,6,7,10,13,14,15) Problem #02: An encoder is a logic circuit that accepts one of many inputs at a given time and generates a code corresponding to that input. An encoder converts a many inputs to n-bit output code. The conversion of input to output is called encoding You are required to design an octal-to-binary encoder. Assume that only one input should be active at a time. Deliverables: List down all required equipment for implementation of this project. 2 Screen shots of at least three different input states Simulation diagram implemented using Logisim software. 3. All input and outputs properly labels, with detailed pin configuration of each component. 4. Truth table mentioning each output state relevant to different inputs. s List down five applications of multiplexers. Submit output report as an attachment on BlackBoard. Follow the template provided for finalizing project report. - No Late Submissions will be entertained.

Answers

Ensure that the project report follows the required format and includes all the necessary details and deliverables. Avoid late submissions as they may not be entertained.

To complete the tasks assigned, the following steps need to be taken:

Task 1: Building a circuit for a 16:1 multiplexer using 4:1 multiplexers

Connect the select lines of the 4:1 multiplexers to the appropriate input lines of the 16:1 multiplexer.

Connect the input lines of each 4:1 multiplexer to the corresponding input lines of the 16:1 multiplexer.

Connect the output of each 4:1 multiplexer to the corresponding input line of the 16:1 multiplexer.

Connect the select lines of the 4:1 multiplexers to the select lines of the 16:1 multiplexer.

Connect the output line of the 16:1 multiplexer to the desired output.

Task 2: Implementing the given function using a 16:1 multiplexer circuit

Connect the inputs of the 16:1 multiplexer to the respective input signals.

Set the select lines of the 16:1 multiplexer according to the desired input.

Task 3: Designing an octal-to-binary encoder

Determine the number of input lines required based on the number of octal inputs. For example, for 8 octal inputs, 3 input lines will be needed.

Connect the octal inputs to the input lines of the encoder.

Set the select lines of the encoder to activate the desired input line.

Connect the output lines of the encoder to the corresponding binary output pins.

Equipment Required:

Breadboard

4:1 multiplexers

16:1 multiplexer

Octal inputs

Binary output pins

Wires for connections

Screenshot Requirements:

Capture screenshots of three different input states showing the inputs, select lines, and outputs.

Simulation Diagram:

Implement the circuit using Logisim software, showing the connections between components.

Proper Labeling:

Label all inputs and outputs of the multiplexers and encoder.

Provide detailed pin configurations for each component.

Truth Table:

Create a truth table that shows the output state relevant to each different input combination.

Applications of Multiplexers:

Data transmission in telecommunications and networking.

Address decoding in memory and microprocessor systems.

Digital signal multiplexing in audio and video applications.

Control signal routing in complex control systems.

Multiplexing analog signals in instrumentation and measurement systems.

Submission:

Prepare an output report as per the provided template and attach it to the submission on BlackBoard.

Know more about multiplexers here:

https://brainly.com/question/15052768

#SPJ11

Write a recursive program with recursive mathematical function for computing 1+2+3+...+n for a positiven integer.

Answers

A recursive program in Python that calculates the sum of integers from 1 to n:

```python

def recursive_sum(n):

   if n == 1:

       return 1

   else:

       return n + recursive_sum(n - 1)

# Test the function

n = int(input("Enter a positive integer: "))

result = recursive_sum(n)

print("The sum of integers from 1 to", n, "is", result)

```

Explanation:

The `recursive_sum` function takes an integer `n` as input and calculates the sum of integers from 1 to `n` recursively.

In the function, we have a base case where if `n` is equal to 1, we simply return 1, as the sum of integers from 1 to 1 is 1.

If `n` is greater than 1, we recursively call the `recursive_sum` function with `n-1` and add `n` to the result of the recursive call. This step continues until the base case is reached.

Finally, we test the function by taking input from the user for a positive integer `n`, calling the `recursive_sum` function with `n`, and printing the result.

To learn more about recursive click here:

brainly.com/question/32491191

#SPJ11

1. What phenomena are allowed on the isolation level READ committed:
a. uncommitted read
b. non repeatable read
c. phantoms
d. overwriting of uncommitted data
2. What phenomena are allowed on the isolation level Serializable:
a. uncommitted read
b. non repeatable read
c. phantoms
d. overwriting of uncommitted data

Answers

On the isolation level READ committed, the allowed phenomena are:a. Uncommitted read  b. Non-repeatable read  c. Phantoms  d. Overwriting of uncommitted data. Option d is correct.

The READ committed isolation level allows phenomena such as uncommitted read, non-repeatable read, phantoms, and overwriting of uncommitted data. An uncommitted read refers to reading data that has been modified but not yet committed by another transaction. A non-repeatable read occurs when a transaction reads the same data multiple times and gets different values due to other transactions modifying the data. Phantoms refer to new rows being inserted or deleted by other transactions between reads within the same transaction. Overwriting of uncommitted data happens when a transaction modifies data that has been modified but not yet committed by another transaction.

The Serializable isolation level, being the highest level of isolation, provides strict transaction isolation. It prevents all the mentioned phenomena, including uncommitted read, non-repeatable read, phantoms, and overwriting of uncommitted data. Serializable isolation ensures that transactions are executed as if they were running sequentially, with no interference from other concurrent transactions. This level guarantees the highest data consistency but may result in lower concurrency compared to other isolation levels.

To learn more about Non-repeatable read click here : brainly.com/question/32170323

#SPJ11

Please solve as much as you are willing to. It's an extra credit assignment so as seen at the top of the first screenshot, using outside help doesn't violate student conduct rules.
thank you!
Rules: Essentially none. You may work in groups, you may use any resource available to you, and you may ask me for help. Show your work! Due: May 2 at 5pm This assignment is an exercise in finding the average-case complexity of an algorithm. Rather than looking at how long an algorithm can run in the worst case as in worst- case analysis, we are looking at how long an algorithm runs on average. This is done by computing the average number of comparisons and operations executed until the algorithm ends. Bogosort is a sorting algorithm that orders a list in increasing order by taking the list, checking to see if the list is ordered increasingly, if the list is not ordered increasingly then the list is randomly shuffled, and then repeating this process until the list is ordered increasingly. Expressed in pseudocode: Algorithm 1 Bogosort Require: list: a1, a2,...,an of real numbers Ensure: list is sorted in increasing order 1: procedure BOGO(list) 2: while not sorted (list) do ▷ Checks to see if list is sorted 3: shuffle (list) ▷ Shuffle the current list if not sorted 4. end while 5: end procedure Problems 1. Describe a worst-case performance for bogosort. We will now find the average-case time complexity for bogosort where we are ordering the list a1, a2,..., an. We begin by finding the average number of shuffles needed to order the list. 2. What is the probability that a list a1, a2,..., an is ordered? 3. Consider the Bernoulli trial where a success is that a random permutation of a1, a2, ..., an is ordered and a failure that a random permutation of a1, a2,..., an is not ordered. What is the probability of success? What is the probability of failure? 4. Define a random variable X where X is the number of shuffles of a1, a2,..., an until a success. What is P(X = k), that is, what is the probability that the first success happens on the kth shuffle? 5. Compute the expected number of shuffles until the first success. You may need the following sum formula: 8 T Σ(k + 1)pk = + 1 1-r (1 — r)² ° k=0 After each shuffling of the list, we need to check the number of comparisons done. To simplify things, we will assume that we compare all consecutive entries in the shuffled list. 6. How many comparisons are made when checking if a shuffled list is ordered? 7. Combine 5. and 6. to give a big-O estimate for the average time complexity of bogosort. Notice that the worst-case time complexity and average-case time complexity for bo- gosort are different!

Answers

Bogosort is a sorting algorithm that repeatedly shuffles a list and checks if it is sorted. In this extra credit assignment, the task is to analyze the average-case complexity of Bogosort. The problem involves finding the average number of shuffles needed to sort a list and the number of comparisons made during the sorting process. The probability of a list being ordered, the probability of success and failure in a Bernoulli trial, and the expected number of shuffles until the first success are calculated. The average time complexity of Bogosort is then estimated based on the number of comparisons made and the expected number of shuffles.

To determine the average-case time complexity of Bogosort, several calculations need to be performed. Firstly, the probability that a list is ordered is determined. This probability is the ratio of the number of ordered permutations to the total number of possible permutations. Next, the probability of success (an ordered permutation) and failure (a non-ordered permutation) in a Bernoulli trial are computed.

A random variable X is defined to represent the number of shuffles until a success occurs. The probability distribution of X is determined, specifically the probability P(X = k), which represents the probability that the first success happens on the kth shuffle. Using the given sum formula, the expected number of shuffles until the first success is computed.

Additionally, the number of comparisons made when checking if a shuffled list is ordered is determined. Assuming all consecutive entries are compared, the average number of comparisons per shuffle can be calculated.

By combining the expected number of shuffles and the average number of comparisons per shuffle, an estimation of the average time complexity of Bogosort in big-O notation can be provided. This estimation represents the average-case behavior of the algorithm. It's important to note that the worst-case and average-case time complexities for Bogosort are different, indicating the varying performance of the algorithm in different scenarios.

To learn more about Probability - brainly.com/question/31828911

#SPJ11

Bogosort is a sorting algorithm that repeatedly shuffles a list and checks if it is sorted. In this extra credit assignment, the task is to analyze the average-case complexity of Bogosort. The problem involves finding the average number of shuffles needed to sort a list and the number of comparisons made during the sorting process. The probability of a list being ordered, the probability of success and failure in a Bernoulli trial, and the expected number of shuffles until the first success are calculated. The average time complexity of Bogosort is then estimated based on the number of comparisons made and the expected number of shuffles.

To determine the average-case time complexity of Bogosort, several calculations need to be performed. Firstly, the probability that a list is ordered is determined. This probability is the ratio of the number of ordered permutations to the total number of possible permutations. Next, the probability of success (an ordered permutation) and failure (a non-ordered permutation) in a Bernoulli trial are computed.

A random variable X is defined to represent the number of shuffles until a success occurs. The probability distribution of X is determined, specifically the probability P(X = k), which represents the probability that the first success happens on the kth shuffle. Using the given sum formula, the expected number of shuffles until the first success is computed.

Additionally, the number of comparisons made when checking if a shuffled list is ordered is determined. Assuming all consecutive entries are compared, the average number of comparisons per shuffle can be calculated.

By combining the expected number of shuffles and the average number of comparisons per shuffle, an estimation of the average time complexity of Bogosort in big-O notation can be provided. This estimation represents the average-case behavior of the algorithm. It's important to note that the worst-case and average-case time complexities for Bogosort are different, indicating the varying performance of the algorithm in different scenarios.

To learn more about Probability - brainly.com/question/31828911

#SPJ11

In data structures, a static queue is simple and can be implemented using an array as the memory size is a concern. Meanwhile, a dynamic queue can be implemented using a linked list as the memory can be allocated when it is needed. The dynamic queue is more efficient than the static queue based on this concept. Justify the statement by explaining and illustrating the static and dynamic queue processes in data structures. Show and label the suitable variables for the queue diagrams. Use a static queue size of 3.

Answers

A Queue is a linear data structure that follows the First In First Out (FIFO) principle. That means the first element inserted in a queue will be the first one to be removed. Queues can be implemented using two different approaches, namely static and dynamic.

In a static queue, the memory for the queue is allocated during compile time, and the size of the queue remains fixed throughout its lifetime. The size of the static queue can't be changed according to the needs of the program. The following diagram shows the static queue implementation with a maximum size of 3:

+---+---+---+

|   |   |   |

+---+---+---+

 ^           ^

front        rear

The variables used in the diagram are as follows:

front: A pointer that points to the front of the queue.

rear: A pointer that points to the rear of the queue.

Initially, both pointers point to the same location, which is -1. When an element is added to the queue, it is inserted at the end of the queue or the rear position, and the rear pointer is incremented by 1. Example, let's assume we have a static queue of three elements, and initially, our front and rear pointers are -1:

+---+---+---+

|   |   |   |

+---+---+---+

 ^           ^

front        rear

If we add an element 'A' to the queue, it will be inserted at the end of the queue, and the rear pointer will be incremented to 0:

+---+---+---+

| A |   |   |

+---+---+---+

 ^           ^

front        rear

Similarly, if we add another element 'B' to the queue, it will be inserted at the end of the queue, and the rear pointer will be incremented to 1:

+---+---+---+

| A | B |   |

+---+---+---+

 ^           ^

front        rear

Now, if we add another element 'C' to the queue, it will be inserted at the end of the queue, and the rear pointer will be incremented to 2. At this point, our queue is full, and we can't add any more elements to it.

+---+---+---+

| A | B | C |

+---+---+---+

 ^           ^

front        rear

If we try to add another element to the queue, it will result in an Overflow error as the queue is already full.

On the other hand, in a dynamic queue, the memory for the queue can be allocated during runtime, and the size of the queue can be changed according to the needs of the program. In a dynamic queue, a linked list is used to implement the queue instead of an array. The following diagram shows the dynamic queue implementation using a singly linked list:

+------+    +------+    +------+    +------+

| data | -> | data | -> | data | -> | NULL |

+------+    +------+    +------+    +------+

 ^                                          ^

front                                      rear

The variables used in the diagram are as follows:

front: A pointer that points to the front of the queue.

rear: A pointer that points to the rear of the queue.

Initially, both pointers point to NULL, indicating an empty queue. When an element is added to the queue, it is inserted at the end of the linked list, and the rear pointer is updated to point to the new node. Example, let's assume that we have an empty dynamic queue:

+------+

| NULL |

+------+

 ^    ^

front rear

If we add an element 'A' to the queue, a new node will be created with the data 'A', and both front and rear pointers will point to this node:

+------+     +------+

| data | --> | NULL |

+------+     +------+

 ^           ^

front       rear

Similarly, if we add another element 'B' to the queue, it will be inserted at the end of the linked list, and the rear pointer will be updated to point to the new node:

+------+     +------+     +------+

| data | --> | data | --> | NULL |

+------+     +------+     +------+

 ^                        ^

front                    rear

Now, if we add another element 'C' to the queue, it will be inserted at the end of the linked list, and the rear pointer will be updated to point to the new node:

+------+     +------+     +------+     +------+

| data | --> | data | --> | data | -->

Learn more about queue here:

https://brainly.com/question/32318887

#SPJ11

Write HASKELL definitions for the following functions: 1. order a b c: returns a ternary tuple (tuple with 3 parts) of a, b and c such that the first element is less-or-equal the second, and the second is less-or-equal the third element. For example, order 4 2 3 should return (2,3,4). 2. fltr f lst: returns the list consisting of members of lst that make the function f return True when applied to it. For example, fltr even [1,2,2,5,8,4] should return [2,2,8,4]. f can be any function that takes one parameter of the same type as list elements. 3. compute lst: lst is a list of pairs of numbers, and the anwser is a list formed as follows – if the first component is smaller than the second one, then their multiplication is in the resut. Otherwise, their addition is in the result. 1. Example 1: compute [(2,3),(8,4),(4,6)] should return [6,12,24]. 2. Example 2: compute [(8,7),(1,1),(4,5),(2,5)] should return [15,2,20,10]. 4. eliminate lst: returns a list, obtained from lst, such that a is in the result only if it is smaller than the next element that follows it in lst. For example, eliminate [4,3,6,5,7,9,6] should return [3,5,7]. Note that the last element of lst will never be in the result, because there is no other element after it. (hint: use the pattern (x:(y:t)) to access the first and second elements in front of the list. Or you can use head and tail functions.) 5. gpa lst: computes the gpa in a given semester, given a list of (course,credit,grade) tuples. An ‘A’ counts as 4, ‘B’ counts as 3, ‘C’ counts as 2 and ‘D’ counts as 1. Example: gpa [("cmse318",4, ‘A’), ("math163",3, ‘C’)] should return 3.14 ((4*4+2*3)/7). 6. howmany elem a_list: returns how many elems are in a_list. For example, howmany 'b' ['a', 'b', 'c', 'b', 's'] should return 2. 7. pair_lists list1 list2: returns a list of pairs, where the first component of a pair in position i is in position i of list2 and the second component of a pair in position i is in position i of list1. For example, pair_lists [3,4,5] [10,20,30] should return [(10,3),(20,4),(30,5)]. You can assume that the two lists have the same size. 8. classify_g n: returns a letter grade based upon a numeric grade, according to the following schema: n>=90 'A', 80=90 'A', 80<=n<=89 'B', 70<=n<79 'C', otherwise 'D'. For example, classify_i 87 should return 'B'. Define classify_i with the if expression to implement this function. 10. first_odds n: returns a list of the first n odd numbers. For example, first_odds 5 should return [1,3,5,7,9].

Answers

These are Haskell function definitions that perform various tasks, such as sorting a ternary tuple, filtering a list based on a function, computing products/sums based on pairs in a list, and more.

1. `order a b c = (x, y, z) where [x, y, z] = sort [a, b, c]`

2. `fltr f lst = [x | x <- lst, f x]`

3. `compute lst = [if x < y then x*y else x+y | (x,y) <- lst]`

4. `eliminate lst = [x | (x,y) <- zip lst (tail lst), x < y]`

5. `gpa lst = let (s, c) = foldl (\(s, c) (_, cr, gr) -> (s + cr * (case gr of 'A' -> 4; 'B' -> 3; 'C' -> 2; 'D' -> 1; _ -> 0)), c + cr)) (0,0) lst in s / c`

6. `how many elem a_list = length $ filter (==elem) a_list`

7. `pair_lists list1 list2 = zip list2 list1`

8. `classify_g n = if n >= 90 then 'A' else if n >= 80 then 'B' else if n >= 70 then 'C' else 'D'`

10. `first_odds n = take n [1,3..]`

To know more about Haskell function, visit:
brainly.com/question/15055291
#SPJ11

2 10 (a) Develop an android application with two buttons and intent properties. The activities which have to be performed are as follows: 1. During the click of button 1, the Bing search engine page should be displayed. 2. On clicking button 2, the yahoo email service should get opened

Answers

An Android application will be developed with two buttons and intent properties. Clicking button 1 will display the Bing search engine page, while clicking button 2 will open the Yahoo email service.

To develop an Android application with two buttons and intent properties, you can follow the steps below:

1. Create a new Android project in your preferred development environment (such as Android Studio).

2. Open the layout XML file for your main activity and add two buttons with appropriate IDs and labels.

3. In the Java file for your main activity, declare the button variables and initialize them using `findViewById`.

4. Set click listeners for each button using `setOnClickListener`.

5. Inside the click listener for button 1, create an Intent object with the action `Intent.ACTION_VIEW` and the URL for Bing search engine (https://www.bing.com). Start the activity using `startActivity(intent)`.

6. Inside the click listener for button 2, create an Intent object with the action `Intent.ACTION_VIEW` and the URL for Yahoo email service (https://mail.yahoo.com). Start the activity using `startActivity(intent)`.

By implementing the above steps, when you click button 1, it will open the Bing search engine page, and when you click button 2, it will open the Yahoo email service.

To learn more about Android application click here: brainly.com/question/29427860

#SPJ11

Booksqure is the book lending company. They lend the books for the subscribers. They want to digitalize their operation. They have different entity like Subscriber, Book, Lending (plan & history). Atlest identify one user defined data type for this domain. That user defined data type should have more than 3 member variable. Write a function to create list object and link using dynamic allocation of new object.

Answers

One user defined data type that could be useful for this domain is a LendingHistory struct, which would contain information about a specific book lending transaction. Some possible member variables for this struct could include:

subscriberId: the ID of the subscriber who borrowed the book

bookId: the ID of the book that was borrowed

lendingPlan: the specific plan that the subscriber used to borrow the book (e.g. 1 book per month)

startDate: the date that the book was borrowed

endDate: the date that the book is due to be returned

returnedDate: the actual date that the book was returned (if applicable)

Here's an example function that creates a list of LendingHistory objects using dynamic memory allocation:

c++

#include <iostream>

#include <list>

struct LendingHistory {

   int subscriberId;

   int bookId;

   std::string lendingPlan;

   std::string startDate;

   std::string endDate;

   std::string returnedDate;

};

void addLendingHistory(std::list<LendingHistory*>& historyList) {

   // create a new LendingHistory object using dynamic memory allocation

   LendingHistory* newHistory = new LendingHistory;

   // set the member variables for the new object

   std::cout << "Subscriber ID: ";

   std::cin >> newHistory->subscriberId;

   std::cout << "Book ID: ";

   std::cin >> newHistory->bookId;

   std::cout << "Lending Plan: ";

   std::cin >> newHistory->lendingPlan;

   std::cout << "Start Date (yyyy-mm-dd): ";

   std::cin >> newHistory->startDate;

   std::cout << "End Date (yyyy-mm-dd): ";

   std::cin >> newHistory->endDate;

   std::cout << "Returned Date (yyyy-mm-dd, or leave blank if not returned): ";

   std::cin >> newHistory->returnedDate;

   // add the new object to the historyList

   historyList.push_back(newHistory);

}

int main() {

   std::list<LendingHistory*> historyList;

   // add some example lending history objects to the list

   for (int i = 0; i < 3; i++) {

       addLendingHistory(historyList);

   }

   // print out the contents of the list

   for (auto it = historyList.begin(); it != historyList.end(); it++) {

       std::cout << "Subscriber ID: " << (*it)->subscriberId << std::endl;

       std::cout << "Book ID: " << (*it)->bookId << std::endl;

       std::cout << "Lending Plan: " << (*it)->lendingPlan << std::endl;

       std::cout << "Start Date: " << (*it)->startDate << std::endl;

       std::cout << "End Date: " << (*it)->endDate << std::endl;

       std::cout << "Returned Date: " << (*it)->returnedDate << std::endl;

       std::cout << std::endl;

   }

   // free the memory allocated for the lending history objects

   for (auto it = historyList.begin(); it != historyList.end(); it++) {

       delete (*it);

   }

   return 0;

}

This program uses a std::list container to store LendingHistory objects, and dynamically allocates memory for each object using the new operator. The addLendingHistory function prompts the user to enter information for a new lending transaction and adds a new LendingHistory object to the list. The main function adds some example lending transactions to the list, then prints out their contents before freeing the memory allocated for each object using the delete operator.

Learn more about data here:

https://brainly.com/question/32661494

#SPJ11

Using Python, write an algorithm for computing a weekly payroll where the user decides how many employees they’re going to pay to and provides the paying info for each employee.
on that design with other tools and program it. As a refresher, what you must do is: Ask the user how many employees on payroll this week Ask how many hours worked and wage for each employee Compute: gross salary, net salary, overtime pay (if applicable) and tax and benefit deductions Display: gross salary, net salary and total deductions of each employee Compute the total of the payroll for the week (use the gross pay for this) Use the following constant values for your computations: o 18% tax deduction o 20% benefits deduction o 2 times the wage/hr for overtime hours o Consider regular hours up to 37.5 hours/week WHAT YOU NEED TO DO: a. Using Top-down design, prepare a hierarchy diagram on all the functions you would use in your code. Remember:

Answers

To compute a weekly payroll for multiple employees, you would need the following functions: get_employee_count(), get_employee_info(), compute_gross_salary(), compute_net_salary(), compute_overtime_pay(), compute_tax_deduction(), compute_benefit_deduction(), display_employee_payroll(), and compute_total_payroll(). These functions will handle user input, perform necessary calculations, and display the payroll information.

(2nd PART) Explanation:

To solve the problem of computing a weekly payroll for multiple employees, we can use top-down design to break down the tasks into smaller functions. Here is an explanation of each function and its role in the overall solution:

get_employee_count(): This function prompts the user to enter the number of employees on the payroll for the week and returns the count as an integer.

get_employee_info(): This function takes the employee count as a parameter and collects the hours worked and wage for each employee using a loop. It returns a list of dictionaries, where each dictionary represents the information for one employee.

compute_gross_salary(): This function takes an employee's hours worked and wage as parameters and calculates the gross salary. If the hours worked exceed 37.5 hours, it also calls the compute_overtime_pay() function to calculate overtime pay.

compute_net_salary(): This function takes an employee's gross salary as a parameter and computes the net salary by subtracting tax and benefit deductions. It calls the compute_tax_deduction() and compute_benefit_deduction() functions for the necessary calculations.

compute_overtime_pay(): This function takes an employee's overtime hours and wage as parameters and calculates the overtime pay using the formula: 2 times the wage per hour multiplied by the overtime hours.

compute_tax_deduction(): This function takes an employee's gross salary as a parameter and computes the tax deduction using a fixed tax rate of 18%.

compute_benefit_deduction(): This function takes an employee's gross salary as a parameter and computes the benefit deduction using a fixed rate of 20%.

display_employee_payroll(): This function takes an employee's information, including their gross salary, net salary, and deductions, and displays it to the user.

compute_total_payroll(): This function takes the list of employee information as a parameter, iterates over each employee, and sums up their gross salaries to compute the total payroll for the week.

By using these functions together, you can implement a program that asks the user for the number of employees, collects their working hours and wage, computes the necessary salary components, displays the payroll information for each employee, and calculates the total payroll for the week.

To learn more about Python

brainly.com/question/30391554

#SPJ11

Let's say you are tasked with writing classes and/or interfaces in Java for the following: • The data type Bird is a generic type for any kind of bird. A Bird cannot be created without it being a more specific type of Bird. • A Bird instance can take off for flight by calling its public void takeoff() method. The Bird type does not supply an implementation of this method. • Eagle is a subtype of Bird. Every Eagle instance has its own wingSpan data field (this is a double). • Eagle overrides method takeOff(). • A LakeAnimal is a type that represents animals that live at a lake. It contains the method public void swim(). LakeAnimal does not supply an implementation of this method. • Both Bird and Lake Animal do not have any data fields. • Loon is a subtype of both Bird and LakeAnimal. Loon overrides method takeoff () and method swim(). • The Loon type keeps track of the maximum dive depth among all Loon instances. This is stored in a variable of type double called maxDiveDepth. • Both Eagle and Loon have constructors that take no arguments. (a) Is is better to create the Bird type as a class or an interface? Explain your reasoning. (a) Is is better to create the Bird type as a class or an interface? Explain your reasoning. (b) Should the LakeAnimal type be a class or an interface? Explain your reasoning (c) Should type Eagle be a class or an interface? Explain your reasoning. (d) Should the data field wingSpan of type Eagle be static? Explain your reasoning

Answers

The wingSpan field should not be declared as static to maintain individuality and uniqueness for each Eagle object.

(a) The Bird type should be created as an interface.

Reasoning:

Since a Bird cannot be created without it being a more specific type of Bird, it implies that Bird itself is an abstract concept representing a common behavior shared by various bird species. By defining Bird as an interface, we can establish a contract specifying the common methods that any specific bird type should implement, such as the takeoff() method. This allows different bird species to implement their own behavior while adhering to the common interface.

(b) The LakeAnimal type should be created as an interface.

Reasoning:

Similar to the Bird type, LakeAnimal represents a common behavior shared by animals that live at a lake. By defining LakeAnimal as an interface, we can specify the swim() method that all lake animals should implement. This allows for flexibility in defining different lake animal species that may have their own specific implementations of swimming behavior.

(c) The type Eagle should be created as a class.

Reasoning:

Eagle is described as a specific subtype of Bird. It has its own data field, wingSpan, which suggests that Eagle should be a concrete class that extends the abstract concept of Bird. By creating Eagle as a class, we can provide the specific implementation of the takeoff() method required for an Eagle, along with the additional data field and any other specific behaviors or characteristics of an Eagle.

(d) The data field wingSpan of type Eagle should not be static.

Reasoning:

The wingSpan data field represents an individual characteristic of each Eagle instance. If the wingSpan field were declared as static, it would be shared among all instances of Eagle. However, each Eagle should have its own unique wingSpan value.

Therefore, the wingSpan field should not be declared as static to maintain individuality and uniqueness for each Eagle object.

Learn more about interface here:

https://brainly.com/question/28939355

#SPJ11

2. Identify/list the parameters that will pipe "ByValue" and "ByPropertyName"for the following cmdlets. Adding showwindow may help filter the results (get-help xxx -showwindow, where xxx is the cmdlet) 1. get-process 2. stop-process 3. get-service 4. stop-service 3. Construct a command that will identify all processes running on your computer for longer than 1000 CPU seconds. Capture and submit a screen shot of your command. If the command returns nothing, reduce the number of seconds by 100 until you have output (my laptop did not return any output until it was reduced to 400, as I don't use it often). 4. Construct a command that will identify all services that are in a "stopped" state. Capture and submit a screen sho of the command and partial output. If you want to start all stopped services, how would you modify the command?

Answers

get-process: The ByValue parameter for this cmdlet is Name, which allows specifying process names as positional arguments.

stop-process: The ByValue parameter for this cmdlet is InputObject, which allows piping process objects to stop.

get-service: The ByValue parameter for this cmdlet is Name, which allows specifying service names as positional arguments.

stop-service: The ByValue parameter for this cmdlet is InputObject, which allows piping service objects to stop.

get-process: The ByValue parameter Name allows specifying the process names as positional arguments, meaning you can provide process names directly without explicitly mentioning the parameter name. For example, get-process explorer will retrieve the details of the "explorer" process.

stop-process: The ByValue parameter InputObject allows piping process objects to stop. This means you can use the output from other cmdlets or commands and pipe it to stop-process to stop those specific processes. For example, get-process | stop-process will stop all the processes returned by get-process.

get-service: The ByValue parameter Name allows specifying the service names as positional arguments. Similar to get-process, you can directly provide service names without explicitly mentioning the parameter name. For example, get-service WinRM will retrieve the details of the "WinRM" service.

stop-service: The ByValue parameter InputObject allows piping service objects to stop. You can pipe service objects to this cmdlet and stop the specified services. For example, get-service | where {$_.Status -eq 'Running'} | stop-service will stop all the running services returned by get-service.

To learn more about CPU

brainly.com/question/31034557

#SPJ11

Question 3.4 ONLY
Three 3) hikers Moses, Elizabeth, and Wag have just descended down a valley to find themselves confronted by a river they cannot get across. After walking downstream for a while, they find two young boys with a boat and ask them if they would help them get across the river. The boys agree, but inform the hikers that since their boat is so small, it can only hold only the two boys or one ofthe hikers at a time. We can assume that everyone knows how to row the boat. (3.1) Define a state using a mathematical notation pictures or any form of graphical notation will not be accepted). Discuss the appropriateness of your choice, and provide an exampleto show that it will be suitable to be employed during a search. (3.2) Define the start and goal states using your representation. (3.3) Define an appropriate cost function or functions for this problem. (3.4) Provide a formal definition of a valid action function for this problem - you need not provide a formal definition for the operation of the function. Discuss the operation of the function and provide an example to illustrate its use.

Answers

1. The state in this problem can be represented using a binary notation where each bit represents the presence or absence of each person (Moses, Elizabeth, and Wag) on either side of the river. This representation is appropriate as it captures the essential information about the location of the hikers and allows for easy manipulation during a search algorithm.

2. The start state would be when all three hikers are on one side of the river, and the goal state would be when all three hikers have successfully crossed to the other side.

3. The cost function for this problem could be defined as the number of trips required to transport all hikers to the other side. Each trip across the river would incur a cost of 1. The goal is to minimize the total cost.

4. The valid action function for this problem would involve moving either one or two hikers from one side of the river to the other. It would consider all possible combinations of hikers' movements while adhering to the constraint that there can be no more than two people on the boat at any given time. The function would generate valid actions based on the current state and the positions of the hikers.

1. The state can be represented using a binary notation where each bit represents the presence (1) or absence (0) of each person on either side of the river. For example, if Moses, Elizabeth, and Wag are on one side of the river, the state would be represented as 111. This representation is appropriate as it captures the essential information about the location of the hikers and allows for easy manipulation during a search algorithm.

2. The start state would be when all three hikers are on one side of the river, represented as 111. The goal state would be when all three hikers have successfully crossed to the other side, represented as 000.

3. The cost function for this problem can be defined as the number of trips required to transport all hikers to the other side. Each trip across the river would incur a cost of 1. The goal is to minimize the total cost, which represents the total number of trips made.

4. The valid action function for this problem would involve moving either one or two hikers from one side of the river to the other. The function would consider all possible combinations of hikers' movements while adhering to the constraint that there can be no more than two people on the boat at any given time. For example, a valid action could be moving Moses and Elizabeth to the other side, resulting in a new state of 001. The function would generate valid actions based on the current state and the positions of the hikers, allowing for exploration of the search space.

To learn more about Algorithm - brainly.com/question/21172316

#SPJ11

how do i do the following in python: if then statements:
code a question for the user such as: how do you get to work? 1.) car 2.) foot 3.) walking 4.) bike
if car then add 100. if foot then add 10. if walking then add 70 if bike then add 90.
then ask another question like: do you have children? 1.) no 2.) yes - one 3.) yes -2 4.) yes -3
if 1.) then add 0 if 2.) then add 1000 if 3.) add 2000 if 4) then add 3000
most importantly: be able to add the numbers for each answer: for example: if the user goes to work by car and has 1 child then the total is : 100+ 1000=1100

Answers

The provided Python code allows the user to answer questions regarding their mode of transportation to work and whether they have children.

Here's a Python code snippet that accomplishes the logic you described:

# First question

print("How do you get to work?")

print("1.) Car")

print("2.) Foot")

print("3.) Walking")

print("4.) Bike")

transport = int(input("Enter your choice (1-4): "))

# Second question

print("Do you have children?")

print("1.) No")

print("2.) Yes - One")

print("3.) Yes - Two")

print("4.) Yes - Three")

children = int(input("Enter your choice (1-4): "))

# Calculate total based on user's choices

total = 0

if transport == 1:

   total += 100

elif transport == 2:

   total += 10

elif transport == 3:

   total += 70

elif transport == 4:

   total += 90

if children == 2:

   total += 1000

elif children == 3:

   total += 2000

elif children == 4:

   total += 3000

print("Total: ", total)

The code starts by presenting the user with the first question: "How do you get to work?" The available options are displayed, ranging from 1 to 4. The user's input is stored in the variable `transport`.

Next, the code presents the second question: "Do you have children?" The available options, again ranging from 1 to 4, are displayed. The user's input is stored in the variable `children`.

To calculate the total, the code initializes a variable called `total` with a value of 0. Using if-elif statements, the code checks the values of `transport` and `children` and adds the corresponding values to the `total` variable.

Finally, the code displays the calculated total to the user using the `print()` function.

By following the format specified, the code snippet provided allows the user to input their choices, calculates the total based on those choices, and displays the total value accordingly.

To learn more about Python  Click Here: brainly.com/question/30391554

#SPJ11

Which of the following statements about parquet storage format is false?
a. Parquet storage format stores all values of the same column together.
b. Given a dataframe with 100 columns. It is faster to query a single column of the dataframe if the data is stored using the CSV storage format compared to parquet storage format.
c. Parquet storage format stores the schema with the data.
d. Given a dataframe with 100 columns. It is faster to query a single column of the dataframe if the data is stored using the parquet storage format compared to it being stored in a CSV storage format.

Answers

The statement that is false about the Parquet storage format is: b. Given a data frame with 100 columns. It is faster to query a single column of the data frame if the data is stored using the CSV storage format compared to the parquet storage format.

What is the Parquet storage format?

Parquet storage format is a columnar storage format, which is used to store data in an efficient way. Parquet storage format is capable of storing nested data structures, which is a collection of complex data types like arrays, maps, and structs. Parquet storage format is a good choice when dealing with large data sets because it provides good compression, making it easy to manage big data volumes. The parquet storage format is supported by many big data processing frameworks, like Apache Hadoop, Apache Spark, etc. Features of Parquet storage formatThe following are the features of the Parquet storage format:It is a columnar storage format, which allows better compression and encoding. It is designed to handle complex data structures, making it easy to store nested data types. It stores metadata about the data and its schema. This makes it easier to read data from the storage. It supports data partitioning, which is a way of dividing data into logical parts. This makes it easy to query data, based on specific criteria. Parquet storage format supports predicate pushdown, which is a technique that filters data at the storage level, making it faster to access data. This means that queries can be executed faster and with less processing overhead than traditional approaches.

What is CSV storage format?

CSV (Comma Separated Value) is a plain text format that is commonly used to store data. CSV format is simple, and it is easy to read and write. It is supported by many tools and programming languages. CSV format is not a good choice when dealing with large datasets because it does not support efficient compression and encoding. It is a row-based storage format, which means that each row is stored on a separate line. This makes it inefficient when querying data for specific columns. It is important to note that the CSV storage format does not store metadata about the data or its schema. This makes it difficult to read data from the storage, especially when dealing with complex data types like arrays, maps, and structs.

Learn more about CSV files:

brainly.com/question/30761893

#SPJ11

Consider the regular and context-free languages. Since both
categories can
represent infinite languages, in what sense is one category broader
(more
expressive) than the other?

Answers

Context-free languages are considered to be a broader category than regular languages in terms of the types of languages they can represent.

The main difference between regular and context-free languages is in the types of grammars that generate them. Regular languages are generated by regular grammars or finite automata, while context-free languages are generated by context-free grammars.

In terms of expressive power, context-free languages are generally considered to be more expressive than regular languages because they can represent a wider range of languages. This is because context-free grammars have more generative power than regular grammars. For example, context-free grammars can handle nesting, which means that they can generate languages that involve matching brackets or parentheses, such as balanced parentheses languages. In contrast, regular grammars cannot handle this kind of nesting.

Another way to think about this is that context-free grammars allow for the use of recursive rules, which enable the generation of infinitely many strings with complex nested structures.  On the other hand, regular grammars do not allow recursion and can only generate a limited set of patterns.

Therefore, context-free languages are considered to be a broader category than regular languages in terms of the types of languages they can represent.

Learn more about Context-free languages here:

https://brainly.com/question/29762238

#SPJ11

Other Questions
Which of these molecules is linear? o BeF2 O OCl2 O NO2 O SO Compared to the distance of the Earth to the Sun, how far away is the nearest star?A. The nearest star is 10 times further from the Sun than the Earth.B. The nearest star is 100 times further from the Sun than the Earth.C. The nearest star is 1000 times further from the Sun than the Earth.D. The nearest star is more than 100,000 times further from the Sun than the Earth Find the volume of each composite space figure to the nearest whole number. A FLOOD OF WATER CONSUMPTION CHOICES pouch for around $5.000. 45 They also might seek water that has been filtered or otherwise certified safe, which constitutes a growing concern, as we discuss in Chapter 5. And many people appreciate a variety of product options, like flavored or sparkling versions. 46 To produce this variety of products, offered at distinct price points with unique promotions and found in expected places, a wide range of companies compete and collaborate to slake people's thirst. Water brands like Aquafina (owned by PepsiCo), Dasani (owned by Coca-Cola), and Evian promise different benefits from drinking their products. They also are innovating with different packaging options, including metal cans for water. 47 One firm even is developing an algae-based, compostable pod that can hold a single serving of water and then be swallowed or discarded, where it will break down naturally as plant matter. 48 In parallel, Hydro Flask. Thermos, Nalgene. Yeti, and other brands that manufacture reusable bottles seek to get consumers to avoid those offerings and instead embrace the idea of water from a tap or fountain. They highlight the distinctive potential associated with carrying one of their bottles, and they strongly emphasize the inherent sustainability of their offering. compared with single-use plastics. Another competitive offering is linked to water refill stations that increasingly appear in public spaces, such as schools and hotels. At these stations, people with their bottles in hand can get a refill of filtered, cold water: those who forgot their favorite bottle can grab a simple, $3 refillable bottle to meet their immediate need. 49 So when you take a sip because you are thirsty, what precisely has driven you as a consumer to make the decision? Consider the case questions and the lessons you've learned in this first chapter to derive your answer. 1.Suppose you make a quarterly deposit to your saving account that earns 5% interest compounded quarterly.2.Find the effective annual interest rate. Enter your answer as a percentage rounded to the nearest hundredth3.Find the effective interest rate per quarter.4.APY will _______ when M increases.5.APR will _______ when M increases. In a cicuit if we were to change the resistor to oje with a larger value we would expect that:a) The area under the curve changesb) The capacitor dischargers fasterc) The capacitor takes longer to achieve Qmaxd) Vc voltage changes when capacitor charges 1. Rosa was one of the first artists known to have painted nature en plein air or ............. a) from imagination b) out of doors c) realistically d) overnight a)12. a) i) Draw the CMOS logic circuit for the Boolean expression Z=[A(B+C) + DEY urmand explain. ii) Explain the basic principle of transmission gate in CMOS design. (OR) E (8) (8) A piston-cylinder contains a 4.18 kg of ideal gas with a specific heat at constant volume of 1.4518 ki/kg.K at 52.5 C. The gas is heated to 149.5 C at which the gas expands and produces a boundary work of 93.6 kl. What is the change in the internal energy (u)? OB. 495.05 OC. 140.82 OD. 682.25 E. 588.65 Given the following system of linear equations Solve this system by using 1. Gauss elimination 2. LU decomposition 2x12x2 3x3 -4x13x2 + 4x3. 2x1 + x2 + 2x3 9 = -15 = 3 A prestressed beam of a certain condominium was designed to have a rectangular section 300mm x 600mm deep and has a simple span of 9m. At the midspan section, the tendons are placed at 200mm above the soffit which carries an initial prestressing force of 1,110KN which ultimately relaxes to 880 KN. If the allowable stress in concrete in compression is 13.5 MPa and in tension is 1.4MPa, determine the safe moment it could carry and the superimposed live load that it could also carry. Assume concrete will not crack in tension. A stone column ,0.75 m in radius, is installed in a clay soil with cs = 1.1 and cp = 0.8 kPa. If the ultimate load = 200 kN and a SF = 1.5 is used, what is the required column depth Lc. After learning about Kohlberg's Model of Moral Development and playing around with the Moral Machine, what are your thoughts on your own moral development? Where would you place yourself in Kohlberg's model and why? What kinds of things impacted the decisions you made on the Moral Machine? On 1/1, Al-Arabi granted loans and advances with the guarantee of commercial papers, and the value of 1,000,000 dinars, based on the rule of 3000 dinars, which is required to be approved for granting the loan on 1/1. A solar Hame system is designed as a string of 2 parallel sets wirl each 6 madules. (madule as intisdaced in a) in series. Defermine He designed pruer and Vallage of the solar home System considerivg dn inverter efficiency of 98% 3. You're trying to find the ged of two 21 (decimal) digit numbers on a computer which can do 1000 division-remainder operations every second. a) Can you show that if the number "on the left" of a line of the Euclidean algorithm is a, then the number on the left two lines down must be less than a/2 ? (b) If you halve any 21 digit number 70 times, the result will be less than 2 (this is because log (10^1) < 70). What can you say about how long your computer will take to run the Euclidean algorithm on your numbers? (c) You consider finding prime factorisations of your two numbers instead. About how long would it take your computer to try dividing a 21 digit number n by every number up to n? Briefly defines geopolymer concrete and indicate how theydifferent than normal concrete A power system is operating on economic load dispatch. If raising the output of Plant 2 by 100 kw, keeping all other outputs constant, results in a system real I'R power loss of 15kw, determine the Plant 2 penalty factor. 1.Write a Java Program to check the size using the switch...case statement ? Small, Medium, Large, Extra Large, Unknown . NUMBER: 27, 32, 40 54 Output your size is (size) F 4. Write a Java Program to check the mobile type of the user? iPhone, Samsung, Motorola. Flounder Corporation was organized on January 1,2022 . It is authorized to issue 14,000 shares of 8%,$100 par value preferred stock, and 505,000 shares of no-par common stock with a stated value of $3 per share. The following stock transactions were completed during the first year. Jan. 10 Issued 77.000 shares of common stock for cash at $6 per share. Mar. 1 Issued 5,800 shares of preferred stock for cash at $105 per share. Apr. 1 Issued 25,000 shares of common stock for land. The asking price of the land was $88,000. The fair value of the land was $81,000. May 1 Issued 76,000 shares of common stock for cash at $4.25 per share. Aug. 1. Issued 10.500 shares of common stock to attorneys in payment of their bill of $36,000 for services performed in helping the company organize. Sept. 1 Issued 12,000 shares of common stock for cash at $5 per share. Nov. 1 Issued 3.000 shares of preferred stock for cash at $112 per share. Post to the stockholders' equity accounts. (Post entries in the order of journal entries presented in the Paid-in Capital in Excess of Stated Value-Common Stock