External Exam Download Resources Web Applications Games Recycle Bin

selection: the next instruction to be executed depends on a 'condition'

condition: a logical expression that evaluates to true or false

iteration: a number of instructions are repeated

Modularisation: used for reducing the complexity of a system by deconstructing into more or less independent units or modules. (this is definition from syllabus. in addition modularisation assists with refactoring code, efficiency, scalability, and other systems criteria as well. 'modules' can be referred to as functions, methods, procedures, routines, or these words prefixed with sub- ...)

1. What is output?

BEGIN
  SET a = CALL b
  OUTPUT a
END
BEGIN b
  RETURN 1
END b

2. What is exact output?

BEGIN
  SET max, avg = newSum(2,4)
  OUTPUT avg, max
END
BEGIN newSum(num1,num2)
  SET tempAvg = (num1 + num2) / 2
  IF num1 > num2 THEN
    RETURN num1, tempAvg
  ELSE
    RETURN num2, tempAvg
  ENDIF
END newSum

3. What is output?

BEGIN
  GLOBAL VARIABLE x
  LOCAL VARIABLE y
  x = 1
  y = 2
  change()
  PRINT(x,y)
END
BEGIN change
  x = 3
  y = 4
END change

4. What is output? Is a 'local' or 'global' in swap() function?

BEGIN
  GLOBAL VARIABLE x
  LOCAL VARIABLE y
  x = 1
  y = 2
  y = swap(y)
  PRINT(x,y)
END
BEGIN swap(a)
  temp = x
  x = a
  RETURN temp
END swap

5. What is output?

BEGIN
  a = 1
  b = 2
  z = go(a,b)
  IF z == 1 THEN
    OUTPUT 2
  ELSE
    OUTPUT 1
  ENDIF
END
BEGIN go(x,y)
  SET c = go2(y,x)
  IF c == 1 THEN
    RETURN 2
  ELSE
    RETURN 1
  ENDIF
END go
BEGIN go2(x,y)
  RETURN y
END go2

6. How modularisation could be beneficial in your IA's:

BEGIN
  GLOBAL VARIABLE session #lasts until user closes browser
  GLOBAL VARIABLE username, cartItems

  IF session NOT(EXISTS) THEN
    INPUT username, password
    WHILE authenticate(username,password) <> 200 
      INPUT username, password
    ENDWHILE #user authenticated
    SIGN session WITH username, cartItems=[] #stores between pages
  ENDIF #session established
    
  WHILE session EXISTS: #user is browsing site:
    INPUT url #from querystring
    IF url == "/browse" THEN
      displayItems() #yet to implement
    ELSE
      IF url == "/buy?itemID=x" THEN
        READ itemID FROM url querystring parameter x
        APPEND itemID TO cartItems
        REDIRECT url TO "/browse"
      ELSE #"/logout", respond to end user event:
        DELETE session
      ENDIF
    ENDIF
  ENDWHILE
END
BEGIN displayItems()
  ... pseudocode here ...
END displayItems
BEGIN authenticate(u,p)
  IF u <> "admin" OR p <> "1234" THEN
    RETURN HTTP 403 FORBIDDEN
  ELSE
    RETURN HTTP 200 OK
  ENDIF
END authenticate