1:

2:

3:

4:

5:

6:

7:

8:

9:

10:

11:

12:

13:

14:

15:

16:

Input:

AMWTemplate: String // AMW Problem and Equation template

Intermediete:

AMName: Array // part of a sentence

SegAMWTemp: Array // Segmented template

SubGenProb: String // part of a problem

repArray: Array // real values to replace placeholders in a template

Output:

AMWProblemEQN: Array // generated AMW Problem and Equation

Begin:

SegAMWTemp=segment (AMWTemplate, ‘::’) //segment template at ‘::’

For i = 0 to sizeOf (SegAMWTemp)

AmharicName = getName() // get a Amharic name from knowledge base

randomNumber = generateRandNumber() // get random number

ItemName = getItmeName() //refer Amharic Wordnet for similar concept

repArray[i].add (AmharicName, randomNumber, ItemName)

SubGenProb = replace (segAMWTemp[i], repArray[i]) // replace all

those texts in segAMWTemp with elements of repArray

AMWProblemEQN = append (AMWProblemEQN, SubGenProb)

End For

Return (AMWProblemEQN)

End