We see that an operating system can be viewed as an "overall framework," as it were, for a piece of computing equipment to understand everything about itself. Without an operating system, a computer is just a collection of physical electronic components, disconnected from its surroundings and unable to operate at all.
In: Computer Science
Inside the skeletal file you'll find a complete main function,
as well as the function headers for
the DispMatrix and InitMatrix functions. A 15x5 array of ints is
allocated in the main function,
without being initialized. Just to highlight the fact that the
array will contain undefined values, a
call is made to the DispMatrix function, which will display the 2D
array's contents (you should
just see a bunch of garbage values). The DispMatrix will receive as
arguments the base address
of the 2D array, the number of rows, and also arguments for the
height and width for displaying
the integer values. This function call will use the defined
constants DEFAULT_HEIGHT and
DEFAULT_WIDTH for those arguments, but that's just for the first
display of the 2D array, after
that the user at the keyboard will be able to provide their own
values.
Next, the InitMatrix function is called. This function will receive
the base address of the twodimensional array, in addition to the
number of rows in the array. Naturally, since the function
receives the base address of the caller's array, it knows where the
caller's argument is living in
memory, so it can go to that location and assign values to the
individual array elements for the
caller. What InitMatrix does is assign sequentially increasing
values to the matrix parameter,
beginning with the value zero. After this function returns back to
main, then the DispMatrix
function is called again, which writes the rows and columns of the
two-dimensional array to
stdout. However, before doing so, the main function prompts the
user to enter the horizontal
and vertical spacing for the matrix. These values are sent as
arguments to DispMatrix, which
then uses them to format the output.
Of course, a picture is worth a thousand words, but a sample
program run doesn't hurt either!
So to get a live, concrete feeling of how the program should behave
at runtime, be sure to run
the sample executable included in the starter kit, at least several
times, if not more. The better
you know what your target is, the more likely you are to write the
code to hit that target.
You can see some sample runs of the program at the top of the
source code file. Also, there's
helpful information in the function headers that will explain even
further what the parameters
mean, and thus what the caller is passing to each function.
Remember, in order to process two-dimensional arrays, you're going
to need to use nested loops.
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
// defined constants
const int DEFAULT_HEIGHT = 2;
const int DEFAULT_WIDTH = 15;
const int ROWS = 15;
const int COLS = 5;
// function prototypes
???
???
// ==== main
==================================================================
//
//
============================================================================
int main()
{
int myInts[ROWS][COLS];
int userHeight;
int userWidth;
// first display the undefined values in the 2D array
cout << "Here is the matrix with undefined values..."
<< endl;
DispMatrix(myInts, ROWS, DEFAULT_HEIGHT, DEFAULT_WIDTH);
// intialize the 2D array
InitMatrix(myInts, ROWS);
// get the field width from the user (test for failed
extraction...)
cout << "What field width do you want to use? ";
if (!(cin >> userWidth))
{
cerr << "Error reading width..." << endl;
exit(EXIT_FAILURE);
}
// get the row height from the user (test for failed
extraction...)
cout << "What row height do you want to use? ";
if (!(cin >> userHeight))
{
cerr << "Error reading height..." << endl;
exit(EXIT_FAILURE);
}
// display the 2D array
DispMatrix(myInts, ROWS, userHeight, userWidth);
return 0;
} // end of "main"
// ==== DispMatrix
============================================================
//
// This function writes the two-dimensional array parameter to
stdout in row /
// column format. It uses the height and width parameters to
provide row and
// column spacing, respectively.
//
// Input:
// matrix [IN] -- the base address of a two-dimensional array of
integers
// with COLS columns
//
// numRows [IN] -- the number of rows in the matrix parameter
//
// height [IN] -- the number of rows each one-dimensional array
should
// occupy
//
// height [IN] -- the number of rows each one-dimensional array in
the
// 'matrix' parameter should occupy
//
// width [IN] -- the field width for each integer displayed
//
// Output:
// Nothing
//
//
============================================================================
void DispMatrix( ??? )
{
???
} // end of "DispMatrix"
// ==== InitMatrix
============================================================
//
// This function initializes the two-dimensional array parameter
with
// sequentially increasing integer values, beginning with
zero.
//
// Input:
// matrix [OUT] -- the base address of a two-dimensional array of
integers
//
// numRows [IN] -- the number of rows in the matrix parameter
//
// Output:
// Nothing
//
//
//
============================================================================
void DispMatrix( ??? )
{
???
} // end of "DispMatrix"
// ==== InitMatrix
============================================================
//
// This function initializes the two-dimensional array parameter
with
// sequentially increasing integer values, beginning with
zero.
//
// Input:
// matrix [OUT] -- the base address of a two-dimensional array of
integers
//
// numRows [IN] -- the number of rows in the matrix parameter
//
// Output:
// Nothing
//
//
============================================================================
void InitMatrix( ??? )
{
???
} // end of "InitMatrix"
In: Computer Science
Write a class FinancialAidApplicant which describes an applicant for financial aid and will be used by a financial aid officer.
Qualification is based on annual household income and the number of people in the household. If the household income is less than $20,000, the applicant automatically qualifies regardless of how few people are in the household. If the household income is at least $20,000 but at most $60,000 and there are 4 or more people in the household, the applicant qualifies. If the household income is more than $60,000 but at most $150,000 and there are 6 or more people in the household, the applicant qualifies. For all other cases, the applicant does not qualify.
A tester program is provided to you in Codecheck, but there is no starter code for class FinancialAidApplicant.
You should declare static constants for the numbers mentioned above.
The class has a constructor that takes a String, a double, and an int as parameters
public FinancialAidApplicant(String name, double income, int numberOfPeople)
It also has four methods:
• public String getName() Gets the applicant's name.
• public void setNumberOfPeopleInHousehold(int people) Sets number of people in the household
• public void setHouseholdIncome(double income) Sets a new household income
• public boolean qualifies() Returns true if the applicant qualifies and false
Method qualifies should have one if-else if-else statement instead of multiple if statements.
Code check:
public class FinancialAidApplicantTester { public static void main(String[] args) { FinancialAidApplicant applicant = new FinancialAidApplicant("Joe Programmer",19999, 1); System.out.printf("The name of the applicant: %s.%n", applicant.getName()); System.out.println("Expected: The name of the applicant: Joe Programmer."); System.out.println(applicant.qualifies()); System.out.println("Expected: true"); applicant.setHouseholdIncome(20000); applicant.setNumberOfPeopleInHousehold(3); System.out.println(applicant.qualifies()); System.out.println("Expected: false"); applicant.setNumberOfPeopleInHousehold(4); System.out.println(applicant.qualifies()); System.out.println("Expected: true"); applicant.setHouseholdIncome(60000); applicant.setNumberOfPeopleInHousehold(4); System.out.println(applicant.qualifies()); System.out.println("Expected: true"); applicant.setNumberOfPeopleInHousehold(3); System.out.println(applicant.qualifies()); System.out.println("Expected: false"); applicant.setHouseholdIncome(60001); applicant.setNumberOfPeopleInHousehold(6); System.out.println(applicant.qualifies()); System.out.println("Expected: true"); applicant.setNumberOfPeopleInHousehold(5); System.out.println(applicant.qualifies()); System.out.println("Expected: false"); applicant.setHouseholdIncome(150000); applicant.setNumberOfPeopleInHousehold(6); System.out.println(applicant.qualifies()); System.out.println("Expected: true"); applicant = new FinancialAidApplicant("Mary Rowe",150001, 10); System.out.printf("The name of the applicant: %s.%n", applicant.getName()); System.out.println("Expected: The name of the applicant: Mary Rowe."); System.out.println(applicant.qualifies()); System.out.println("Expected: false"); } }
In: Computer Science
Deceitful emails are illusory measures that are taken up by attackers for personal gain in order to lure in innocent people. They are used to scam and defraud people. The emails usually involve offers that are too good to be true, and they are targeted towards naïve individuals. If you as a Cybersecurity expert are facing a phishing email scenario in your organisation Trident, how will you educate employees within your organisation. Illustrate and justify the use of machine learning to catch email fraud and spam to top management besides ensuring digital literacy in your organisation. Cite your sources.
In: Computer Science
The fundamentals of firewall and its basics can be described by the following, except one? Justify your choice?
In: Computer Science
4.2.1 Dynamic linking in practice Here you must write a program that in the simplest way demonstrates the principle by having the instruction sequence of two different functions' only accessible through two different, dynamically linked, libraries (which you have built yourself). The program has the following specification: -All prints are made to the command prompt window. -Each printout step is followed by a line feed and carriage return. -At program start "Program start" is written -The program then calls a function located in one of the two dynamically linked libraries. This function prints "I.dll number one." -The program then calls a function located in the other dynamically linked library. This function prints out "I.dll number two." - The program exits.
This exercise has nothing to do with linked lists, its only about dynamic linking of libraries.
The code should be in C programming language and every step should be well commented for good understanding!
In: Computer Science
Write a 2 -3 page paper on how one can use hash values
to log into a system, crack a network, etc.
Be sure to explain how hash values are used and misused in a
system.
In: Computer Science
The columns of the input file correspond to the point coordinates, for example, the first column provides the coordinates of the first point and the column length indicates whether it is 2D vs. 3D. First, compute the area of the triangle (the first line of your output file). Second, using the first two points, construct a line if 2D or a plane if 3D (the bisector of the two points) and find the distance of the third point to that line or plane (the second line of your output file). The output should have two numbers in separate lines. The output should contain numbers with up to four significant digits.
The input for Part C can be a 2x3 matrix or alternatively a 3x3 matrix. Your program should be able to process both input file formats.
Input format (3x3 matrix):
n11 n12 n13
n21 n22 n23
n31 n32 n33
In python please
In: Computer Science
Discuss the concept of IT Service Management. Identify potential benefits that organisations get by adopting ITIL based IT Service Management (ITSM). List at least FIVE benefits
In: Computer Science
Design a complete system to allow manipulation of Students (via a designed and developed Student class). in JAVA
It Includes:
1) A Student Class which stores info about the student: name and a generated ID#.
2) User interface (via Scanner) that prompts user for the following:
a) New Student -- user enters the name of the student, the system (your student class will generate the ID#)
b) View Student via Name - the user enters name (not case sens., and partial search works..) outputs full name of student and ID# of student
c) Delete Student - the user enters name (not case sens.) and system deletes this Student from System.
d)View All - displays all students in System and associated ID#s
e) quit -- quits the system
In: Computer Science
For this lab, you will write a C++ program that will calculate
the matrix inverse of a matrix no bigger than 10x10. I will
guarantee that the matrix will be invertible and that you will not
have a divide by 0 problem.
For this program, you are required to use the modified Gaussian
elimination algorithm. Your program should ask for the size (number
of rows only) of a matrix. It will then read the matrix, calculate
the inverse, and print the inverse, and quit. I do not care if you
use two separate matrices one for the original and one for the
inverse or if you combine the two. Note: the matrix should be a
float, and you will need to use the cmath round function to get the
output below.
Sample Run:
./a.out input row size 3 input the matrix to invert -1 2 -3 2 1 0 4 -2 5 the inverse is: -5 4 -3 10 -7 6 8 -6 5
Please, i have had two people answer this question but the output gives me Garbage. Please help solve this problem using C++.
In: Computer Science
A BOTNET is a collection or a network of infectious ‘bots’ i.e. machines. Botnets have become a platform for the infection to the Internet. In this context, elucidate in detail about the Botnet life cycle Diagram and identify the role played by command and control server in the Botnet life cycle. Do any techniques exist to detect Botnets? If yes, exemplify. Cite your sources.
In: Computer Science
In April 2019, Paul Marrapese, an independent security researcher from San Jose, California, has published research warning that peer-to-peer software developed by Shenzhen Yunni Technology firm, that's used in millions of IoT devices around the world, has a vulnerability that could allow an attacker to eavesdrop on conversations or press household items into service as nodes in a botnet.
The software, called iLnkP2P, is designed to enable a user to connect to IoT devices from anywhere by using a smartphone app. The iLnkP2P functionality is built into a range of products from companies that include HiChip, TENVIS, SV3C, VStarcam, Wanscam, NEO Coolcam, Sricam, Eye Sight, and HVCAM.
What Marrapese found is that as many as 2 million devices, and possibly more, using iLnkP2P software for P2P communication do not have authentication or encryption controls built-in, meaning that an attacker could directly connect to a device and bypass the firewall. Marrapese discovered the iLinkP2P flaw after buying an inexpensive IoTconnected camera on Amazon.
"I found that I was able to connect to it externally without any sort of port forwarding, which both intrigued and concerned me," Marrapese told Information Security Media Group. "I found that the camera used P2P to achieve this, and started digging into how it worked. From there, I quickly learned how ubiquitous and dangerous it was."
While the flaws with the iLnkP2P peer-to-peer software apparently have not yet been exploited in the wild, Marrapses believes it's better for consumers to know now before an attacker decides to start taking advantage of this particular vulnerability.
"There have been plenty of stories in the past about IP cameras and baby monitors being hacked, but I believe iLnkP2P is a brand new vector not currently being exploited in the wild," Marrapese says. "With that being said, the biggest motivation behind this disclosure is to inform consumers before it's too late - because I believe it's only a matter of time." As part of his research, Marrapese says he attempted to contact not only Shenzhen Yunni Technology but also several of the IoT manufacturers that use the company's P2P software. As of Monday, even after publishing results, he had not heard back from anyone.
Users of IoT devices that make use of the iLnkP2P software scan a barcode or copy a sixdigit number that is included in the product. From there, the owner can access the device from a smartphone app.
It's through these unique identifier numbers that Marrapese was able to discover that each device manufacturer used a specific alphabetic prefix to identify their particular product. For instance, HiChip uses "FFFF" as a prefix for the identification number for its devices. Once Marrapese was able to identify these devices through the unique number systems, he created several proof-of-concept attacks that took advantage of the flaws in the software.
a) In this case study, it is mentioned that vulnerable IoT devices can service as nodes in a botnet. Explain the working mechanism of a Botnet. Discuss any two attacks carried out by a botnet.
b) Report the importance of security in IoT devices. How does encryption help improve security for these devices?
c) Discuss the importance of lightweight cryptography in IoT enabled low-power devices. List the potential lightweight cryptographic algorithms for low-power IoT devices.
In: Computer Science
While scraping user data from social media sites is not illegal, failing to secure this data after it has been collected poses a serious risk to the affected users as cybercriminals could use the information from the database to target them online. What are your recommendations to the online risk policy makers as you think it is a breach of PII (Personal Identifiable Information). Justify your answer. Explain the need for cybersecurity experts in such a case scenario.
Hackerssuccessfully infiltrated systems operated by the City of Baltimore this past May. The attackers encrypted data files and demanded a ransom in exchange for the decryption keys. Mayor Bernard C. “Jack” Young refused to pay and IT leaders were instructed to rebuild the municipality’s computer systems. City of Baltimore officials placed a price tag of $18 million on the estimated cost of the ransomware attack. In August, city leaders voted to divert $6 million of parks and recreation funding to IT “cyber-attack remediation and hardening of the environment,” according to the city’s spending panel known as the Board of Estimates. Now, Baltimore’s auditor told city officials that IT performance data was lost during the attacks, according to reports in the Baltimore Sun. Without backups of the locally stored data, the auditor is unable to verify some claims made by the IT department. This is the first notification made by City of Baltimore than data loss occurred from the attack.
In: Computer Science
Plan your penetration testing processes for IMC and describe them in detail.
In: Computer Science