Here's the way I might start writing the pseudocode for matching:
Code:
Procedure Matching({{What are the inputs?}})
{{Do I have to do anything with the inputs right away?}}
PROBABLY START HERE: {{What steps do I do for matching?}}
{{What are the outputs?}}
{{Do I have to do any cleanup?}}
End Procedure
The trick to writing pseudocode is to start at a very high level and then fill in the details until your algorithm is complete.
If I were writing pseudocode for sorting, I might start with:
1. Sort some numbers.
Okay, what are my inputs and outputs?
1. Procedure SortNumbers(List of Integers unsortedList)
2. Sort unsortedList
3. Return unsortedList -- which is now sorted
4. End Procedure
Okay, maybe it's a bubble sort:
Code:
Procedure SortNumbers(List of Integers unsortedList)
Count with Counter from 1 to Length of unsortedList
Bubble Sort elements from Counter to end of unsortedList
End Count
Return unsortedList -- which is now sorted
End Procedure
And so forth until you've got it to the level of detail you need.