General Description
This and the next program form a pair which should be considered together. They read and set up a 'language file' of a limited amount of words. There are no educational notes for the program as it was not developed for use in schools but as an afterthought by a programmer teaching himself Welsh. It is included for the exciting opportunities it offers in allowing young people to explore the vocabulary of a language they are studying. So many programs of this ilk are repetitive testing and this is the first I have come across that is remotely 'developmental'.
The program is virtually self-documenting and so the line descriptions can be kept short. However the printed program is long and you are welcome, after reading it, to shorten variable names etc. when typing it in. Be sure to type in the PRINT statements precisely as written. The odd words joined together are deliberate and come at the end of screen lines, and so an automatic CR/LF is generated. I do not generally approve of this practice, but in this case it aids the general readability of the program.
Detailed Description
Lines 10-290 The main structure: the auto-repeat has been deliberately turned off at line 100.
300-680 All are general purpose routines. Remember the warning about the PRINT statement and you could alter the programme by restructuring it around the validation routines suggested elsewhere in the book.
900-1020 There is an easier way of doing this, however this routine works.
1030-1420 Self-evident: at line 1210 'UNTIL NO' is sufficient, but as documented is clearer. In line 1410 FNCONV is called, I suggest that, for clarity and shortness, you may wish to use the FNconvert included elsewhere in the book.
1430-1530 Again, this works but there is a more elegant way of doing it, see comment above.
1540-1860 This is in some ways the heart of the program. It is this routine that puts a usable maximum of words that can be defined as around 250, as the search will then take too long to be productive.
1870-2480 Well self-documented, the delay routine is as in the User Guide.
2490-2930 At this point you should be aware of the known 'bugs' in the BBC saving of Cassette Files. BEEBUG magazine have these fully documented, but if you do not use the 'fix' you may come across files that you cannot read later. However I have tested this program and not been able to generate the 'saving' error. Note £ prints instead of # in the Save and Load routines, as noted before.
2940-4000 If you are at all familiar with programming, you will find nothing clever here. All the functional routines described in the main structure reside here. The author of the program tells me that he has not supplied a sort routine, for with the limited number of words he was using in his dictionary he could see no need for one. If you do, then write it, can call it from the main structure. However be careful when altering the MENU display.
Second Program
This program produces a language tape for the former program. To alter the language change the DATA at line 790 and 800, as well as the words themselves otherwise the program assumes 50 words in the language.
Once you have typed in the program, you would need to save it and rewrite lines 750-1340 as you needed them.