**1)** Given this function:

`def aFunction(x): `

y = x % 3

if y == 0:

print "True"

else:

print "False"

**a)** What is the name of the function?

**b)** How many arguments does this function take?

**c)** What does this function return?

**d)** Explain what this function does:

**e)** What would happen if a program called aFunction(4)?

**2)** Given this while loop:

```
while x < a:
```

a = a + 1

x = x + 2

print x

**a)** If a is 3 and x is 0, what will the output of this loop be?

**b)** What are two values for a and x such that the code inside the loop will not execute at all?

**3)** Given a program:

```
def aFunction(x, z):
```

r = ""

while z > 0:

r += " " + x

z -= 1

return r

q = aFunction("ABC", 3)

**a)** What is the type of the value stored in q after the line q = aFunction("ABC", 3)?

**b)** What is the value stored in q after the line q = aFunction("ABC", 3)?

**4)** This function is supposed to print all the even numbers that are less than q. However, when q is even it prints the wrong numbers and when q is odd it prints nothing at all! What is wrong with this function?

```
def aFunction(q):
```

p = q

while q > 1:

if p % 2 == 0:

print p

q = q - 1

**5)** Write pseudocode for a function that takes two strings as input and returns the number of words they have in common: