The Java code below was written to find the last index that x appears in the array A. If x doesn't appear in A, then the function returns -1. int find(int[] A, int x) { int n A.length, i = n -1; while (i = 0) { } } if (A[i] = x) return i; i = 1; == return -1; Homework 3 6 Data Struct. Your task is as follows: 1. Write a precondition and a post-condition for find. Your conditions should be in sync with the invariants and other justification steps you will also make about the code. At the very least, the post-condition should allow us to say that find does find the last index of x as specified above. 2. Specify a loop invariant for the loop that find uses. 3. Fill in the missing Hoare logic justifications so that we have a complete proof that given the precondition, the post-condition holds, thereby find meets the specification.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
icon
Related questions
Question
The Java code below was written to find the last index that x appears in the array A. If x doesn't
appear in A, then the function returns -1.
int find(int[] A, int x) {
int n A.length, i = n -1;
while (i = 0) {
}
}
if (A[i] = x)
return i;
i = 1;
==
return -1;
Homework 3
6
Data Struct.
Your task is as follows:
1. Write a precondition and a post-condition for find. Your conditions should be in sync with the
invariants and other justification steps you will also make about the code. At the very least, the
post-condition should allow us to say that find does find the last index of x as specified above.
2. Specify a loop invariant for the loop that find uses.
3. Fill in the missing Hoare logic justifications so that we have a complete proof that given the
precondition, the post-condition holds, thereby find meets the specification.
Transcribed Image Text:The Java code below was written to find the last index that x appears in the array A. If x doesn't appear in A, then the function returns -1. int find(int[] A, int x) { int n A.length, i = n -1; while (i = 0) { } } if (A[i] = x) return i; i = 1; == return -1; Homework 3 6 Data Struct. Your task is as follows: 1. Write a precondition and a post-condition for find. Your conditions should be in sync with the invariants and other justification steps you will also make about the code. At the very least, the post-condition should allow us to say that find does find the last index of x as specified above. 2. Specify a loop invariant for the loop that find uses. 3. Fill in the missing Hoare logic justifications so that we have a complete proof that given the precondition, the post-condition holds, thereby find meets the specification.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning