26
Appendix Language Model Programs 44 PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show #1). Open ASCII files as input into models. Data files must be in correct layout format. RUN models from Chapter 4. TRANSFER TELNET UNIX FILES. FTP. COPY OTHER FILES. Select Internet Browser. Transfer (.html) files. SAVE AS . Create New Output Files with Software. Create Database. Database List. List data files with FORM LAYOUT . SAVE AS ASC data. RUN Basic Programs. Choose data files on disk to create new files. Enter data to disk files with prompts, dialogue boxes or applets (Ch04\create.wp). Create laboratory disk word files lists on subdirectories or folders (Part I). Some programs require previous programs to provide old files. RUN Java Applet Programs with a Navigator. Transfer programs on DOS files. Review program code in (.html)documents. Compile with Javac. RUN Java applet tags on any computer with a Navigator or Explorer . CONVERT LANGUAGE DATABASE TO DATA FILES FORMODELS. Choose Input Files for Program Models (Ch04\tutorial.wp and APPENDIX\I, Tutor Disk list #1). List ASCII Data Files. List data on each file. List files on paper. Detect errors. REVIEW MODEL DATA INPUT FILES. Select DOS or WINDOWS . DOS Software Data File. Review data input files for model programs to verify data entered. Review all data item fields. Records are not separated in DOS TYPE or file data dump. Reviewing may be difficult. Basic Programs. Software to create files does not specify formats required for models. Define each data item required for models. RUN programs to list data input files to models (APPENDIX\II, Prog. #13 a, b, c, d, e). RUN each program. List complete data files. Programs models must RUN to End Of File to list files. Review new files. Fully analyze data files. VISUAL BASIC EDIT PROGRAM. Review dates on directories. COPY Files. COPY internet files as TABLES . Old File. Display data previous entered in simple programs. Place data one line down on screens with chr(13). Screen Display Box. Prevent screen from scrolling. Use dialogue box commands. Other FTP Files. Locate data files on disk directories. Easily retrieve and open files. Open files as input . Create New Files. Edit data in a second program. Build larger laboratory test data files. Add or append records to these files. Concatenate files. Print Output as a File. Send data files to Word Processors. Direct screen display output to printers. RUN Basic Programs to List Data. Use msgbox to specify the fields on screens to list data fields. Review Data. Scroll debug.print on Screens. Interrupt editing programs. Scroll data in debug.print screens. Data appears stationary on screens. Review data on disk files. Select Restart to RERUN programs. QUICK LABORATORY MODELS. Copy Program Code. Use Part I or Part II (.html) WORKBOOK documents. Convert to DOS text. Computer program instructions are already tested and checked. Use as a new program. COPY Gwbasic programs. Load by line code number. COPY Qbasic programs. PASTE . Modify program code. Insert additional program instructions. Verify only new program logic. SAVE Program Code. Select FILE and SAVE AS Basic programs. PASTE .

PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

  • Upload
    ngokien

  • View
    226

  • Download
    1

Embed Size (px)

Citation preview

Page 1: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

44

PART II.

INTERACTIVE FOREIGN LANGUAGE MODELS.

RUN Responsive Basic Program Models (See Lang Lab. Show #1). Open ASCII files as input into models. Data

files must be in correct layout format. RUN models from Chapter 4.

TRANSFER TELNET UNIX FILES. FTP. COPY OTHER FILES.

Select Internet Browser. Transfer (.html) files. SAVE AS.

Create New Output Files with Software. Create Database.

Database List. List data files with FORM LAYOUT. SAVE AS ASC data.

RUN Basic Programs. Choose data files on disk to create new files. Enter data to disk files with prompts,

dialogue boxes or applets (Ch04\create.wp). Create laboratory disk word files lists on subdirectories or

folders (Part I). Some programs require previous programs to provide old files.

RUN Java Applet Programs with a Navigator. Transfer programs on DOS files. Review program code in

(.html)documents. Compile with Javac. RUN Java applet tags on any computer with a Navigator or Explorer.

CONVERT LANGUAGE DATABASE TO DATA FILES FORMODELS.

Choose Input Files for Program Models (Ch04\tutorial.wp and APPENDIX\I, Tutor Disk list #1).

List ASCII Data Files. List data on each file. List files on paper. Detect errors.

REVIEW MODEL DATA INPUT FILES. Select DOS or WINDOWS.

DOS Software Data File. Review data input files for model programs to verify data entered. Review all data

item fields. Records are not separated in DOS TYPE or file data dump. Reviewing may be difficult.

Basic Programs. Software to create files does not specify formats required for models. Define each data item

required for models. RUN programs to list data input files to models (APPENDIX\II, Prog. #13 a, b, c, d,

e). RUN each program. List complete data files. Programs models must RUN to End Of File to list files.

Review new files. Fully analyze data files.

VISUAL BASIC EDIT PROGRAM. Review dates on directories.

COPY Files. COPY internet files as TABLES.

Old File. Display data previous entered in simple programs. Place data one line down on screens with chr(13).

Screen Display Box. Prevent screen from scrolling. Use dialogue box commands.

Other FTP Files. Locate data files on disk directories. Easily retrieve and open files. Openfiles as input.

Create New Files. Edit data in a second program. Build larger laboratory test data files. Add or append records

to these files. Concatenate files.

Print Output as a File. Send data files to Word Processors. Direct screen display output to printers.

RUN Basic Programs to List Data. Use msgbox to specify the fields on screens to list data fields.

Review Data. Scroll debug.print on Screens. Interrupt editing programs. Scroll data in debug.print screens. Data

appears stationary on screens. Review data on disk files. Select Restart to RERUN programs.

QUICK LABORATORY MODELS.

Copy Program Code. Use Part I or Part II (.html) WORKBOOK documents. Convert to DOS text. Computer

program instructions are already tested and checked. Use as a new program.

COPY Gwbasic programs. Load by line code number.

COPY Qbasic programs. PASTE. Modify program code. Insert additional program instructions. Verify only

new program logic.

SAVE Program Code. Select FILE and SAVE AS Basic programs. PASTE.

Page 2: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

45

Document for Student. Documents are in APPENDIX\II. Review Lang. Lab Show #2. Create simple files with

programs and software in APPENDIX\II\partI.wp. Create additional files with Excel Spreadsheets, Clarisworks or

Alphaworks Databases. Obtain lists of verb infinitives from old files or UNIX. Sort Excel files and SAVE AS.

COPY Databases. Delete Database data fields. EXPORT.

STUDENT SLIDE SHOW

Lang. Lab. Show #2: Directory B:\SOFTWARE\OPERATIO.SHW

ALPHAWOR CHT 2,428 06-05-93 9:40p

DIF-ASC CHT 5,319 12-10-93 7:54a

KEYALPHA CHT 10,013 11-09-93 2:55p

BOX CHT 2,403 02-01-95 12:40p

BLOCKED CHT 3,729 05-23-96 9:35a

KEYMODEL CHT 8,357 06-08-96 12:38p

WORDPERC CHT 2,502 05-23-96 9:34a

CLARIS CHT 5,139 11-06-95 7:19a

CURSOR CHT 3,894 05-23-95 2:53p

NEWSPAGE CHT 10,281 12-10-93 6:23a

TI-WRITE CHT 12,139 01-03-94 12:53p

EXCEFILE CHT 7,169 06-08-96 12:39p

METAGRAP CHT 3,598 06-08-96 12:42p

GRAPHIC CHT 5,113 06-08-96 12:43p

INDEX1 CHT 3,981 06-08-96 12:44p

LABMODEL CHT 3,129 06-08-96 12:45p

LANMODEL CHT 2,859 06-09-96 12:15p

SOFTUTOR CHT 1,044 06-09-96 12:16p

Code Dimension Statements to Store Words. Load word groups in memory to get instantaneous responses. Verify

results. Read entire lists into computer memory quickly compare. Compare each data item list in memory with any

word item in input prompts (See Program Matching Code Lines #6). Display as many instructions as desired on

screens. Easily clear screen clutter. Prompt for the next response.

SAVE Gwbasic Programs. SAVE in ASCII code for documents. SAVE commands are followed by "program

name" in double quotes, a comma and an A.

SAVE "COMPOUND",A

DOCUMENTATION.

Incorporate data files in Alphaworks, Wordperfect, Word or TI-Writer Word Processor

document files.

Lang. Lab. #8 Program Code Lines Part II Bar Chart

PRACTICE WITH A MODEL TO REFRESH LANGUAGE SKILLS.

Interactive Model. Develop interactive language models to open two or three data input files created. Enter

subprograms at the end of main programs. RUN programs models. No paper output is produced in interactive model

to rehearse languages.

DATA PROCESSED ON BASIC MODEL INPUT FILE.

Page 3: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

46

Analyze Total Lines of Program Code. Program models process data lists. Analyze program code lines totals for

models to enter data in various segments (See Lang. Lab #3, Foreign Language Models). The total number of code

lines for each routine for the next seven programs appears in Lang. Lab. #8, Program Code Lines Part II Bar Chart.

Analyze the minimum lines of code required. Add as many new lines as desired to programs.

TOTAL PROGRAM LINES

N DESC LINE TOT

DATA ITEM CODE

8 COMPOUND

GERMAN 1510 151

POLISH 1800 180

FRENCH 2080 208

9 UPDA VERB 1400 140

10 CONJUGATE 290 29

11 VERB II 880 88

12 ENGL WORD 400 40

13 DATABASE

14 SENTENCE 4330 433

Total App Pr 1619

Foreign Language Models Program Code Lines #2

Estimate the numbers of code lines to compare words.

DATA ARRAY LIST MATCHES

c. DIMENSION MATCHES DIMENSION LINE NUMB

N DATA ARRAY MATCHES

c . DIMENSION DIMENSION

MATCH KEY 7 INF$(VE) 600

INPUT 7 PRONOUN$(I) 680

WORD 7 PRONOUNA$(OB) 870

11 MATCH = REC 220

14 ASC(SPCK$)= 1030

14 CASE$ 1180

14 INF$(VE) 1990

14 HOLDPREP$(SP) 2260

14 PRONOUN$(I) 2830

14 PRONOUN$(O) 3430

Lang. Lab. #9 Code Lines Matching Lists of Words in Basic

CREATE OTHER INPUT FILES FOR MODELS.

Translation File from Verb Input File. RUN programs to create tran files to index verbs on verb files. Choose

current verb input files to create tran output files (Prog. #10, Translate). The number of tran file verbs is the same as

the number of records in verb files. Add English meanings to verb index records.

Page 4: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

47

Model. Verb files are relative files. Tran files are sequential files. Choose tran files to provide mnemonic infinitive

indexes in responsive model lessons. Display and word meaning lists.

TRANSLATE (Fig. 22). Convert to Visual Basic.

Print entry translations. Cross reference language verb files using tran files. ReRUN programs. Correct errors (See

Run Sequence for Language Model Program).

10. VERBTRAN

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

Sub verbtran()

Dim verbrecord As record

20 MsgBox "verbtran"

40 LANG$ = InputBox(Title:="enter language", prompt:=" ")

50 FILENAME$ = "c:\book\" + LANG$ + "\verbs"

60 Open FILENAME$ For Random As #2 Len = 122

70 FILENAME2$ = "c:\book\" + LANG$ + "\tran"

80 Open FILENAME2$ For Output As #3

Random File. Read the random file sequentially. Add a translation to each verb infinitive that has been entered.

100 J = J + 1

110 Get #2, J, verbrecord

120 If EOF(2) Then GoTo 350

130 MsgBox verbrecord.v1 & " " & verbrecord.v2 & " " & verbrecord.v3 & " " & verbrecord.v4 & " " &

verbrecord.v5 & " " & verbrecord.v6$ & " " & verbrecord.v7 & " " & verbrecord.v8

140 MsgBox J

160 ED$ = InputBox(prompt:="enter translation", Title:=verbrecord.v1)

170 If ED$ = "999" Then GoTo 350

Remove Space. Convert relative file infinitive data item. String segment comparisons eliminate trailing spaces from

field.

180 For I = 1 To 14

190 x1$ = Mid(verbrecord.v1, I, 1)

200 If Asc(x1$) = 32 Then GoTo 230

210 P1$ = P1$ + x1$

220 Next I

230 For I = 1 To 14

240 X8$ = Mid(verbrecord.v8, I, 1)

250 If Asc(X8$) = 32 Then GoTo 280

260 P8$ = P8$ + X8$

270 Next I

Page 5: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

48

10. VERBTRAN

280 LENP8 = Len(P8$)

290 Write #3, J; P1$; P8$; ED$

300 P1$ = ""

310 P8$ = ""

320 GoTo 100

340 MsgBox "cnt " & J

Record Count. Use screen dialogue. Print the total number of records created.

350 Close #2

360 Close #3

370 End

End Sub

RUN one of the two models to create phrases.

11. COMPOUND Tense. Visual Basic.

The second sentence Language Model uses two verb modal and verb files and infinitives on a tranfile. Use

compound verb forms for moods or tenses (German) phrases.

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

Dim verbrecord As record

Sub compound()

10 HEVERB$(1) = "durfen"

20 HEVERB$(2) = "konnen"

30 HEVERB$(3) = "mogen"

40 HEVERB$(4) = "mussen"

50 HEVERB$(5) = "sollen"

60 HEVERB$(6) = "wollen"

The German helping verbs

70 Dim INF$(80), PAST$(80), ENG$(80)

110 LANG$ = InputBox(Prompt:="enter language;", Title:="compound ")

Choose the Language Directory. Select program code.

Print Program Name.

120 MsgBox Prompt:="pronouns" & " " & "a:\language\"

COMPOUND

Print Directory for the Program Code.

130 FILENAME$ = "c:\language\" + LANG$ + "\pro" + ".csv"

Pronouns. Read the model input pronoun file.

140 Open FILENAME$ For Input As #1

Page 6: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

49

150 For NUMB = 1 To 2

160 For per = 1 To 5

170 If EOF(1) Then GoTo 430

180 Input #1, n, per$, sgpl$, pr$, case1$

190 MsgBox n & " " & " " & per$ & " " & sgpl$ & " " & case1$ & " " & pr$

200 NOM = NOM + 1

210 pronoun$(NOM) = pr$

220 Next per

230 Next NUMB

240 For NUMB = 1 To 2

250 For per = 1 To 5

260 If EOF(1) Then GoTo 430

270 Input #1, n, per$, sgpl$, pr$, case1$

280 MsgBox n & " " & per$ & " " & sgpl$ & " " & case1$ & " " & pr$

290 acc = acc + 1

300 pronoun$(acc) = pr$

310 Next per

320 Next NUMB

330 Imsgbox "a"

340 For NUMB = 1 To 2

350 For per = 1 To 5

360 If EOF(1) Then GoTo 430

370 Input #1, n, per$, sgpl$, pr$, case1$

380 Print n, per$, sgpl$, case1$, pr$

390 gen = gen + 1

400 pronoung$(gen) = pr$

410 Next per

420 Next NUMB

430 Print "verbs"

440 FILENAME2$ = "c:\language\" + LANG$ + "\tran" + ".csv"

Infinitives. Read infinitive tran input file.

450 FILENAME3$ = "c:\basic\" + LANG$ + "\modal" + ".csv"

Helping Verb File. Read helping verb input file.

460 Open FILENAME2$ For Input As #2

470 If EOF(2) Then GoTo 590

480 Input #2, nn, INF$, PAST$, ENG$

490 MsgBox nn & " " & INF$ & " " & PAST$ & " " & ENG$

500 pge = pge + 1

510 If pge < 20 Then GoTo 540

520 MsgBox "next page"

530 pge = 0

540 VERBNUMB = VERBNUMB + 1

550 INF$(VERBNUMB) = INF$

COMPOUND560 PAST$(VERBNUMB) = PAST$

570 ENG$(VERBNUMB) = ENG$

580 GoTo 470

590 Close #2

600 Close #1

610 Open FILENAME3$ For Random As #3 Len = 122

620 SUBJ$ = InputBox("enter subject:")

630 VERBFORM$ = InputBox("enter helping verb")

640 If VERBFORM$ = "end" Then GoTo 1150

650 For AUX = 1 To 6

Page 7: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

50

660 If VERBFORM$ = HEVERB$(AUX) Then GoTo 700

670 Next AUX

680 Print "miss helping"

690 GoTo 630

700 PARTICIP$ = InputBox("enter verb:")

710 If PARTICIP$ = "end" Then GoTo 1150

720 For VE = 1 To 80

730 If INF$(VE) = PARTICIP$ Then GoTo 780

740 Next VE

750 Print "miss:"

760 MISS = MISS + 1

770 GoTo 630

780 MsgBox ENG$(VE) & " " & INF$(VE)

800 OBJ$ = InputBox(Prompt:="pronoun object:")

810 For I = 1 To 10

820 If SUBJ$ = pronoun$(I) Then GoTo 860

830 Next I

840 MsgBox "pronoun miss:"

850 GoTo 620

860 MsgBox SUBJ$

Sentence Subject. Print the subject

870 I = I + 1

880 Get #3, AUX, verbrecord

890 If EOF(3) Then GoTo 1170

910 Verb$(1) = VERB1$

920 Verb$(2) = VERB2$

930 Verb$(3) = VERB3$

940 Verb$(4) = VERB4$

950 Verb$(5) = VERB5$

960 Verb$(6) = VERB6$

970 Verb$(7) = VERB7$

980 Verb$(8) = VERB8$

verbrecord.v1 = v1$

verbrecord.v2 = v2$

verbrecord.v3 = v3$

verbrecord.v4 = v4$

verbrecord.v5 = v5$

COMPOUND

verbrecord.v6 = v6$

verbrecord.v7 = v7$

verbrecord.v8 = v8$

990 MsgBox Verb$(I) & " " & PARTICIP$

Verb. Print the verb and participle

1010 For OB = 1 To 10

1020 If OBJ$ = pronouna$(OB) Then GoTo 1110

1030 Next OB

1040 For OB = 1 To 10

1050 MsgBox pronouna$(OB) & " "

1060 Next OB

1080 MsgBox "miss obj"

Page 8: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

51

1090 OBJ$ = InputBox(Prompt:="object:")

1100 GoTo 1010

1110 MsgBox OBJ$

Print Objects. Participles can be printed after the object.

1120 Rem print verb$(i);" ";particip$;" ";

1130 HIT = HIT + 1

1140 GoTo 630

1150 Close #3

1160 MsgBox "hits:" & " " & HIT

1170 MsgBox "miss " & " " & MISS

1180 End

12. PASTTENSE (Fig 7,14). Visual Basic.

The first major model program is the Sentence program. Read all language input files created.

verbs

pro

tran

preposit

Compare word group relationships. Choose verb infinitive as a major index. Use graphics and view file windows in

program code.

PASTTENSE

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

Dim verbrecord As record

Sub language()

10 Dim pronoun$(80)

20 Dim HOLDNO(90)

30 Dim verb$(8)

40 Dim PRONCASE$(60)

45 Dim np(5), per1p$(5), sgplp$(5), case1p$(5), prp$(5)

46 Dim nnp(20), inf1p$(20), past1p$(5), englp$(20)

47 Dim casep$(80), prepp$(80), mean1p$(80)

50 msg$ = "c:\language\pasttense with .csv and lab\verbs"

response = MsgBox(msg$)

60 Dim CASENO(8)

70 SPACE20$ = Space$(20)

Page 9: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

52

80 SPACE30$ = Space$(30)

PASTTENSE

100 Dim inf$(80), past$(80), eng$(80)

110 Dim HOLDPREP$(90)

120 Dim HOLDCASE$(90), HOLDMEAN$(90)

160 lang$ = InputBox(prompt:="Language", Title:="Sentence")

170 If VERBFORM$ = "more" Then GoTo 3680

180 If VERBFORM$ = "view" Then GoTo 3680

190 msg$ = "pronouns"

200 filename$ = "c:\language\" + lang$ + "\pro.csv"

MsgBox (lang$ & " " & filename$)

250 Open filename$ For Input As #1

260 For NUMB = 1 To 2

270 For per = 1 To 5

280 If EOF(1) Then GoTo 820

290 Input #1, n, per1$, sgpl$, PR$, case1$

310 NOM = NOM + 1

320 pronoun$(NOM) = PR$

330 Rem PRONCASE$(NOM)=CASE$

340 PRONC$ = Mid$(case1$, 1, 3)

350 PRONCASE$(NOM) = PRONC$

np(per) = n

per1p$(per) = per1$

sgplp$(per) = sgpl$

case1p$(per) = case1$

prp$(per) = PR$

360 Next per

371 MsgBox (np(1) & " " & per1p$(1) & " " & sgplp$(1) & " " & case1p$(1) & " " & prp$(1)) & Chr(13) & (np(2)

& " " & per1p$(2) & " " & sgplp$(2) & " " & case1p$(2) & " " & prp$(2)) & Chr(13) & (np(3) & " " & per1p$(3) &

" " & sgplp$(3) & " " & case1p$(3) & " " & prp$(3)) & Chr(13) & (np(4) & " " & per1p$(4) & " " & sgplp$(4) & "

" & case1p$(4) & " " & prp$(4)) & Chr(13) & (np(5) & " " & per1p$(5) & " " & sgplp$(5) & " " & case1p$(5) & " "

& prp$(5)), Title:="Subject pronouns"

370 Next NUMB

380 ACC = NOM

390 For NUMB = 1 To 2

400 For per = 1 To 5

410 If EOF(1) Then GoTo 590

420 Input #1, n, per1$, sgpl$, PR$, case1$

np(per) = n

per1p$(per) = per1$

sgplp$(per) = sgpl$

case1p$(per) = case1$

prp$(per) = PR$

440 ACC = ACC + 1

450 pronoun$(ACC) = PR$

460 Rem PRONCASE$(ACC)=CASE$

470 PRONC$ = Mid$(case1$, 1, 3)

PASTTENSE

480 PRONCASE$(ACC) = PRONC$

Page 10: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

53

490 Next per

491 MsgBox (np(1) & " " & per1p$(1) & " " & sgplp$(1) & " " & case1p$(1) & " " & prp$(1)) & Chr(13) & (np(2)

& " " & per1p$(2) & " " & sgplp$(2) & " " & case1p$(2) & " " & prp$(2)) & Chr(13) & (np(3) & " " & per1p$(3) &

" " & sgplp$(3) & " " & case1p$(3) & " " & prp$(3)) & Chr(13) & (np(4) & " " & per1p$(4) & " " & sgplp$(4) & "

" & case1p$(4) & " " & prp$(4)) & Chr(13) & (np(5) & " " & per1p$(5) & " " & sgplp$(5) & " " & case1p$(5) & " "

& prp$(5)), Title:="Pronouns " & case1p$(5)

500 Next NUMB

510 GEN = ACC

540 For NUMB = 1 To 2

550 For per = 1 To 5

560 If EOF(1) Then GoTo 590

570 Input #1, n, per1$, sgpl$, PR$, case1$

np(per) = n

per1p$(per) = per1$

sgplp$(per) = sgpl$

case1p$(per) = case1$

prp$(per) = PR$

590 GEN = GEN + 1

600 pronoun$(GEN) = PR$

610 Rem PRONCASE$(GEN)=CASE$

620 PRONC$ = Mid$(case1$, 1, 3)

630 PRONCASE$(GEN) = PRONC$

640 Next per

MsgBox (np(1) & " " & per1p$(1) & " " & sgplp$(1) & " " & case1p$(1) & " " & prp$(1)) & Chr(13) & (np(2) & "

" & per1p$(2) & " " & sgplp$(2) & " " & case1p$(2) & " " & prp$(2)) & Chr(13) & (np(3) & " " & per1p$(3) & " "

& sgplp$(3) & " " & case1p$(3) & " " & prp$(3)) & Chr(13) & (np(4) & " " & per1p$(4) & " " & sgplp$(4) & " " &

case1p$(4) & " " & prp$(4)) & Chr(13) & (np(5) & " " & per1p$(5) & " " & sgplp$(5) & " " & case1p$(5) &

prp$(5)), Title:="Pronouns " & case1p$(5)

650 Next NUMB

660 REST = GEN

670 For ALLCASE = 1 To 3

680 For NUMB = 1 To 2

690 For per = 1 To 5

700 If EOF(1) Then GoTo 820

710 Input #1, n, per1$, sgpl$, PR$, case1$

730 REST = REST + 1

740 pronoun$(REST) = PR$

750 Rem PRONCASE$(REST)=CASE$

np(per) = n

per1p$(per) = per1$

sgplp$(per) = sgpl$

PASTTENSE

case1p$(per) = case1$

prp$(per) = PR$

760 PRONC$ = Mid$(case1$, 1, 3)

770 PRONCASE$(REST) = PRONC$

780 Next per

MsgBox (np(1) & " " & per1p$(1) & " " & sgplp$(1) & " " & case1p$(1) & " " & prp$(1)) & Chr(13) & (np(2) & "

" & per1p$(2) & " " & sgplp$(2) & " " & case1p$(2) & " " & prp$(2)) & Chr(13) & (np(3) & " " & per1p$(3) & " "

& sgplp$(3) & " " & case1p$(3) & " " & prp$(3)) & Chr(13) & (np(4) & " " & per1p$(4) & " " & sgplp$(4) & " " &

case1p$(4) & " " & prp$(4)) & Chr(13) & (np(5) & " " & per1p$(5) & " " & sgplp$(5) & " " & case1p$(5) & " " &

prp$(5)), Title:="pronouns " & case1p$(5)

790 Next NUMB

Page 11: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

54

800 Next ALLCASE

820 GoTo 840

830 GoTo 700

840 Close #1

850 MsgBox Title:="Open verb file?", prompt:="Open"

860 PAG$ = InputBox(prompt:="page", Title:="end pronouns")

880 FILENAME2$ = "c:\language\" + lang$ + "\trans.csv"

890 FILENAME3$ = "c:\basic\lab\" + lang$ + "\verbsr"

900 FILENAME5$ = "c:\language\" + lang$ + "\preposit.csv"

910 Open FILENAME2$ For Input As #2

920 If EOF(2) Then GoTo 1105

930 Input #2, NN, inf1$, past1$, eng1$

950 pge = pge + 1

960 If pge < 16 Then GoTo 1000

970 MsgBox inf$(verbnumb - 15) & Chr(13) & inf$(verbnumb - 14) & Chr(13) & inf$(verbnumb - 13) & Chr(13) &

inf$(verbnumb - 12) & Chr(13) & inf$(verbnumb - 11) & Chr(13) & inf$(verbnumb - 10) & Chr(13) &

inf$(verbnumb - 9) & Chr(13) & inf$(verbnumb - 8) & Chr(13) & inf$(verbnumb - 7) & Chr(13) & inf$(verbnumb -

6) & Chr(13) & inf$(verbnumb - 5) & Chr(13) & inf$(verbnumb - 4) & Chr(13) & inf$(verbnumb - 3) & Chr(13) &

inf$(verbnumb - 2) & Chr(13) & inf$(verbnumb - 1) & Chr(13) & inf$(verbnumb)

980 MsgBox eng$(verbnumb - 15) & Chr(13) & eng$(verbnumb - 14) & Chr(13) & eng$(verbnumb - 13) & Chr(13)

& eng$(verbnumb - 12) & Chr(13) & eng$(verbnumb - 11) & Chr(13) & eng$(verbnumb - 10) & Chr(13) &

eng$(verbnumb - 9) & Chr(13) & eng$(verbnumb - 8) & Chr(13) & eng$(verbnumb - 7) & Chr(13) &

eng$(verbnumb - 6) & Chr(13) & eng$(verbnumb - 5) & Chr(13) & eng$(verbnumb - 4) & Chr(13) &

eng$(verbnumb - 3) & Chr(13) & eng$(verbnumb - 2) & Chr(13) & eng$(verbnumb - 1) & Chr(13) &

eng$(verbnumb)

990 pge = 0

1000 verbnumb = verbnumb + 1

PASTTENSE

1010 For II = 1 To 14

1020 SPCK$ = Mid$(inf1$, II, 1)

1040 Next II

1050 LENINF = II - 1

1060 KEYMATCH$ = Mid$(inf1$, 1, LENINF)

1070 inf$(verbnumb) = KEYMATCH$

1080 past$(verbnumb) = past1$

1090 eng$(verbnumb) = eng1$

1100 GoTo 920

1105 MsgBox inf$(verbnumb - 15) & Chr(13) & inf$(verbnumb - 14) & Chr(13) & inf$(verbnumb - 13) & Chr(13)

& inf$(verbnumb - 12) & Chr(13) & inf$(verbnumb - 11) & Chr(13) & inf$(verbnumb - 10) & Chr(13) &

inf$(verbnumb - 9) & Chr(13) & inf$(verbnumb - 8) & Chr(13) & inf$(verbnumb - 7) & Chr(13) & inf$(verbnumb -

6) & Chr(13) & inf$(verbnumb - 5) & Chr(13) & inf$(verbnumb - 4) & Chr(13) & inf$(verbnumb - 3) & Chr(13) &

inf$(verbnumb - 2) & Chr(13) & inf$(verbnumb - 1) & Chr(13) & inf$(verbnumb)

1110 Close #2

1120 Open FILENAME5$ For Input As #5

1140 If EOF(5) Then GoTo 1455

1150 Input #5, case1$, prep$, MEAN$

1170 prep1 = prep1 + 1

1180 If case1$ = CASEHOLD$ Then GoTo 1320

1190 CASEDETERMINE = CASEDETERMINE + 1

1200 On CASEDETERMINE GoTo 1210, 1230, 1250, 1270, 1290, 1460

Page 12: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

55

1210 CASENO(CASEDETERMINE) = prep1

1220 GoTo 1310

1230 CASENO(CASEDETERNINE) = prep1

1240 GoTo 1310

1250 CASENO(CASEDETERMINE) = prep1

1260 GoTo 1310

1270 CASENO(CASEDETERMINE) = prep1

1280 GoTo 1310

1290 CASENO(CASEDETERMINE) = prep1

1300 GoTo 1310

1310 CASEHOLD$ = case1$

1320 HOLDPREP$(prep1) = prep$

1330 HOLDNO(prep1) = CASEDETERMINE

1360 HOLDCASE$(prep1) = case1$

1370 HOLDMEAN$(prep1) = MEAN$

1380 pge = pge + 1

casep$(pge) = case1$

prepp$(pge) = prep$

mean1p$(pge) = mean1$

1390 If pge < 16 Then GoTo 1450

1400 pge = 0

PASTTENSE

MsgBox (casep$(1) & " " & prepp$(1) & " " & mean1p$(1) & Chr(13) & casep$(2) & " " & prepp$(2) & " " &

mean1p$(2) & Chr(13) & casep$(3) & " " & prepp$(3) & " " & mean1p$(3) & Chr(13) & casep$(4) & " " &

prepp$(4) & " " & mean1p$(4) & Chr(13) & casep$(4) & " " & prepp$(4) & " " & mean1p$(5) & Chr(13) &

casep$(6) & " " & prepp$(6) & " " & mean1p$(6) & Chr(13) & casep$(7) & " " & prepp$(7) & " " & mean1p$(7) &

Chr(13) & casep$(8) & " " & prepp$(8) & " " & mean1p$(8) & Chr(13) & casep$(9) & " " & prepp$(9) & " " &

mean1p$(9) & Chr(13) & casep$(10) & " " & prepp$(10) & " " & mean1p$(10) & Chr(13) & casep$(11) & " " &

prepp$(11) & " " & mean1p$(11) & Chr(13) & casep$(12) & " " & prepp$(12) & " " & mean1p$(12) & Chr(13) &

casep$(13) & " " & prepp$(13) & " " & mean1p$(13) & Chr(13) & casep$(14) & " " & prepp$(14) & " " &

mean1p$(14) & Chr(13) & casep$(15) & " " & prepp$(15) & " " & mean1p$(15) & Chr(13) & casep(16) & " " &

prepp$(16) & " " & mean1p$(16))

For Clear = 1 To 16

casep$(Clear) = " "

prepp$(Clear) = " "

mean1p$(Clear) = " "

Next Clear

1450 GoTo 1140

1455 MsgBox (casep$(1) & " " & prepp$(1) & " " & mean1p$(1) & Chr(13) & casep$(2) & " " & prepp$(2) & " "

& mean1p$(2) & Chr(13) & casep$(3) & " " & prepp$(3) & " " & mean1p$(3) & Chr(13) & casep$(4) & " " &

prepp$(4) & " " & mean1p$(4) & Chr(13) & casep$(4) & " " & prepp$(4) & " " & mean1p$(5) & Chr(13) &

casep$(6) & " " & prepp$(6) & " " & mean1p$(6) & Chr(13) & casep$(7) & " " & prepp$(7) & " " & mean1p$(7) &

Chr(13) & casep$(8) & " " & prepp$(8) & " " & mean1p$(8) & Chr(13) & casep$(9) & " " & prepp$(9) & " " &

mean1p$(9) & Chr(13) & casep$(10) & " " & prepp$(10) & " " & mean1p$(10) & Chr(13) & casep$(11) & " " &

prepp$(11) & " " & mean1p$(11) & Chr(13) & casep$(12) & " " & prepp$(12) & " " & mean1p$(12) & Chr(13) &

casep$(13) & " " & prepp$(13) & " " & mean1p$(13) & Chr(13) & casep$(14) & " " & prepp$(14) & " " &

mean1p$(14) & Chr(13) & casep$(15) & " " & prepp$(15) & " " & mean1p$(15) & Chr(13) & casep(16) & " " &

prepp$(16) & " " & mean1p$(16))

1460 CASEDETERMINE = CASEDETERMINE + 1

1480 CASENO(CASEDETERMINE) = prep1

Page 13: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

56

1490 Close #5

1510 Open FILENAME3$ For Random As #3 Len = 122

Relative File. Open verbs relative files to search.

1530 X = 1

1540 Y = 7

1570 MsgBox LAN$ & " " & FILENAME3$

1600 SENTENCECASE$ = ""

PASTTENSE

1610 Color = 13

1620 X = 15

1630 Y = 10

1710 subj$ = InputBox(prompt:="Enter subject:", Title:=" Exercise")

1720 For s = 1 To 10

1730 If subj$ = pronoun$(s) Then GoTo 1800

1740 Next s

1780 MsgBox "test"

1790 GoTo 1610

1800 X = 16

1810 If s = 10 Then GoTo 1925

1820 Y = 10

1830 If s = 1 Then GoTo 1920

1840 If s = 2 Then GoTo 1921

1850 If s = 3 Then GoTo 1922

1860 If s = 4 Then GoTo 1922

1870 If s = 5 Then GoTo 1922

1880 If s = 6 Then GoTo 1923

1890 If s = 7 Then GoTo 1924

1900 If s = 8 Then GoTo 1925

1910 If s = 9 Then GoTo 1925

1920 per = 1

GoTo 1950

1921 per = 2

GoTo 1950

1922 per = 3

GoTo 1950

1923 per = 4

GoTo 1950

1924 per = 5

GoTo 1950

1925 per = 6

1950 VERBFORM$ = InputBox(prompt:="enter verb")

1960 If VERBFORM$ = "end" Then GoTo 3580

1970 If VERBFORM$ = "view" Then GoTo 3620

1980 For VE = 1 To 80

Count. Compare up to eighty verb file records.

1990 If inf$(VE) = VERBFORM$ Then GoTo 2090

2000 Next VE

2060 MsgBox "miss: " & VERBFORM$

2070 MISS = MISS + 1

2080 GoTo 1800

2090 X = 7 + SENTENCE2

2100 Y = 1

Page 14: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

57

2140 MsgBox eng$(VE), Title:="Eng"

2150 X = 9

2160 Y = 1

PASTTENSE

2170 GoTo 2210

2180 X = 11

2190 Y = 1

2210 sentencepreposition$ = InputBox(prompt:="enter preposition:")

2220 If Len(sentencepreposition$) = 0 Then GoTo 2700

Preposition. Enter preposition to compare with lists. Zero length indicates direct object instead of preposition

object.

2230 If sentencepreposition$ = "inf" Then GoTo 2620

2240 If sentencepreposition$ = "view" Then GoTo 4100

2250 For SP = 1 To prep1

2260 If sentencepreposition$ = HOLDPREP$(SP) Then GoTo 2280

2270 GoTo 2330

2280 PREPCNT = PREPCNT + 1

2290 X = 10

2300 Y = 6 + PREPCNT

2320 MsgBox HOLDCASE$(SP) & " " & HOLD & " " & HOLDMEAN$(SP) & " " & HOLDNO(SP)

2330 Next SP

2340 If PREPCNT > 0 Then GoTo 2410

2350 X = 3

2360 Y = 2

2380 MsgBox "miss preposition:" & sentencepreposition$

2390 MISSPREP = MISSPREP + 1

2400 GoTo 2180

2410 X = 17

2420 Y = 10

2440 If HOLDCASE$(SP) = "acc" Then GoTo 3020

2450 If lang$ = "french" Then GoTo 3020

2460 If lang$ = "english" Then GoTo 3020

2470 If lang$ = "spanish" Then GoTo 3020

2480 SENTENCECASE$ = InputBox(prompt:="enter case:")

Preposition. Some prepositions can take more than one case.

2490 GoTo 2930

2500 X = 18

2510 Y = 10

2550 obj$ = InputBox(prompt:="enter preposition obj: ")

2560 X = 18

2570 Y = 10

2610 GoTo 2780

2620 INFIN$ = InputBox(prompt = "enter infinitive")

2630 If INFIN$ = "view" Then GoTo 3620

2640 For v = 1 To 80

2650 If inf$(v) = INFIN$ Then GoTo 2681

2660 Next v

2670 MsgBox "miss infinitive"

2680 GoTo 3020

2681 sentencepreposition$ = "to " + eng$(v)

PASTTENSE

2682 GoTo 3020

Page 15: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

58

2690 SENTENCECASE$ = "acc"

2700 obj$ = InputBox(prompt:="enter obj:")

2710 BEGIN = 11

2720 GoTo 2780

2740 obj$ = InputBox(prompt:="enter pos obj")

2750 BEGIN = 21

2780 SENTENCECASE$ = ""

2790 If obj$ = "view" Then GoTo 3840

2800 For I = BEGIN To BEGIN + 9

2810 If obj$ = pronoun$(I) Then GoTo 3120

2820 Next I

2830 X = 3

2840 Y = 10

2860 MsgBox "miss " & " " & obj$ & " try again"

2870 obj$ = InputBox(prompt:="enter pronoun objective ")

2880 GoTo 2790

2900 MsgBox "pronoun obj miss: " & obj$

2910 MISSOBJ = MISSOBJ + 1

2920 GoTo 1620

2930 If SENTENCECASE$ = PRONCASE$(1) Then GoTo 3000

2940 If SENTENCECASE$ = PRONCASE$(11) Then GoTo 3020

2950 If SENTENCECASE$ = PRONCASE$(21) Then GoTo 3040

2960 If SENTENCECASE$ = PRONCASE$(31) Then GoTo 3060

2970 If SENTENCECASE$ = PRONCASE$(41) Then GoTo 3080

2980 If SENTENCECASE$ = PRONCASE$(51) Then GoTo 3100

2990 GoTo 2500

3000 BEGIN = 1

3010 GoTo 2500

3020 BEGIN = 11

3030 GoTo 2500

3040 BEGIN = 21

3050 GoTo 2500

3060 BEGIN = 31

3070 GoTo 2500

3080 BEGIN = 41

3090 GoTo 2500

3100 BEGIN = 51

3110 GoTo 2500

3120 X = 20 + SENTENCE2

3130 Y = 3

3170 MsgBox subj$, Title:="exercise"

3180 X = 20 + SENTENCE2

3190 Y = 10

3210 per = per + 1

3220 s = per

3230 Get #3, VE, verbrecord

PASTTENSE

3240 If EOF(3) Then GoTo 3600

verb1$ = verbrecord.v1

verb2$ = verbrecord.v2

verb3$ = verbrecord.v3

verb4$ = verbrecord.v4

Page 16: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

59

verb5$ = verbrecord.v5

verb6$ = verbrecord.v6

verb7$ = verbrecord.v7

verb8$ = verbrecord.v8

3250 verb$(1) = verb1$

3260 verb$(2) = verb2$

3270 verb$(3) = verb3$

3280 verb$(4) = verb4$

3290 verb$(5) = verb5$

3300 verb$(6) = verb6$

3310 verb$(7) = verb7$

3320 verb$(8) = verb8$

3330 MsgBox subj$ & " " & verb$(s) & " ", Title:="verb conjugated"

3350 If Len(sentencepreposition$) = 0 Then GoTo 3490

3360 Y = 18

3370 X = 20 + SENTENCE2

3390 MsgBox subj$ & " " & verb$(s) & " " & sentencepreposition$ & " " & Chr(13) & "2. " & subjsent$ & " " &

verbsent$ & " " & prepsent$ & " " & objsent$

3400 I = 1

3410 For OB = BEGIN To BEGIN + 10

3420 If obj$ = pronoun$(OB) Then GoTo 3490

3430 Next OB

3440 X = 3

3450 Y = 2

3470 MsgBox msg$ = "miss obj"

3480 GoTo 3840

3490 SENTENCE2 = SENTENCE2 + 1

3500 MsgBox subj$ & " " & verb$(s) & " " & sentencepreposition$ & " " & obj$

subjsent$ = subj$

verbsent$ = verb$(s)

prepsent$ = sentencepreposition$

objsent$ = obj$

3511 s = 0

3510 HIT = HIT + 1

3520 If SENTENCE2 > 1 Then GoTo 3550

3530 holdcnt = 0

3540 GoTo 1600

3550 SENTENCE2 = 0

3570 GoTo 1600

3580 Close #3

PASTTENSE

3590 MsgBox "hits: " & HIT

3600 MsgBox "miss " & MISS

3610 End

3620 Y = 25

3630 X = 5

3680 For v = 1 To 5

3690 holdcnt = holdcnt + 1

3700 X = 5 + v

3710 Y = 25

3740 Next v

3750 MsgBox holdcnt & " " & inf$(holdcnt) & " " & inf$(holdcnt - 4) & " " & inf$(holdcnt - 3) & " " &

inf$(holdcnt - 2) & " " & inf$(holdcnt - 1)

Page 17: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

60

X = 11

3760 Y = 25

3780 If holdcnt >= verbnumb Then GoTo 3810

3790 YES$ = InputBox(prompt:=" enter ok ")

3800 If YES$ = "" Then GoTo 3680

3810 holdcnt = 0

3830 GoTo 1800

3840 X = 5

3850 Y = 25

3900 For v = 1 To 5

3910 holdcnt = holdcnt + 1

3920 X = 5 + v

3930 Y = 25

3960 Next v

3961 MsgBox PRONCASE$(holdcnt - 4) & " " & pronoun$(holdcnt - 4) & Chr(13) & PRONCASE$(holdcnt - 3) &

" " & pronoun$(holdcnt - 3) & Chr(13) & PRONCASE$(holdcnt - 2) & " " & pronoun$(holdcnt - 2) & Chr(13) &

PRONCASE$(holdcnt - 1) & " " & pronoun$(holdcnt - 1) & Chr(13) & PRONCASE$(holdcnt) & " " &

pronoun$(holdcnt), Title:="pronon case"

3970 X = 11

3980 Y = 25

4000 If holdcnt = 60 Then GoTo 4030

4010 NO$ = InputBox(prompt:=" enter ok ")

4020 If NO$ <> "ok" Then GoTo 3900

4030 holdcnt = 0

4050 X = 18

4060 Y = 10

4080 obj$ = InputBox(prompt:="pronoun object:")

4090 GoTo 2790

4100 Y = 25

4110 X = 5

4160 For v = 1 To 5

4170 holdcnt = holdcnt + 1

PASTTENSE

4180 X = 5 + v

4190 Y = 25

4200 Next v

4210 MsgBox HOLDCASE$(holdcnt - 4) & " " & HOLDPREP$(holdcnt - 4) & Chr(13) & HOLDCASE$(holdcnt -

3) & " " & HOLDPREP$(holdcnt - 3) & Chr(13) & HOLDCASE$(holdcnt - 2) & " " & HOLDPREP$(holdcnt - 2)

& Chr(13) & HOLDCASE$(holdcnt - 1) & " " & HOLDPREP$(holdcnt - 1) & Chr(13) & HOLDCASE$(holdcnt) &

" " & HOLDPREP$(holdcnt)

4230 X = 11

4240 Y = 25

4260 If holdcnt >= 90 Then GoTo 4290

4270 YES$ = InputBox(prompt:="enter ok:")

4280 If YES$ = "" Then GoTo 4100

4290 holdcnt = 0

4310 GoTo 2180

End Sub

Modify Models. Change programs as necessary. Copy new versions to disk for any language.

Page 18: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

61

DOCUMENT PROGRAMS AND DATA.

Call Word Processors from hard drives. Create batch files. SAVE Word Processor batch files on floppy disk.

BASIC PROGRAMS CREATE INPUT FILES FOR MODELS.

Build verb files. Introduce students to verb conjugation programs. Foreign spelling may cause data entered to be in

error. Detect errors on files. Update files for models. All language system programs can be in Basic. Correct relative

verb files without software. Update with a mouse (in Gwbasic). Update verbs with accent marks.

13. UPDAVERB - BASIC. Converting to Visual Basic.

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

UPDAVERB

Sub update()

Dim verbrecord As record

5 Dim inf$(50), pronounsg$(10), pronounpl$(10), holdverb$(10), verb$(8)

20 MsgBox Title:="updaverb ", prompt:="Update verb file"

50 LANG$ = InputBox(Title:="file: ", prompt:="Enter language ")

70 FILENAME$ = "C:\book\" + LANG$ + "\pronouns"

80 Open FILENAME$ For Input As #1

Pronouns. Open pronoun files. Read into memory.

90 If EOF(1) Then GoTo 210

100 Input #1, N, PER$, SINGPL$, PRONOUN$

110 MsgBox Title:="Pronoun", prompt:=N & " " & PER$ & " " & SINGPL$ & " " & PRONOUN$

120 I = I + 1

130 If I > 10 Then GoTo 210

140 If I > 5 Then GoTo 170

150 pronounsg$(I) = PRONOUN$

160 GoTo 190

170 JIN = JIN + 1

180 pronounpl$(JIN) = PRONOUN$

190 GoTo 90

200 J = 1

210 Close #1

211 FILENAME3$ = "C:\book\" + LANG$ + "\tran"

212 Open FILENAME3$ For Input As #3

213 If EOF(3) Then GoTo 219

214 Input #3, nu, infin$, past$, eng$

MsgBox prompt:=infin$

215 cat = cat + 1

216 inf$(cat) = infin$

217 GoTo 213

219 Close #3

Page 19: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

62

220 FILENAME2$ = "C:\book\" + LANG$ + "\VERBS"

Open verb Files. Retrieve only verbs to be updated.

230 Open FILENAME2$ For Random As #2 Len = 122

250 Y = 13

260 X = 5

280 SP$ = Space$(40)

290 cor$ = InputBox("Correction: ", Title:="Update verb")

291 For C = 1 To 50

If cor$ = "end" Then GoTo 1260

292 If cor$ = inf$(C) Then GoTo 330

293 Next C

295 GoTo 290

300 For I = 1 To 5

320 Next I

330 J = C

340 Y = 14

350 X = 5

UPDAVERB

370 If EOF(2) Then GoTo 1260

380 Get #2, J, verbrecord

390 MsgBox Len(verbrecord.v1) & " " & Len(verbrecord.v2) & " " & Len(verbrecord.v3) & " " &

Len(verbrecord.v4)

410 MsgBox "prompt:=Enter infinitive:", Title:=verbrecord.v1

430 infit$ = InputBox("inf")

440 If infit$ = "end" Then GoTo 1260

450 If Len(infit$) = 0 Then GoTo 550

460 CNT = CNT + 1

470 holdverb$(1) = infit$

510 GoTo 560

550 holdverb$(1) = verbrecord.v1

560 v = 1

570 For I = 1 To 3

580 v = v + 1

640 verb$(2) = verbrecord.v2

650 verb$(3) = verbrecord.v3

660 verb$(4) = verbrecord.v4

710 VB$ = InputBox(" Enter new verb form:" & Chr(13) & "or use enter key ", prompt:=pronounsg$(I) & " " &

verb$(v))

720 If Len(VB$) = 0 Then GoTo 760

730 CNTSG = CNTSG + 1

740 holdverb$(v) = VB$

750 GoTo 770

760 holdverb$(v) = verb$(v)

770 Next I

810 For I = 1 To 3

820 v = v + 1

830 verb$(5) = verbrecord.v5

840 verb$(6) = verbrecord.v6

850 verb$(7) = verbrecord.v7

940 VB$ = InputBox(prompt:="Enter new verb form:" & Chr(13) & "or use enter key", Title:=pronounpl$(I) & " "

& verb$(v))

950 If Len(VB$) = 0 Then GoTo 990

Page 20: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

63

960 CNTPL = CNTPL + 1

970 holdverb$(v) = VB$

980 GoTo 1000

990 holdverb$(v) = verb$(v)

1000 Next I

1070 VB$ = InputBox(prompt:="enter aspect: " & verbrecord.v8, Title:=" past: ")

1080 If Len(VB$) = 0 Then GoTo 1120

1090 CNTPA = CNTPA + 1

1100 holdverb$(8) = VB$

1110 GoTo 1210

1120 holdverb$(8) = verbrecord.v8

UPDAVERB

1210 MsgBox Len(verbrecord.v1) & " " & Len(verbrecord.v2) & " " & Len(verbrecord.v3) & " " &

Len(verbrecord.v4) & " " & Len(verbrecord.v5) & " " & Len(verbrecord.v6) & " " & Len(verbrecord.v7) & " " &

Len(verbrecord.v8) & " j ", J

verbrecord.v1 = holdverb$(1)

verbrecord.v2 = holdverb$(2)

verbrecord.v3 = holdverb$(3)

verbrecord.v4 = holdverb$(4)

verbrecord.v5 = holdverb$(5)

verbrecord.v6 = holdverb$(6)

verbrecord.v7 = holdverb$(7)

verbrecord.v8 = holdverb$(8)

1220 Put #2, J, verbrecord

1230 v = 0

1240 MsgBox holdverb$(1) & " " & holdverb$(7) & " " & holdverb$(8) & " " & J

Random File. Put each field in a random file buffer. Put updated records on file.

1250 GoTo 250

1260 Close #2

1270 MsgBox " inf "

1280 MsgBox "count " & CNT

1290 End

End Sub

SOFTWARE TO CREATE INPUT FILES FOR BASIC MODELS.

Call software from hard drives.

CONVERT DATABASE FILES TO DATA FILES FOR BASIC PROGRAM MODELS.

Convert Excel Spreadsheet to (.csv) files. Convert Alphaworks Database DIF (.dbf) files to ASC files.

Select Database Software. Create data input files.

Create one database numbers list file. MODIFY database files. Add additional data item fields. Choose one

database file to create another database file for the model.

EXPORT. Convert to input files. Delete the first ten Database header records by Edlin.

RETRIEVE APPENDIX document programs. EXPORT. RUN programs from Part II #13 to list files. Files

correctly opened in program 13a. 13b. and 13c are accepted by models. Review data files.

The model file format is the same as in programs to list files. Files in this format can be read by models, stored

in DIMension statements and compared.

Page 21: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

64

Create other files for Basic model programs.

DATABASE BASIC LIST. Visual Basic Programs.

Build word files. Create and store word lists, such as numbers for counting in Chapter 4.

LIST PRONOUN. 13a.

LIST PRONOUN. List pronouns. Visual Basic.

Sub listpro()

Dim np(10), perp$(10), nosp$(10), pronounp$(10), case1p$(10)

10 MsgBox prompt:="List pronoun groups", Title:=" Book"

30 lang$ = InputBox(prompt:="language:")

40 PRON$ = InputBox(prompt:="pro:")

60 MsgBox prompt:=("c\language\" & lang$ & "\" & PRON$)

filename$ = "c:\language\" + lang$ & "\" + PRON$ + ".csv"

70 Open filename$ For Input As #2

80 If EOF(2) Then GoTo 170

90 Input #2, n, per$, nos$, pronoun$, case1$

cnt = cnt + 1

cnt1 = cnt1 + 1

np(cnt) = n

perp$(cnt) = per$

nosp$(cnt) = nos$

pronounp$(cnt) = pronoun$

case1p$(cnt) = case1$

110 PAGE = PAGE + 1

130 If PAGE < 10 Then GoTo 80

MsgBox prompt:=(np(1) & " " & perp$(1) & " " & nosp$(1) & " " & pronounp$(1) & " ") & " " & ((np(6) & " " &

perp$(6) & " " & nosp$(6) & " " & pronounp$(6) & " ") & " ") & (Chr$(13)) & ((np(1) & " " & perp$(2) & " " &

nosp$(2) & " " & pronounp$(2) & " " & " ") & ((np(7) & " " & perp$(7) & " " & nosp$(7) & " " & pronounp$(7)))),

Title:=case1p$(7) & " First and Sec"

MsgBox prompt:=(np(1) & " " & perp$(3) & " " & nosp$(3) & " " & pronounp$(3) & " ") & " " & ((np(8) & " " &

perp$(8) & " " & nosp$(8) & " " & pronounp$(8) & " ") & " ") & (Chr$(13)) & ((np(1) & " " & perp$(4) & " " &

nosp$(4) & " " & pronounp$(4) & " " & " ") & ((np(9) & " " & perp$(9) & " " & nosp$(9) & " " & pronounp$(9)) &

Chr$(13) & np(1) & " " & perp$(5) & " " & nosp$(5) & " " & pronounp$(5) & " ") & " " & ((np(10) & " " &

perp$(10) & " " & nosp$(10) & " " & pronounp$(10)))), Title:=case1p$(9) & " Third"

G$ = InputBox(prompt:="next group")

150 PAGE = 0

cnt = 0

160 GoTo 80

170 MsgBox prompt:=("count " & cnt1)

180 Close #2

190 End

End Sub

List Prepositions. RUN the second Basic program (13b). This program is useful to review prepositions.

13b. LIST PREPOSITIONS. Review categories.

13b. LIST PREPOSITIONS

Sub listprep()

10 Dim CA1$(100), PR1$(100), ME1$(100)

30 lang$ = InputBox(prompt:="enter language", Title:="list prepositions")

40 filename$ = "c:\language\" + lang$ + "\preposit" + ".csv"

50 MsgBox filename$

60 Open filename$ For Input As #3

Page 22: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

65

70 If EOF(3) Then GoTo 150

80 Input #3, case1$, prep$, MEANING$

90 Index = Index + 1

100 CA1$(Index) = case1$

110 PR1$(Index) = prep$

120 ME1$(Index) = MEANING$

130 MsgBox Title:=CA1$(Index), prompt:=PR1$(Index) & " : " & ME1$(Index)

140 GoTo 70

150 Close #3

180 MsgBox prompt:=filename$, Title:="Prep"

210 MsgBox "number :" & Index

220 GoTo 620

270 Y = 4

280 X = 6

300 PREPOSITION$ = InputBox(prompt:="Enter preposition ")

320 If PREPOSITION$ = "end" Then GoTo 600

330 For I = 1 To Index

340 If PREPOSITION$ = PR1$(I) Then GoTo 420

350 Next I

360 Y = 6

370 X = 6

390 MsgBox "miss "

400 GoTo 620

420 Y = 5

430 X = 6

450 MsgBox "case :" & " preposition :" & Chr(13) & CA1$(I) & " " & PR1$(I) & Chr(13) & ME1$(I) & Chr(13) &

PREPOSITION$ & " "

580 GoTo 620

600 End

620 Y = 9

630 X = 2

650 For v = 1 To Index Step 10

13b. LIST PREPOSITIONS

660 MsgBox PR1$(v) & Chr(13) & PR1$(v + 1) & Chr(13) + PR1$(v + 2) & PR1$(v + 3) & Chr(13) & PR1$(v +

4) & Chr(13) & PR1$(v + 5) & Chr(13) & PR1$(v + 6) & Chr(13) + PR1$(v + 7) & PR1$(v + 8) & Chr(13) &

PR1$(v + 9)

670 Next v

680 Y = 1

690 X = 20

700 MsgBox Buttons:=vbInformation, prompt:=filename$

720 GoTo 270

End Sub

13c. VERBLIS. List verbs in lessons for models with the third program (13c).

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

Page 23: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

66

Dim verbrecord As record

Sub verblist()

10 MsgBox "list random file", Title:="verblis "

30 Dim verb$(8)

lang$ = InputBox(prompt:="ENTER: Language ")

44 TENSE$ = InputBox(prompt:="ENTER: past or verbs:", Title:="Language Verbs")

50 filename$ = "c:\basic\lab\" + lang$ + "\" + TENSE$

60 Open filename$ For Random As #2 Len = 122

80 MsgBox prompt:=("infin" & "1st per " & "2nd per " & "3rd per" & "past "), Title:=lang$

100 J = J + 1

101 If EOF(2) Then GoTo 280

110 Get #2, J, verbrecord

v1$ = verbrecord.v1

v2$ = verbrecord.v2

v3$ = verbrecord.v3

v4$ = verbrecord.v4

v5$ = verbrecord.v5

v6$ = verbrecord.v6

v7$ = verbrecord.v7

v8$ = verbrecord.v8

13b. LIST PREPOSITIONS

140 MsgBox Title:=lang$, prompt:=(v1$ & " " & v2$ & " " & v3$ & " " & v4$) & " " & (v5$ & " " & v6$ & " " &

v7$ & " " & v8$)

180 X = X + 1

190 If X < 10 Then GoTo 100

200 X = 0

210 ED$ = InputBox(prompt:="next page?")

220 MsgBox Title:=lang$, prompt:=("infin " & "1st per " & "2nd per " & "3rd per " & "past")

250 If ED$ = "999" Then GoTo 290

260 GoTo 100

280 MsgBox prompt:="cnt " & J - 1

290 Close #2

300 End

End Sub

13d. CONVERT DATABASE TO RELATIVE BASIC DATA FILE.

1. Convert relative files to sequential files for Database updates (13d).

2. Select Database to create past verb files.

3. Convert database files to relative files for language models to choose past tenses. Use print # in line 170 for

Excel. Select OPEN and PARSE.

LISTDATA

10 PRINT "list random file"

20 PRINT "listdata"

30 PRINT "enter language";

40 INPUT LANG$

44 INPUT "ENTER: past or verbs:",TENSE$

50 FILENAME$="\laboratory\"+LANG$+"\"+TENSE$

59 OPEN "o",#1,FILENAME$+".dat"

Page 24: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

67

60 OPEN "r",#2,FILENAME$

61 FIELD #2, 14 AS V1$, 14 AS V2$, 14 AS V3$, 14 AS V4$, 14 AS V5$, 14 AS V6$, 14 AS V7$, 14 AS V8$

70 PRINT TAB(38) LANG$

80 PRINT TAB(2) "infin","1st per","2nd per","3rd per","past"

90 PRINT SPACE$(20)

100 J=J+1

101 IF EOF(2 ) THEN 270

110 GET#2,J

140 PRINT J;

150 PRINT V1$;V2$; V3$;V4$

160 PRINT TAB(15) V5$;V6$;V7$;V8$

170 WRITE #1,V1$,V2$,V3$,V4$,V5$,V6$,V7$,V8$

180 X=X+1

190 IF X<10 THEN 100

LISTDATA

200 X=0

210 INPUT "next page?",ED$

220 PRINT TAB(38) LANG$

230 PRINT TAB(2) "infin","1st per","2nd per","3rd per","past"

240 PRINT SPACE$(20)

250 IF ED$="999" THEN 290

260 GOTO 100

270 PRINT

280 PRINT "cnt ",J-1290 CLOSE #2

291 CLOSE #1

300 END

13e. CONVERT BASIC DATA FILES TO RANDOM FILES CONVDATA.

1. Sequential File. Convert special service data files to text files (13e). Text files are sequential files.

2. Relative File. Convert data files to random files. Add a record key.

CONVDATA

Type record

v1 As String * 14

v2 As String * 14

v3 As String * 14

v4 As String * 14

v5 As String * 14

v6 As String * 14

v7 As String * 14

v8 As String * 14

End Type

Dim verbrecord As record

Sub convert()

MsgBox prompt:="convert database", Buttons:=vbExclamation

Dim verb$(8)

Dim verbvb$

Dim id

20 lang$ = InputBox(prompt:="enter language:", Title:="Sentence")

30 past$ = InputBox(prompt:="enter past or verbs", Title:="Verb File")

40 filename$ = "c:\language\" + lang$ + "\" + past$ + ".csv"

Page 25: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

68

50 FILENAME2$ = "c:\basic\lab\" + lang$ + "\" + past$

60 Open FILENAME2$ For Random As #2 Len = 122

80 Open filename$ For Input As #1

90 If EOF(1) Then GoTo 240

100 Input #1, v1$, v2$, v3$, v4$, v5$, v6$, v7$, v8$

110 cnt = cnt + 1

120 MsgBox (cnt & " " & v1$ & " " & v2$ & " " & v3$ & " " & v4$) & (" " & v5$ & " " & v6$ & " " & v7$ & " "

& v8$)

CONVDATA

140 LSet verb$(1) = v1$

150 LSet verb$(2) = v2$

160 LSet verb$(3) = v3$

170 LSet verb$(4) = v4$

180 LSet verb$(5) = v5$

190 LSet verb$(6) = v6$

200 LSet verb$(7) = v7$

210 LSet verb$(8) = v8$

verbrecord.v1 = v1$

verbrecord.v2 = v2$

verbrecord.v3 = v3$

verbrecord.v4 = v4$

verbrecord.v5 = v5$

verbrecord.v6 = v6$

verbrecord.v7 = v7$

verbrecord.v8 = v8$

MsgBox verbrecord.v1 & " " & v1$ & " " & verbrecord.v8

220 Put #2, cnt, verbrecord

230 GoTo 90

240 Close #1

250 Close #2

260 MsgBox prompt:="count " & " " & cnt

270 MsgBox FILENAME2$, Title:=" For Sentence Model"

280 End

End Sub

Alphaworks Database. Create, update record TABLES and FORMS, prints FORMS to disk for documentation and

convert files to sequential files with comma delimiters for program models.

Excel 7 Spreadsheets.

Use Dialogue boxes,

SAVE AS comma separated variable (.csv).

Visual Basic MODULES. Change input or output statements to:

OPEN " " for output as #1

4. Use Debug.print to print screen output.

Page 26: PART II. INTERACTIVE FOREIGN LANGUAGE MODELS.dstasik/Appendix/II/Part ii.pdf · PART II. INTERACTIVE FOREIGN LANGUAGE MODELS. RUN Responsive Basic Program Models (See Lang Lab. Show

Appendix Language Model Programs

44