Answer: b. actuator
Explanation:
We know that a RW head ( or also known as read/write head) is a component of device which is usually appeared on the hard drive which is used to read and write data by the hard drive's disk . When data required to be read or write, the read/write arm is regulated by actuator.
[An actuator is a part of a device that is mainly responsible for moving and controlling a mechanism or system.]
Hence, All the read/write heads a hard disk are controlled by an actuator .
What is the output frequency for a counter circuit that contains 12 flip-flops with an input clock frequency of 20.48 MHz?
Answer:
5KHz
Explanation:
The formula for calculating the output frequency when the input frequency and the number of flip-flops are given.
[tex]out put Frequency = \frac{in put frequency}{2^{N}}[/tex]
here, N is the number of filp-flops.
Note: The input frequency must be in Hz.
first convert given input frequency (MHz) into HZ.
[tex]in put frequency = 20.48 *10^{6}Hz[/tex]
apply the formula:
[tex]out put Frequency = \frac{20.48*10^{6}}{2^{12}}[/tex]
which comes out to be 5000Hz or 5KHz.
The main benefit of shielded twisted pair cabling over unshielded twisted pair is that STP is much more durable.
a) True b) False
Answer: True
Explanation:
In shielded twisted pair (STP) we have two wires which are twisted together and they have a shielding layer outside them which helps them to avoid interference from outside noise. STP thus having the advantage with an additional layer of shield covering the two wires together makes them more durable compared to unshielded twisted pair.
Draw directed graphs representing relations of the following types.
(a) Reflexive, transitive, and antisymmetric.
(b) Reflexive, transitive, and neither symmetric nor antisymmetric.
Answer:
The first graph in the picture describes a relation that is (a) Reflexive, transitive, and anti-symmetric.
Because a, b, c, d all are related to itself, so reflexive.
where (a, b) and (b, d) are in the relation, (a,d) is in the relation,
for (c,a) and (a,b) there is (c,b).
so it's transitive.
for all a,b in the relation, (a,b) there is no (b,a) with a ≠b.
The second graph in the picture describes a relation that is (b) Reflexive, transitive, and neither symmetric nor anti-symmetric.
Because a, b, c, d all are related to itself, so reflexive.
where (a, b) and (b, a) are in the relation, (a,a) is in the relation,
where (c, d) and (d, d) are in the relation, (c,d) is in the relation,
so it's transitive.
Because, (a,b) and (b.a) are there, but for (c,d) there is no (d,c) in relation.
So, the relation is not symmetric.
(a,b) and (b,a) is in relation but, a≠b, so not anti symmetric.
Explanation:
For all a in a set, if (a,a) in a relation then the relation is reflexive.
For all (a,b) in relation R, if (b,a) is also in R, then R is symmetric.
For all (a,b), (b,c) in relation R, if (a,c) is also in R, then R is transitive.
For all (a,b), (b,a) in R, a = b, then R is an anti- symmetric relation.
Do you think that people accept poor quality in information technology projects and products in exchange for faster innovation? What other reasons might there be for such poor quality?
Answer:
Explanation:
Great question, it is always good to ask away and get rid of any doubts that you may be having.
This depends on the company, but some companies will accept poor quality as long as the product works and provides them faster innovation. This will happen especially if a company knows or has an idea that a competitor is working on a similar product.
Another big reason why a company might accept poor quality in order to release a product is money. Sometimes a company does not have the budget to continue the project, therefore they release it usually in Early Access. This allows them to start making some money on the project while they continue to work on it.
I hope this answered your question. If you have any more questions feel free to ask away at Brainly.
In this exercise, we are analyzing the context in which we have the quality of technological products linked to monetary value, as follows:
We know that some companies are focused on having a worse quality as long as they make a quick profit, as the consumer is not a priority.
Who seeks price does not find quality?When it comes to Price or Quality, many entrepreneurs most of the time have a false perception that the cheaper a product they tend to offer to the consumer, the greater the chances of success.
We must take into account that the option of a lower quality is often linked to the budget that a company may have.
See more about technology at brainly.com/question/9171028
You observe that classmates who get good grades tend to sit toward the front of the classroom, while those who receive poor grades tend to sit toward the back. What are three possible cause-and-effect relationships for this nonexperimental observation?
1.Students at front rows will have to sit attentive and have to concentrate on the lecture being delivered,thus their knowledge about the lecture is way better than the students at back rows.
2. Front row students are more in line with the teacher and they have much better concepts regarding the lecture delivered and they have more score in exams.
3. Generally the more interested a student is about the lectures being delivered,the more front he/she is in classroom and thus this results in more grades.
Three possible cause-and-effect relationships explaining why students with good grades sit at the front include higher motivation, increased teacher attention, and the third-factor explanation such as self-confidence or socioeconomic status, which could indicate a spurious relationship.
Explanation:You observe that classmates who get good grades tend to sit toward the front of the classroom, while those who receive poor grades tend to sit toward the back. Three possible cause-and-effect relationships for this nonexperimental observation could include:
Students with higher motivation levels might choose to sit at the front to minimize distractions and engage more directly with the lesson, leading to better performance.Teachers may pay more attention to students at the front, which might result in better understanding and higher grades for these students due to increased interaction.There could be a spurious relationship where both seat choice and academic performance are influenced by a third factor, such as self-confidence or socioeconomic status, as shown in Rist's study which linked social class with proximity to the teacher.It is difficult to determine without further investigation whether the observed correlation indicates a causal relationship or a spurious relationship. Investigating the root causes of this observation would require a more rigorous research design with clear independent and dependent variables, as well as controls to account for potential confounding factors.
Which of the following method signatures correctly specifies an array as a return type?
a) private array testMethod ( int x )
b) private int[ ] testMethod ( int x )
c) private double[5] testMethod ( int x )
d) private double testMethod[ ] ( int x )
e) can't tell from this code
Answer:
private int[ ] testMethod ( int x )
Explanation:
Before going to the reason first understand the syntax of declare the function.
Syntax:
Access_modifier return_type name (argument_1, argument_2,...);
Access_modifier is used for making the restriction to access the values.
it is public, private and protected.
Return_type: it is used to define return type of the function.
it can be int, float, double.
In the question:
Option 1: private array testMethod ( int x )
it is not valid because array is not valid return type.
Option 2: private int[ ] testMethod ( int x )
int[ ] denotes the integer array. so, the function return the integer array.
Option 3: private double[5] testMethod ( int x )
it is not valid because double[5] is not valid return type. we cannot enter the size of the array.
if we replace double[5] to double[ ], then it valid and the function return double type array.
Option 4: private double testMethod[ ] ( int x )
it return type is double. So, it return the decimal value but not array.
Therefore, the correct option is (b).
How do you write a computer program to convert a decimal number into binary, octal, and hexadecimal?
Answer:
#include <iostream>
using namespace std;
void hexadecimal(int dec)
{
char hexa[100];// character array to store hexadecimal number.
int i = 0;
while(dec!=0)
{
int digit = 0;
digit = dec % 16;// storing remainder.
if(digit < 10)//condition
{
hexa[i] = digit + 48;//storing digit according to ascii values.
i++;
}
else
{
hexa[i] = digit + 55; //storing respective character according to ascii values..
i++;
}
dec = dec/16;
}
cout<<"The corresponding Hexadecimal number is :- ";
for(int j=i-1; j>=0; j--)// printing in reverse order .
cout << hexa[j];
cout<<endl;
}
void Binary(int dec)
{
int bin[32];// integer array to store binary values.
int i = 0;
while (dec > 0) {
bin[i] = dec % 2;// storing remainder
dec = dec / 2;
i++;
}
cout<<"The corresponding Binary number is :- ";
for (int j = i - 1; j >= 0; j--) // printing in reverse order
cout << bin[j];
cout<<endl;
}
void Octal(int dec)
{
int oct[100];// integer array to store octal values.
int i = 0;
while (dec != 0) {
oct[i] = dec % 8;// storing remainder
dec = dec / 8;
i++;
}
cout<<"The corresponding Octal number is :- ";
for (int j = i - 1; j >= 0; j--) // printing in reverse order
cout << oct[j];
cout<<endl;
}
int main() {
int d,bin,oct,hex;
cout<<"Enter decimal number"<<endl;
cin>>d;//taking input.
Binary(d);
Octal(d);
hexadecimal(d);
return 0;
}
OUTPUT:-
Enter decimal number
10
The corresponding Binary number is :- 1010
The corresponding Octal number is :- 12
The corresponding Hexadecimal number is :- A
Enter decimal number
256
The corresponding Binary number is :- 100000000
The corresponding Octal number is :- 400
The corresponding Hexadecimal number is :- 100
Explanation:
I have built 3 function of type void Hexadecimal,Binary,Octal all the functions take decimal integer as argument.They print their respective number after conversion.
So main approach is that :-
1.Take an array to store the digit on dividing.
2.Find the remainder on dividing it by corresponding number (for ex:- if binary divide by 2).
3.Store each remainder in the array.
4.Divide the number until it becomes 0.
5.Print the array in reverse.
difference between global and local variables
Answer:
Global variables:
1. It is declare outside of all functions.
2. Cannot be declare the two global variable with same name.
3. It can be used in any where in the program, the is no problem with scope.
Local variables:
1. It is declare inside the functions.
2. Can be declare the two or more local variable with same name in the different functions.
3. It is available until that functions are executed.
Explanation:
Global variables are declare outside of all function,, we can access that variable anywhere in the program
for example:
int num = 10;
int main(){
statement;
fun(){
statement;
}
}
The variable is outside of all functions. So, it is a global variable.
It is not declare in the function or block, this is reason it has no problem with availability. it is available until the program is executed.
Other side, local variable is declare in the function.
for example:
int main(){
int num = 10;
statement;
fun(){
int num = 10;
statement;
}
}
Here, the variable num is local variable and it can be more than one time with same name but in the different function.
it is available untill that function executed.
What is output when the CarTest application is run? Why?
public class Car {
private String color;
private int numWheels;
public Car(String color, int numWheels) {
this.color = color;
this.numWheels = numWheels;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getNumWheels() {
return numWheels;
}
public void setNumWheels(int numWheels) {
this.numWheels = numWheels;
}
}
public class CarTest {
public static void main(String[] argvs) {
CarTest carTest = new CarTest();
carTest.runDemo();
}
public void runDemo() {
Car c = new Car("blue", 4);
changeColor(c, "red");
System.out.println(c.getColor());
}
public void changeColor(Car car, String newColor) {
car.setColor(newColor);
}
}
What is output when the CarTest application is run? Why?
Answer:
red
Explanation:
public class CarTest {
public static void main(String[] argvs) {
//below line will create an object of CarTest class Object
CarTest carTest = new CarTest();
//This will call runDemo method
carTest.runDemo();
}
public void runDemo() {
//Below line will create an object of Car class with color blue and 4 wheel
Car c = new Car("blue", 4);
//Bellow Line will change the color from blue to red, see the logic writteen in chnageColor method definition
changeColor(c, "red");
//Below line will print the color as red
System.out.println(c.getColor());
}
public void changeColor(Car car, String newColor) {
//This line will set the color as passed color in the car object
car.setColor(newColor);
}
}
In the following method call, which argument is an array?
myObject.some_method(x, y, 3);
a) x is an array
b) y is an array
c) both x and y are arrays
d) neither x nor y is an array
e) can't say without seeing more code
Answer:
can't say without seeing more code
Explanation:
In the function calling, we pass the name of array, variable and direct value as well.
for example:
int y=3;
int x[] = {1,2,3,4};
fun(y,x);
so, we can't tell which is variable and which is array, without seeing the rest of code.
we can tell by seeing the initializing variable and function declaration or create function.
What is variable hoisting in JavaScript? Provide examples.
Answer:
before executing a code using javascript hoisting we can move any variable declaration to the top of the scope in a code.
Explanation:
It is to be remembered that hoisting works with declaration not with initialization.
example:
//initializing a variable s
var s = 2;
t = 4
elem.innerHTML = s + " " + t; // Display s and t values
// initializing a variable for hoisting
var t;
h(n)=h(n)+h(n-2)
h(2)=h(1)=h(0)=1, n>=2
Write a C++ function int h(int n)
Answer:
#include<iostream>
using namespace std;
int h(int i)
{
if(i==0 ||i==1||i==2)
return 1;
else
return(h(i-1)+h(i-2));
}
int main()
{
int n, result;
cout<<"Enter value for n:";
cin>>n;
result = h(n);
cout<<result;
}
Explanation:
The recurrence relation will be h(n)= h(n-1)+h(n-2), unless the recursion will not finish.
Imagine you want to clean up your database and decide to delete all records from the Review table that have an Id of 100 or less. What does your SQL statement look like?
Answer: The query to delete rows for the given scenario is
DELETE
FROM Review
WHERE Id < 100 OR Id = 100;
Explanation:
In SQL, the table can be removed using either DROP, TRUNCATE or DELETE commands.
DROP command is used to delete the whole structure of the table. The general syntax is given below.
DROP TABLE table_name;
After this command, the whole structure of the specified table will be deleted. This table will have to be created again in order to use it and put data in this table.
SELECT *
FROM table_name;
This command when executed after the DROP command, will show an error.
This command can be used to drop database objects like constraints, index and the others.
The TRUNCATE command removes all the rows from a table. The structure of the table remains intact and data can be put again in this table.
This command only removes the data currently present in the table.
The general syntax is given below.
TRUNCATE TABLE table_name;
The command below will compile but it will not return any rows.
SELECT *
FROM table_name;
Alternatively, DELETE keyword is used to drop only the rows from a given table.
The general syntax for deleting rows from a table is given below.
DELETE
FROM table_name
WHERE [condition];
The WHERE clause is optional in a DELETE query.
SELECT *
FROM table_name;
The above command will compile and return rows if rows are present in the table other than the deleted rows.
The table used in the given query is Review table. We assume that Id is the primary key for the Review table. The query becomes
DELETE
FROM Review;
The condition for this deletion is that Id should be less than or equal to 100. The final query is written as
DELETE
FROM Review
WHERE Id < 100 OR Id = 100;
____ refers to the order in which values are used with operators.
a.
Floating
b.
Associativity
c.
Declaration
d.
Initialization
Answer:
b. Associativity
Explanation:
Associativity specifies the order in which operators are processed vis a vis operands/values in an expression. For example: Consider the expression: a + b + c. Here a + b is evaluated first before adding the result with c as the '+' operator is left associative. The default associativity can also be overridden by the use of parentheses. For example a + (b + c) . In this case b+c will be evaluated first.
What field would you use to store a value from another table?
A. Lookup
B. Hyperlink
C. Memo
D. AutoNumber
Answer:
A. Lookup
Explanation:
You would use the Lookup field to store a value from another table.
using Matlab programming I need to rotate the line defined by x,y by 45 degrees around 2,2
x= 2,4,6,8,10
y= 2,4,6,8,10
Answer:
% here x and y is given which we can take as
x = 2:2:10;
y = 2:2:10;
% creating a matrix of the points
point_matrix = [x;y];
% center point of rotation which is 2,2 here
x_center_pt = x(2);
y_center_pt = y(2);
% creating a matrix of the center point
center_matrix = repmat([x_center_pt; y_center_pt], 1, length(x));
% rotation matrix with rotation degree which is 45 degree
rot_degree = pi/4;
Rotate_matrix = [cos(rot_degree) -sin(rot_degree); sin(rot_degree) cos(rot_degree)];
% shifting points for the center of rotation to be at the origin
new_matrix = point_matrix - center_matrix;
% appling rotation
new_matrix1 = Rotate_matrix*new_matrix;
Explanation:
We start the program by taking vector of the point given to us and create a matrix by adding a scaler to each units with repmat at te center point which is (2,2). Then we find the rotation matrix by taking the roatational degree which is 45 given to us. After that we shift the points to the origin and then apply rotation ans store it in a new matrix called new_matrix1.
_____ means retrieve the element at the top of a stackwithout removing it.
a. Peek
b. Top
c. Push
d. Pop
e. none of the above
Answer:
A - Peek
Explanation:
The peek method retrieves the element at the top of a stack without deleting/removing it, the only exception that can occur is when the stack used is empty. It would look as follows when you use the method >> STACK.peek().
Which of the following is categorized as an indirect payment
portion of employee compensation?
a. Wages
b. Salaries
c. Employer-paid insurance
d. Commissions
Answer: C. Employer-paid insurance
Explanation: Employees can receive benefits i.e. financial payments in two ways, direct and indirect payments. Direct financial payments are all those paid directly by the employer to the employee, which means the employee can use those payments immediately after payment, such as wages, salaries, various bonuses, commissions, etc. Indirect benefits are all those paid by the employer to an employee from which the employee will benefit during or after a fixed period of time. These are, for example, life, health, so all kinds of insurance, paid holidays, pension funds, etc.
Indirect recursion requires the same careful analysis as direct recursion.
True
False
Answer: True
Explanation: Direct recursion is the process when a function call for itself and indirect recursion is the recursion process where a function calls another function and the result driven is the actual function . The aim of both the recursion process to provide with appropriate result by calling function so this declares that both the process indirect and direct recursion requite same careful analysis .
An expression tag contains a scripting language expression thatis evaluated.TrueFalse
Answer: True
Explanation:
Yes, an expression tag contains a scripting language expression that is evaluated. As, expression tag is used to display the output of the data in the generated page. If data is placed in expression tag then, it prints on the output stream and then it automatically convert data into the string and the output are displayed.
Write a program that sorts an array of 10 integers using bubble sort. In the bubble sort algorithm, smaller values gradually “bubble” their way upward to the top of the array like air bubbles rising in water, while the larger values sink to the bottom. The bubble sort makes several passes through the array (of 10 items). On each pass, successive pairs of elements are compared. If a pair is in increasing order (or the values are identical), we leave the values as they are. If a pair is in decreasing order, their values are swapped in the array. The comparisons on each pass proceed as follows—the 0th element value is compared to the 1st, the 1st is compared to the 2nd, the 2nd is compared to the third, ..., the second-to-last element is compared to the last element.
Answer:
#include<iostream>
using namespace std;
int main(){
//initialization
int arr1[10] = {2,4,6,1,7,9,0,3,5,8};
int temp;
int size_arr;
//nested for loop
for(int i=0;i<size_arr-1;i++){
for(int j=0;j<size_arr-i-1;j++){
if(arr1[j]>arr1[j+1]){ //compare
//swapping
temp = arr1[j];
arr1[j]=arr1[j+1];
arr1[j+1]=temp;
}
}
}
//display the each element
for(int i=0;i<10;i++){
cout<<arr1[i]<<" ";
}
return 0;
}
Explanation:
Create the main function and declare the variable and defining the array with 10 values.
take the nested for loop, nested loop means loop inside another loop.
the outer loop traverse in the array from 0 to size-1.
and inside loop traverse from 0 to size -i-1, because for every cycle of the outer loop the one element is sorted at the end. so, we do not consider the element from the last for every cycle of the outer loop. That's why (size-i-1)
In the bubble sort, the first element compares with the second element and if the first id greater than the second then swap the value. so, for the above algorithm, we take the if statement and it checks the condition if the condition becomes true then the swap algorithm executes.
we take a third variable for swapping. after that, if the outer loop condition false it means all elements will traverse and then the loop will terminate.
and finally, take another for loop and display the output.
Final answer:
The answer provides a Python program example that uses the bubble sort algorithm to sort an array of 10 integers. The program defines a function, bubble_sort, which sorts the array in ascending order and then prints the sorted array.
Explanation:
To sort an array of 10 integers using the bubble sort algorithm, you can use the following program as a reference. Bubble sort compares adjacent elements and swaps them if they are in the wrong order. Here's a basic example in Python:
def bubble_sort(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
# Example array:
numbers = [64, 34, 25, 12, 22, 11, 90, 88, 66, 23]
sorted_numbers = bubble_sort(numbers)
print("Sorted array is:", sorted_numbers)
This program will sort the given array of integers in ascending order. The function bubble_sort takes an array as input, performs the bubble sort algorithm, and returns the sorted array.
When an expression containing a ____ is part of an if statement, the assignment is illegal.
a.
greater than sign
b.
double equal sign
c.
single equal sign
d.
Boolean value
Answer:
single equal sign
Explanation:
The if statement is used for check the condition.
syntax:
if(condition)
{
statement;
}
let discuss the option one by one for find the answer:
Option a: greater than sign
this assignment operator '>' is valid. it is used to create the condition like n>0, p>4.
Option b: double equal sign
this assignment operator '==' is valid. it is used to check the equal condition.
like 2 == 2.
Option c: single equal sign
this assignment operator '=' is not valid. it is used for assign the value to variable not for checking like a=2, in this 2 assign to a but it not apply the condition.
Option d: Boolean value
we can provide the Boolean value as well if Boolean is TRUE, if condition true otherwise false.
Therefore, the option c is correct option.
Write a C++ program that usesInsertion Sort to sort an unsorted list of numbers.
C++ program - Insertion sort
#include <bits/stdc++.h>
using namespace std;
/* Defining function for sorting numbers*/
void insertionSort(int array[], int n)
{
int i, k, a;
for(i=1;i<n;i++)
{
k=array[i];
a=i-1;
while(a>=0 && array[a] > k) // moving elements of array[0 to i-1] are greater than k, to one position //
{
array[a+1] = array[a];
a =a-1;
}
array[a+1] =k;
}
}
/* Driver function */
int main()
{
int array[] = { 12,56,76,43,21}; //input integers
int n = sizeof(array) / sizeof(array[0]); //finding size of array
insertionSort(array, n); //Calling function
for (int i = 0; i < n; i++) //printing sorted array
cout << array[i] << " ";
cout << endl;
return 0;
}
The update expression of a for loop can contain more than one statement, e.g. counter++, total+= sales
True False
True.
Update expression conditions the iterations of a for loop. Counter++ is the most basic form of use, but others like total += sales are also valid.
Hope this helps.
r3t40
Differentiate between global alignment and local alignment.
Answer: In global alignment an end to end alignment is made in the entire sequence however in local alignment a local region is found wit the highest level of similarity in their sequences.
Explanation:
Global alignment is more suitable for closely related sequences whereas local is suitable for divergent sequences.
global alignment is used for comparing genes base on same functionalities whereas local alignment is used to find sequences in DNA.
EMBOSS needle is a global alignment tool and BLAST is a local alignment tool
Assuming vecList is a vector container, the expression ____ deletes all elements from the container.
A.
vecList.erase(position)
B.
vecList.erase(beg, end)
C.
vecList.clear()
Answer:
A. vecList.erase(position)
Explanation:
Assuming vecList is a vector container, the expression vecList.erase(position) deletes all elements from the container.
Assuming vecList is a vector container, the expression vecList.erase(position) deletes all elements from the container. Thus, the correct option for this question is A.
What is a Vector container?A vector container may be defined as a type of sequence that significantly represents arrays that can change in size. They significantly utilize contiguous storage locations for their elements. This means that their elements can also be accessed using offsets on regular pointers to their elements, and just as efficiently as in arrays.
According to the context of this question, vecList.erase(position) is the tool of the vector container in order to delete all sorts of elements that have been expressed by the vector container.
Therefore, the expression vecList.erase(position) deletes all elements from the container. Thus, the correct option for this question is A.
To learn more about vector containers, refer to the link:
https://brainly.com/question/12949818
#SPJ5
__________ involves determining what qualities are to beused to perform project activities.
Resource planning
Cost estimating
Cost budgeting
Cost control
Answer:
Cost Budgeting
Explanation:
Great question, it is always good to ask away and get rid of any doubts that you may be having.
The answer to this question is Cost Budgeting the keyword in the sentence that verifies this is "qualities". Cost Budgeting is the process of determining were to spend less money or more money, based on importance. In other words determining the which quality of product is better for the overall project activity.
I hope this answered your question. If you have any more questions feel free to ask away at Brainly.
Random access iterators are ____ iterators that can randomly process elements of a container.
A.
input
B.
forward
C.
bidirectional
Answer:
C. Bidirectional
Explanation:
If we want to access elements at an any random offset position then we can use random access iterators.They use the functionality 'as relative to the element they point to' like pointers.Random access iterators are Bidirectional iterators that can randomly process elements,pointer types are also random-access iterators.
The term asymptotic means the study of the function f as n becomes larger and larger without bound.
True
False
Answer:
False
Explanation:
The term asymptotic means approaching a value or curve arbitrarily closely
What is disaster recovery? How could it be implemented at your school or work?
Answer:
Disaster recovery is a set of procedure/plans/actions which are put in place to protect an organization which is facing a disaster. In a technological terms, a government organizations facing cyber attack will follow certain counter measures to recover from cyber disaster. Similarly, in school a disaster recovery can be natural calamity or cyber threat at school's database.
To implement disaster recovery at school or work we must aware everyone with proper procedures and mock drills must be conducted so that people can act swiftly when a disaster occurs and speed up disaster recovery.