# Algorithms

• Nov 4th 2010, 06:06 PM
ansonbound
Algorithms
Use the following pseudo code with your own choice of values of X.

10 INPUT X
20 LET Y = X/3
30 LET R = Y - INT(Y)
40 IF R = 0 PRINT ACCEPT, GOTO A
50 PRINT REJECT
60 LABEL A
70 END

(i) Explain what is being achieved.

What I did is...
X Y R INT(Y) A
10 3
20 1
30 0
40
50
60
70

I don't really get how to do it :S

(ii)If you replaced the line LET Y = X/3 by the line LET Y = x/5, how would this change the outcome of the above?
->?
• Nov 4th 2010, 06:50 PM
huntingking
The pseudo code checks if x is divisible by three, prints accept if it is, reject if not. if your replace line 20 with LET Y = x/5 it checks if x is divisible by 5 instead.
example x = 6
10 x = 6
20 y = 2 #6/3
30 r = 0 #2 - 2
40 print accept goto 60 #label a
50 skipped
60
70 end

example 7
10 x =7
20 y = 2.333 #7/3
30 r = .333 # 2.3333 -2
40 IF statement false do nothing
50 print reject
60
70 end
• Nov 4th 2010, 08:25 PM
CaptainBlack
Quote:

Originally Posted by ansonbound
Use the following pseudo code with your own choice of values of X.

10 INPUT X
20 LET Y = X/3
30 LET R = Y - INT(Y)
40 IF R = 0 PRINT ACCEPT, GOTO A
50 PRINT REJECT
60 LABEL A
70 END

(i) Explain what is being achieved.

What I did is...
Code:

```      X  Y  R  INT(Y)  A 10  3 20        1 30            0 40 50 60 70```
I don't really get how to do it :S

(ii)If you replaced the line LET Y = X/3 by the line LET Y = x/5, how would this change the outcome of the above?
->?

1. A is a label not a variable so should not appear in the trace table.

2. Observe that R is the fractional part of Y

3. observe that Y is X/3

Hence R==0 if and only if X is divisible by 3.

CB