1 For the following program segment give the output produced

1. For the following program segment, give the output produced by the segment: 1 int i 13; 2 while (i 0) int j 2; 4 while (j i) System. out.print (j j j 2: System.out.println 10 2. For the following program segment, give the output produced by the segment: 1 int i 1; 3 while i 5 int j 0; 5 while (iki *3) System. out print 1; i 10 System. ou 11

Solution

Solution for the Problem Snip 1

2 4 6 8 10 12

2 4 6 8 10

2 4 6

2 4

How did this Output come?

So let us understand the Program execution Flow,

So the First statement we declare i=13, Now in a statement while(i>0), That is while(13>0) means this while will be kept on getting executed till the value of i is less than 13.

So inside the First, we define j=0, in second while loop these will be the condition 2<13, 4<13, 6<13, 8<13, 10<13,12<13. So for all the above statements, the inner while will be executed.

So for every execution of while we print the j followed by a space which will provide a result of 2 4 6 8 10 12. Now I will be reduced by 3 and the same sequence of j will be executed. before we reduce the value of j we make sure we have a new line.

Solution for Problem 2

+++
++++++
+++++++++
++++++++++++

Here there is a outer while where these can be the possible condition for the loop (1<5)(2<5)(3<5)(4<5)

so now we have 4 run on a outer while. Now for an inner while(j<i*3) for every print of \'+\' j is incremented by 1. And when i is incremented by 1 we tend to x3 the value of the while. ie ( j<1*3)(j<2*3)(j<3*3)(j<4*3)

so for every inner loop condition, we print +.

for every update of outer loop, a new blank space is created.

Solution of Problem 3

Output : pottatto

a and b are two different strings where we tend to use these strings for counting the number of character it has for a while loop.

we have outer loop which says while(0<6 (a.length)) so now the outer while can have all these possible values.

while ( 0<6) (1<6)(2<6)(3<6)(4<6)(5<6)

now for the inner loop, we calculate the possible case of an inner loop. For that b.length provides us an answer as 6-1 as \"tophat\" has six characters. So the value initially will be 5 for every completion of inner while 5 will be reduced by 2. so the case of inner while will be while(5,3,1>=0)

Now let us understand the sequence of the program below

is pos<a.length()
0<6

int pos2 = b.length()-1;
pos2 = 6-1 = 5

pos2 = 5 >=0

is a.charAt(pos) == b.charAt(pos2)

pos = 0, pos2 = 5 (no)
now, pos2=pos2-1
pos2= 5-1 = 4
pos = 0

pos2 = 4 >=0

is a.charAt(pos) == b.charAt(pos2) ?

pos = 0, pos2 = 4 (no)
now, pos2=pos2-1
pos2= 4-1 = 3
pos = 0

pos2 = 3 >=0

is a.charAt(pos) == b.charAt(pos2) ?

pos = 0, pos2 = 3 (no)

now, pos2=pos2-1
pos2= 3-1 = 2
pos = 0

pos2 = 2 >=0

is a.charAt(pos) = b.charAt(pos2) ?

pos = 0, pos2 = 2 (yes)
output=output+a.charAt(pos)
output=\"\"+\"p\" = \"p\"

after three more cycles,

pos2= -1
pos2<0
BREAK WHILE LOOP

while (pos<a.length()) loop

pos = pos + 1
pos = 1
pos<a.length()) when pos=1

pos2= 5, again
pos2>=0, again

is a.charAt(pos) == b.charAt(pos2) for pos=1 and pos2=5
(nope)

now, pos2=pos2-1
pos2 = 5-1 = 4
pos = 1

is a.charAt(pos) = b.charAt(pos2) for 1 and 4?
(nope)

now, pos2=pos2-1
pos2 = 4-1 = 3
pos = 1

is a.charAt(pos) = b.charAt(pos2) for 1 and 3?
(nope)

now, pos2=pos2-1
pos2 = 3-1 = 2
pos = 1

is a.charAt(pos) = b.charAt(pos2) for 1 and 2?
(nope)

pos2 = 2-1 =1
pos = 1

is a.charAt(pos) == b.charAt(pos2) for 1 and 1?
(yup)

output=\"p\" + \"o\"
[since \'t\' !== \'p\' we\'ll skip the rest of this loop, like we did above]

pos = pos + 1
pos = 1 + 1 = 2

pos<a.length() for pos = 2

pos2 = 5, again
pos2>=0

is a.charAt(pos) == b.charAt(pos2) for 2 and 5?
(yup)

output=\"p\" + \"o\" + \"t\"

pos2=5-1=4

is a.charAt(pos) == b.charAt(pos2) for 2 and 4?
(nope)

[repeat until pos2=1-1=0]

is a.charAt(pos) == b.charAt(pos2) for 2 and 0?
(yup)

output=\"pot\" + \"t\"

INVALID CASE pos2>=0
BREAK LOOP\'

pos = 2+1 = 3

3<a.length()
pos2 = 5

is a.charAt(pos) == b.charAt(pos2) for 3 and 5?
(nope)

pos2 = 5-1= 4
pos = 3

is a.charAt(pos) == b.charAt(pos2) for 3 and 4?
yes

output = \"pott\" + \"a\"

[run loop until break] // end loop

pos = 3+1 =4
pos2 = 5

is a.charAt(pos) == b.charAt(pos2) for 4 and 5?
(yep)

output = \"potta\" + \"t\"

[run loop until pos2 = 0]

is a.charAt(pos) == b.charAt(pos2) for 4 and 0?
(yea)

output = \"pottat\" + \"t\"

pos = 4+1 = 5

there will be a match at pos = 5 and pos2 = 1

output = \"pottatt\" + \"o\"

pos = 6, break loop

FINAL OUTPUT \"The final output is: pottatto\"

 1. For the following program segment, give the output produced by the segment: 1 int i 13; 2 while (i 0) int j 2; 4 while (j i) System. out.print (j j j 2: Sys
 1. For the following program segment, give the output produced by the segment: 1 int i 13; 2 while (i 0) int j 2; 4 while (j i) System. out.print (j j j 2: Sys
 1. For the following program segment, give the output produced by the segment: 1 int i 13; 2 while (i 0) int j 2; 4 while (j i) System. out.print (j j j 2: Sys
 1. For the following program segment, give the output produced by the segment: 1 int i 13; 2 while (i 0) int j 2; 4 while (j i) System. out.print (j j j 2: Sys

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site