Introduction

A few years ago, when studying for my GCSE exams, I was learning a foreign language (German in fact) and each week my teacher gave me a list of one hundred words to learn for our next lession two days later.

I spent hours memorising the words and always thought that there was a better way to learn them rather than just repeating them over and over in a vain attempt to remember them.

I was sure that it would be fairly simple to write a collection of programs that would enable people to enter in a list of words (foreign and their English equivalents) into the computer to be tested on. One step further the list could be edited and amended at a later date. There should also be an option to print out the list of words if the need was there.

Finally, some four years later, I've got around to programming it! The latest version of the program, version 1.1, consists of these files:

Vocab Tester Loader v1.2(CHAIN"U.vocabME")
Vocab Tester Foreign To Englishv1.4CHAIN"U.vocabFE")
Vocab Tester English To Foreignv1.4(CHAIN"U.vocabEF")
File Editor v1.2(CHAIN"U.vocabED")
File Printer v1.2(CHAIN"U.vocabPR")
Document Reader N/A (CHAIN"U.vocabRE")

All of these programs are loaded from a specialist Menu-program, although they may be used individually if you wish.

Overview To All Programs

When loading a file from disk make sure it does exist. If you try to load a file that does not, the program you are using will give an error message and stop running.

When making a menu choice or such like, and there is a question mark after the question, the program requires you to enter a choice (i.e. Y) and then press RETURN. If you can make choices but are not presented with the "?" prompt, simply press the relevant key.

All of the programs are very simple to use so I think it's fairly pointless explaining how they work in great detail.

To create a file you will have to load either of the 'Vocabulary Tester' programs from the main menu. These two programs are also the programs that will test you on the entered/loaded list of words. If you save a file with the 'English Answers' program, you CAN load that file into the 'Foreign Answers' program and be tested on the foreign equivalent words, and vice versa with the 'Foreign Answers' program.

When you are being tested on a list of words, the words are given to you in a random order. If you get a word correct, you will not be asked it again until you re-test yourself on the same list. When you get a list wrong, you will be told so and given the correct answer. The program will then pick a random word in the list for you to answer. You will be asked to answer any words that you get wrong again and again until you get them correct! Once all the list has been answered correctly, you will be shown some menu options. You should also take note of the number of incorrect answers at the bottom of the screen. From this figure, you will be able to tell just how good you are doing during, and after, the test.

The edit program allows you to add and amend a saved list. It allows you to search for a word in the list, just to a position in the list and then save the changes. I have also added a delete function that will delete the current position of the list that you are looking at. You cannot 'tag' list elements to be deleted nor can you delete the last element in the list. I decided not to go overboard with the delete function as its use should be limited.

Problems With The Programs

As the programs use a minimum of two arrays each, I would recommend that they are run on a 64K Electron or equivalent. By all means, use them on a standard Electron too (Even a tape system!) but don't be surprised if you get a 'No room' message when using a large list.

You will notice that the program allowing you to print out a hard copy of a saved list, prints it out in a rather crude manner. There are two reasons for this: The first is that as so many printers are connectable to the Electron, it is hard to define a standard for printing. The second is that I'm new to accessing a printer using BBC BASIC! I have to learn more about this subject.

Another problem I've noticed during testing of these programs as a whole is that my routines for inputting a keypress, without the need for pressing RETURN after making a choice, can sometimes seem to ignore a keypress. This is possibly due to me clearing the keyboard buffer each time the program scans for an input using INKEY. I had to do this to stop inputs building up and generally causing a lot of problems. All I ask is that, until I find a better method to read the keyboard (i.e. delving into the realms of assembly language, gulp!), be patient and press the key a bit longer...

In a nutshell that's the program. Future versions will, hopefully, iron out the problems mentioned. But, as I do tend to take ages to get around to doing things, then please feel free to modify the program accordingly to suit your own needs or to make it more user-friendly.

Depending on how adventurous I feel, I may include a facility so that the program will point out to you how many times it took you to get an answer correct, highlighting words that the user has a serious problem remembering. Don't hold your breath for this option though! I haven't got a clue how to do this yet either!

If you do make any adjustments to the program, all I ask is that you keep the credit REM statements in it. Apologies for the state of the code to all those who are going to change bits! I suppose you could always add a bit of bolognaise to it...

I hope that the program is of use to you as it stands.

Christian Weber, EUG #16