answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Digiron [165]
2 years ago
7

Use the loop invariant (I) to show that the code below correctly computes the product of all elements in an array A of n integer

s for any n ≥ 1. First use induction to show that (I) is indeed a loop invariant, and then draw conclusions for the termination of the while loop.
Algorithm 1 computeProduct(int[ ] A, int n)
p = a[0]
i = 0
while i < n − 1 do
//(I) p = a[0] · a[1] · · · a[i] (Loop Invariant)
i + +
p = p · a[i]
end while
return p
Computers and Technology
1 answer:
NeTakaya2 years ago
6 0

Answer:

Given Loop Variant P = a[0], a[1] ... a[i]

It is product of n terms in array

Explanation:

The Basic Step: i = 0, loop invariant p=a[0], it is true because of 'p' initialized as a[0].

Induction Step: Assume that for i = n - 3, loop invariant p is product of a[0], a[1], a[2] .... a[n - 3].

So, after that multiply a[n - 2] with p, i.e P = a[0], a[1], a[2] .... a[n - 3].a[n - 2].

After execution of while loop, loop variant p becomes: P = a[0], a[1], a[2] .... a[n -3].a[n -2].

for the case i = n-2, invariant p is product of a[0], a[1], a[2] .... a[n-3].a[n-2]. It is the product of (n-1) terms. In while loop, incrementing the value of i, so i=n-1

And multiply a[n-1] with p, i.e P = a[0].a[1].a[2].... a[n-2].

a[n-1]. i.e. P=P.a[n-1]

By the assumption for i=n-3 loop invariant is true, therefore for i=n-2 also it is true.

By induction method proved that for all n > = 1 Code will return product of n array elements.

While loop check the condition i < n - 1. therefore the conditional statement is n - i > 1

If i = n , n - i = 0 , it will violate condition of while loop, so, the while loop will terminate at i = n at this time loop invariant P = a[0].a[1].a[2]....a[n-2].a[n-1]

You might be interested in
In which work settings would audiovisual technicians be least likely to work behind the scenes? (Select all that apply.)
snow_tiger [21]

Answer:

The correct option is;

Industrial warehouse

Explanation:

The job functions of an audiovisual technician in industrial warehouses includes;

1) Preparation and testing as well as checking equipment out and checking of equipment back in

2) Movement of equipment into trucks and vans

3) Ensuring the timely completion of tasks

4) Learn the setup and operation of equipment prior to transportation to destination sires

5) Take part in the warehouse administration.

6 0
2 years ago
On the attendance worksheet, in cell l5, enter an if function to determine if the percentage in cell k5 is greater than or equal
KatRina [158]

=if(c5≥h18,(c5),(k5))

we will use if function to check the validity of function

we will first write the condition and then we will write the value if condition goes true otherwise if condition does not go true we will write false and function will return value in  k5 cell which we have provided in the formula.

8 0
2 years ago
Read 2 more answers
Computers represent color by combining the sub-colors red, green, and blue (rgb). Each sub-color's value can range from 0 to 255
maxonik [38]

Answer:

Follows are the code to this question:

#include <iostream>//defining a header file

using namespace std; //using namespace

int main() //defining main method

{

int red,green,blue,s; //defining integer variable

cout<<"Enter value: \n ";//print message

cin>>red>>green>>blue; //input value

if(red<green && red<blue)//defining if block that checks red value

s=red;//store red variable value to s variable

else if(green<blue)//defining else if block that checks green value less then blue

s=green;//store green variable value in s variable

else//defining else block

s=blue; //store blue variable value in s variable

//calculating red, green, blue value

red=red-s;//store red value

green=green-s;//store green value

blue=blue-s;//store blue value

cout<<red<<" "<<green<<" "<<blue;

}

Output:

Enter value:

130  

50

130

80 0 80

Explanation:

In the above code, inside the Main method, four integer variable "red, green, blue, and s" is defined, in which "red, green, and blue" is used for input the value from the user end.

  • In the next step, a conditional statement is used, that checks the red variable value, if the condition is true, it will store its value in the "s" variable, otherwise, it will go to else if block.
  • In this block, the green variable checks its value less than then blue variable value, if the condition is true, it will store the green value in the "s" variable, otherwise, it will goto else block.
  • In this block, it will store the blue variable value in the "s" variable, and subtract the value of "red, green, and blue" value from "s" and store its value, and at the last, it will print its value.    
4 0
2 years ago
Which of the following commands uses correct syntax for matching the patterns bunk or bank at the end of a line of text?
Alika [10]

Answer:

a. grep 'b[au]nk$' myLine

Explanation:

grep is a command used for searching a specified pattern in a given text.

Our goal is to match the character sequence - bank or bunk at the end of line in a  given line referenced by myLine.

The regular expression for the specified match criterion is:

b[au]nk$

The second character can be either a or u.

$ indicates match at end of line.

So the overall grep command is :

grep 'b[au]nk$' myLine

8 0
2 years ago
python Write a class named Taxicab that has three **private** data members: one that holds the current x-coordinate, one that ho
Blizzard [7]

Answer:

see explaination

Explanation:

class Taxicab():

def __init__(self, x, y):

self.x_coordinate = x

self.y_coordinate = y

self.odometer = 0

def get_x_coord(self):

return self.x_coordinate

def get_y_coord(self):

return self.y_coordinate

def get_odometer(self):

return self.odometer

def move_x(self, distance):

self.x_coordinate += distance

# add the absolute distance to odometer

self.odometer += abs(distance)

def move_y(self, distance):

self.y_coordinate += distance

# add the absolute distance to odometer

self.odometer += abs(distance)

cab = Taxicab(5,-8)

cab.move_x(3)

cab.move_y(-4)

cab.move_x(-1)

print(cab.odometer) # will print 8 3+4+1 = 8

5 0
2 years ago
Other questions:
  • Which of the following statements does not contain an error?
    13·1 answer
  • Viet drives around and checks meters to document the amount of electricity used in homes. What Energy pathway is he a part of? E
    9·2 answers
  • Shaniya has misspelled a scientific name in her biology report. She needs to correct it, but she has no access to a computer. Sh
    13·2 answers
  • A(n) ______of the audio or video clip makes the content easily accessible to people with hearing disabilities.
    10·2 answers
  • Write a algorithm to attend birthday party​
    8·2 answers
  • Consider the following two code segments, which are both intended to determine the longest of the three strings "pea", "pear", a
    7·1 answer
  • Multiply each element in origList with the corresponding value in offsetAmount. Print each product followed by a semicolon (no s
    14·1 answer
  • Which statements describe best practices for aligning text? check all that apply
    8·2 answers
  • ___refers to self-acting or self-operating.
    11·1 answer
  • **Click the photo** Put the steps in order to produce the output shown below. Assume the indenting will be correct in the progra
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!