Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-04 - 43,50334/gnotop.exe
There are no other files named gnotop.exe in the archive.
?p?xO:~:9Kb)+<]`INXQF:{A)+={BE@ ,/y
67,>,>,>60,>61-=60,7F<L60,B<@60+b,7F<L6+^ 6 /6 ,~,7t<LQ`\`,7F<L6,6l>
6,`h6,>,>,>60,>61-=60,7F<L60,7;<L 61v+m,B<@60 6 V6+@h4@q,7F<L6
+r,7F<L6,7F<L,7;<L,87<L`+hO%J7J-=w<@-=+O%i<i2Mi--=h-=| 6 .6 V6 @vh7@6D+ 6 Vh+:h0v+,7-<L` h $67 h-=v+,7-<L` h1vgO Vh@v6? 6 Vh+:h0vB+'+Y>~@-=h-=,7-<L` h $6, h-=v h2V6+ h1V+Ov6? h2V6+ +, h2V6+',75<L` h0V+%+ h.6 Vh+,+,K<@`5+,_W# -=h-=* h/6 V6 $6, "-=$2D6+2+7@h+6,K<@`5z+97@6?+9,K<@`5t 61v+] 6/6 V6,87<L`7@6D+F,6l>
67,>,>,>60,>61-=60,7F<L60,B<@60+N,7F<L6+J 6 /6 ,~,7t<LQ`H`,7F<L6,6l>
6,`h6,>,>,>60,>61-=60,7F<L60,7;<L61v+Y,B<@6060V+\,7F<L5l,87<L`6$6,6"-=$3D6+a+",^<P`6'5j-=0@+,!<P,o>,>,>,>66,>67-=66,*<P66,71l660`+p,K<@d5b6V6"+r:6"2v6"+x6"..68X66-=0@+w+~+q,K<@d5Y++~M?-i0d=gO,>+@h h-=$1$0gOAx/4DC+@h h-=$/$,>+@h h-= xt/+Y 60V+Y+@h h-=$2D6#+K,>6%+@h h-= xr/+Y+@h h-=$2D6$+R,>6%+@h h-= xr/+Y+@h h-=$2D6$+Y,>6&+@h h-= xr/+.>o,^o>`K+hO$;wiJ}LzCK -=[<@z+deX:4-=h-=a,B<@6',6l>
6,`x,>,>,>6',>6(-=6',*<@6' h0V+m6'5P-=0@+r+m6'5O-=0@+u+m6'5M-=0@+x+m6'5L-=0@+{+m6'5J-=0@+~+m6'5I-=0@++m6'5G-=0@++m6'5F-=0@++m6'5D-=0@+
+m6'5C-=0@++m6'5@-=0@++m6'5>-=0@++m6'5=-=0@++m6'5;-=0@++m6'5:-=0@++m6'58-=0@+"+m6'57-=0@+%+m6'55-=0@+(+m6'54-=0@+++m6'52-=0@+.+m6'51-=0@+1+m6'5/-=0@+4+m6'5.-=0@+7+m6'5,-=0@+:+m6'5+-=0@+=+m6'5)-=0@+@+m6'5(-=0@+C+m6'5&-=0@+F+m6'5%-=0@+I+m6'5#-=0@+L+m6'5"-=0@+O+m6'5 -=0@+R+m6'5-=0@+U+m6'5-=0@+X+m6'5-=0@+[+m6'5-=0@+^+m6'5-=0@+a+m6'5-=0@+d+m,K<@d5,y<@ $6, "-=$3D6+k,y<@+g 6 Vh+d+hO&{yH-=m>-= 6 Vh h1V+u++xiFKAP-=h-=u $6, h-=$ Dh h2V6+~+, h3V6+ h.6 Vh+x+E2
+, h2V6+ h.6 Vh+ $6, h-=$2D6++, h.6 V6+o?K_AP-=h-= $6, 6-=$ Dh h3V6gO h3T6gOA4V! 6.6 V6++# 6/6 ,~,6l>
6,`Q`!,>,>,>h,>h-=h+4+,]VeF@-=h-=*5
,>,>,>h,>h-=h+4,W#7-=h-=1>o,^o>`K+hC2=J7-=7<@+6V6+=:6,>,71l3xgO/4@F+D-$h6-=,~,75<LNB+=,7;<L+hiFK]-=H<@-=,7F<L5 6 Vh+P:h,>,71l3 xgO/4@h $h h-=$ Dh h2V6gO h2T6gOG h2R6!gOG h2P6!gOG4Vc,75<L` h0V
 h.6 Vh+ $6, h-=$2D6++* h.6 V6+o?K_AP-=h-= $6, 6-=$ Dh h3V6gO h3T6gOA4V 6.6 V6++! 6/6 ,~,6l>
6,`Q`,>,>,>h,>h-=h+2+*]VeF@-=h-=(5
,>,>,>h,>h-=h+2_W# -=h-=/>o,^o>`K+h,y<@L6?4VU@vh $6, "-=$3D6+T 60V+C h.6 Vh h06+A,7F<L5+C@vh,7F<L4+S h.6 Vh h1v
+H,7F<L4@vh+P,6l>
6,`h6,>,>,>60,>61-=60,~,J<@^I,B<@60,y<@+7+@vh@vh 6 Vh $6, "-=$3D6+ 60V+q7@h+h,7F<L5 h.6 Vh h06+d,7F<L5 h.6 Vh+f,7F<L4@vh@vh 6 Vh+q h.6 Vh h06+o,7F<L5 h.6 Vh+q,7F<L4@vh+OvhLh4Vt,7F<L5Ovh7@h+,B<@,t>,>,>,>h,>h-=hh5
-=0@+@vh+,71l.h.  @h h266#+,7F<L,7F<L4~+,7F<L5 h.6 Vh h1v
+F<L4@vh,71l.:@h,7F<L5,7F<L,7F<L4~+u,y<@+W7@h+,7F<L5-h1v	+,7F<L4,^<@`-=	+haKxKJJ7\-=<@ 6 V6+%:6 6.42v++ $6, 6-=$2D6+*+.+$+.EN]
6,h6h6,>,>,>60,>61-=60,~,9<@^C,B<@60+h	O>5;-=0@+]@v6?+,6'5I-=0@+aOv69+,6'5G-=0@+d@v69+,6'5L-=0@+hOv6:+,6'5J-=0@+k@v6:+,6'5A-=0@gO 6'5@-=0@gOG4@-=+{,6l>
6,`h6,>,>,>60,>61-=60,~,9<@^t66Vh5$6,h-=$2D6gOh1vgOA4Dh/6Vh+}6$6,h-=$3D6+: 60V+ ,7;<L+++(,6l>
6,`h6,>,>,>60,>61-=60,~,9<@^!,B<@60++,+@,y<@ $6, "-=$3D6+7,K<@d4f $6, "-=$3D6+7,y<@+2+:_W# -=h-=7,^<@`+U+@e&\W4-=h-==+haW$pr-=B<@-=,7F<L4c,7t<Lh6`,71l611`+d,7F<L4b 6 V6+P:6,>,71l613 xgO/4@d $61 6-=$ Dh h2V6!gO h2T6!gOG h2R6gOG h2P6gOG4Vb,75<L`,75<L`+O,7F<L4`>o,^o>`K+hk:]k{]6.<pO-=h<@,7F<L4^7@6<+v 60V+r,7F<L4X+u 60V+u,7F<L4R+w,7F<L4O7@6=+y,D<@+hu|S; -=z<@,7F<L4K,7F<L4^,7F<L4GOv6B+hG",:xeY](-=<@v-=,>,> "p $h"&"(-=5# h.6,>,>,>X,>X-=X5/ h.6,>,>,>X,>X-=X5% h.6,>,>,>X,>X-=X5 h.6,>,>,>X,>X-=X5 h.6,>,>,>X,>X-=X5" h.6,>,>,>X,>X-=X5  h.6,>,>,>X,>X-=X5, h.6,>,>,>X,>X-=X5& h.6	,>,>,>X,>X-=X5+ h.6
,>,>,>X,>X-=X5. h.6,>,>,>X,>X-=X5( h.6
,>,>,>X,>X-=X5) h.6,>,>,>X,>X-=X5: h.6,>,>,>X,>X-=X57 h.6,>,>,>X,>X-=XLh4Vp 6 Vh+W:h,>+@h3 xgO/4@k6' h..hX-=0@+i,K<@`4;,y<@ $6, "-=$3D6+f,y<@+b,^<@`+o+k+@h2@h+kOvh+W+oKN2q'# -=h-=l+T-=	+haW&h9SI9-=q<@,7F<L49,7F<L45,7F<L6),7F<L446+5
-=1@gOA6=4@	,7F<L4/,9<@6+,7F<L4-,7;<L,7F<L4%,7F<L4,7F<L4 60V+	
,7F<L4,7F<L3,7F<L3t,7F<L3n+haW&
WG&\Rf-=	<@7@6>+	,7F<L3j7@6>+	,7F<L3d7@6=+	,7F<L3`,7F<L3[,7F<L3V,7F<L3S,7F<L3O7@6>+	(,7F<L3M,7F<L3K,7F<L3H,7F<L3@,7F<L37,7F<L30,7F<L3+,7F<L3%,7F<L3!,7F<L3,7F<L3,7F<L3,7F<L360V+	=,7F<L37@6@+	g,7F<L2 ,7F<L2,7F<L2,7F<L2,7F<L2,7F<L2
+	u 60V+	u,7F<L2
,7F<L2,7F<L2 60V+	|,7F<L2+	 60V+	,7F<L1|,7F<L1y,7F<L1v 60V+
,7F<L1t+
 60V+
,7F<L1r,7F<L1p,7F<L1nL6A4V
 60V+
,7F<L1k+
 60V+
,7F<L1h,7F<L1d+
 60V+
,7F<L1_+
 60V+
,7F<L1^,7F<L5,7F<L1Z,7F<L1v 60V+
#,7F<L1Y+
& 60V+
&,7F<L1W,7F<L1p,7F<L1nL6A4V
3 60V+
.,7F<L1T+
1 60V+
1,7F<L1Q,7F<L1M+
; 60V+
6,7F<L1H+
9 60V+
9,7F<L1^,7F<L5,7F<L1Z 60V+
A,7F<L1@,7F<L19+
D 60V+
D,7F<L10,7F<L2s,7F<L2,7F<L1,,7F<L1%,7F<L1,7F<L1,7F<L1,7F<L1,7F<L1,7F<L0~,7F<L0y,7F<L3K,7F<L0s,7F<L4^,7F<L0l,7F<L0j,7F<L3K,7F<L0f,7F<L0b,7F<L0_,7F<L0W,7F<L0O,7F<L0H,7F<L0A,7F<L0:,7F<L03,7F<L0,,7F<L0&,7F<L0,7F<L0,7F<L0,7F<L0~,7F<L0y,7F<L3K,7F<L0,7F<L0s,7F<L4^,7F<L0l,7F<L0j,7F<L3K,7F<L0,7F<L0,7F<L3K,7F<L/},7F<L/v,7F<L/p,7F<L3K,7F<L/m,7F<L0_,7F<L/j,7F<L/a,7F<L/Y,7F<L/Q,7F<L/M,7F<L/E,7F<L/C,7F<L/?,7F<L/7,7F<L/0,7F<L/+,7F<L4^,7F<L/',7F<L/#,7F<L/C,7F<L/,7F<L/,7F<L/,7F<L/,7F<L.,7F<L.w,7F<L.p,7F<L.h,7F<L.`,7F<L.^,7F<L.Z,7F<L.S,7F<L.L,7F<L.E,7F<L.?,7F<L.7,7F<L.0,7F<L.+,7F<L4^,7F<L.',7F<L.$,7F<L.,7F<L.,7F<L. 60V+N,7F<L.,7F<L-,7F<L-|,7F<L-w,7F<L/C,7F<L-s,7F<L-l,7F<L-f,7F<L-_,7F<L-W,7F<L-Q,7F<L4^,7F<L-M,7F<L.$,7F<L-G,7F<L3K,7F<L-B,7F<L/C,7F<L-?,7F<L-7,7F<L-0,7F<L-),7F<L-!,7F<L-,7F<L-,7F<L-,7F<L-,7F<L,},7F<L,v,7F<L,m,7F<L,e,7F<L,`,7F<L,] 60V+,7F<L,Y+
 60V+
,7F<L,U,7F<L,R7@6@+
,7F<L2 ,7F<L,N,7F<L,G,7F<L,C,7F<L,@,7F<L,; 60V+
,J<@,3+
 60V+
,J<@,-,7F<L2,7F<L/C,7F<L,*,7F<L,$,7F<L,,7F<L,,7F<L,,7F<L/C,7F<L,,7F<L,,7F<L+{,7F<L+s,7F<L+l,7F<L+d,7F<L4^,7F<L+,,7F<L+\,7F<L+S,7F<L+N,7F<L+B,7F<L+>,7F<L3K,7F<L/C,7F<L+:,7F<L+1,7F<L+),7F<L+ ,7F<L+,7F<L+,7F<L+
,7F<L*,7F<L)w,7F<L)t,7F<L*",7F<L)h,7F<L)),7F<L)]7@6=+),,7F<L)),7F<L)$,7F<L),7F<L5,7F<L),,7F<L),7F<L)$,7F<L),7F<L5,7F<L),,7F<L),7F<L/C6+5
-=1@+),7F<L)
,7F<L),7F<L({,7F<L(v,7F<L4^+60V+(H,7F<L(D,7F<L4^,60V+(>,7F<L/C+7F<L',7F<L'	,7F<L',7F<L4^<60V+75<Lh6,7F<L&
,7F<L&	,7F<L6),7F<L44-= "h-=+AZ-=<@ =h p0V+5@vp p.6 Vp p0V+)&,>,>,>p,>p-= =hp+5 p0V+/&,>,>,>p,>p-= =hp+5 p0V+5&,>,>,>p,>p-= =hp+7 p.6 Vp,7F<L,7F<L&,7t<L``,7F<L&,7F<L,7F<L44+h@vh 6 Vh 60V+q,<@%~,<@%|,<@%z,<@%x,<@%v,<@%t,<@%r,<@%p,<@%n,<@%l,<@%i,<@%e,<@%b,<@%_,<@%[,<@%W,<@%S,<@%O,<@%K,<@%G,<@%E,<@%C,<@%?,<@%<,<@%:,<@%6,<@%4,<@%1,<@%.,<@%*+  60V+ ,<@%(,<@%&,<@%$,<@%",<@%,<@%,<@%,<@%,<@%,<@%l,<@%,<@%,<@%,<@%,<@%,<@$,<@$|,<@$y,<@$u,<@$n,<@$l,<@$k,<@$h,<@$d,<@$a,<@$],<@$Z,<@$V,<@$S,<@$O,7;<L-=	+haW%	0I-="<@,7F<L$K7@6=+:L6A4V+,7F<L$F7@6A+-,7F<L$?L6AL6CA4V7 60V+3,J<@$:+6 60V+6,J<@$3,7F<L$1,7F<L),,7F<L$-7@6>+=,7F<L3M7@6@+& 60V+R,7F<L$&,7F<L$7@6=+F,7F<L$,7F<L$7@6@+I,7F<L2 ,7F<L$,7F<L$,7F<L#x,7F<L#n,7F<L#f,7F<L#`+b 60V+b,7F<L#X,7F<L#M7@6@+Y,7F<L2 ,7F<L$,7F<L$,7F<L#E,7F<L#n,7F<L#@,7F<L#:,7F<L#6,7F<L#4,7F<L#/,7F<L#+,7F<L#',7F<L#",7F<L3K,7F<L3K,7F<L#,7F<L#,7F<L3K7@6A+
,7F<L#,7F<L#,7F<L#,7F<L"y,7F<L"u,7F<L"q,7F<L"l,7F<L"h,7F<L"c,7F<L"_,7F<L"Z,7F<L"V,7F<L"R7@6>+
,7F<L3M7@6=+&,7F<L)) 60V+,7F<L"M,7F<L6),7F<L"J,7F<L"F,7F<L">,7F<L5,7F<L"4+& 60V+&,7F<L"/,7F<L6),7F<L"J,7F<L)),7F<L"+,7F<L">,7F<L5,7F<L"!L6=4V~ 60V+;,7F<L",7F<L",7F<L"6*5
-=1@+4,7F<L",7F<L6*,7F<L4`,7F<L",7F<L",7F<L!|,7F<L!r+L 60V+L,7F<L!m,7F<L6),7F<L!k6*5
-=1@+H,7F<L",7F<L6*,7F<L!i,7F<L!c,J<@!^,J<@!Y,7F<L57@6=+Y6+5
-=1@+Y 60V+U,J<@!U+X 60V+X,J<@!O,J<@6+ 60V+],7F<L!D+` 60V+`,7F<L!:,75<Lh6 60V+e,7F<L!8+h 60V+h,7F<L!8 60V+k,7F<L!/+n 60V+n,7F<L!'L6A4V} 60V+w,7F<L!!,7F<L!,7F<L!,7F<L!+} 60V+},7F<L ~L6A4V},7F<L v,7F<L t,7;<L,7F<L63,7F<L6,7F<L r,7F<L n+haW$j7SN@-=<@,7F<L hL6A 6 1tgOA4V+-=,6l>
f,>,>,>63,>64-=63,7F<Lb76Vh)67Vh+:h2vh+,<P,7;<L,7F<L63,7F<La+60V+$,7F<LLW,7F<LLN+(60V+(,7F<LE,7F<L=,7F<L9>o,^o>`K,7F<LL5L6=4VC760V+9,7F<L1,7F<L6),7F<L,,7F<L#,7F<L,7F<L+C760V+C,7F<L,7F<L6),7F<L,7F<L,7F<L},7F<Lu7@6=+wL6CL6AA4V[760V+K,7F<Ll,7F<Ld+P60V+P,J<@],J<@W60V+U,J<@P,J<@J+Y760V+Y,J<@D,J<@?,7F<L$1,7F<L),,7F<L:760V+a,7F<L7+d60V+d,7F<L3,7F<L'60V+i,7F<L!+l60V+l,7F<L,7F<L60V+q,7F<L+h645
-=0@+W,K<@d|+\,7F<Lz,7F<L64,7F<L3+f,y<@+b,^<@`+t,B<@64,6l>
62,>,>,>64,>65-=64L6;L6;A4Vr,7F<Lj+t,7F<Lg@v6:,7;<L,7F<L62,7F<L@a+h[\[E`-=y<@-=,71l62@@h+Y&I9G"71l6). ,~,7>
Q`3`,>,>,>h,>h-=h 6 Vh+=:h,>,71l6)3 xgO/4@F $6) h-=$  $h h-=v+< $f "-=$  $h h.6 -=t $d "-=$  $h h.6 -=t $c "-=$  $h h.6 -=t $a "-=$  $h h.6 -=t,8@<L``Ov6<,87<L`-=	+h 6 V6 6 V6 6 V6 6 V6,7>
``,>,>,>67,>68-=67 6 $67 "-=v,7>
`C`,>,>,>6,,>6--=6, 6 $6, "C-=v 6 $6, "C-=v $` "-=$ D6 $^ "-=$ D6 $4- "-=$ D6 $f "-=$ D6 $4~ "-=$ D6 $] "-=$ D6 $[ "-=$ D6 $& "-=$ D6! $Z "-=$ D6! 6$ V6#5
,>,>,>6(,>6)-=6(,>,>,>61,>62-=61,>,>,>6+,>6,-=6+,>,>,>6(,>6)-=6(,>,>,>6),>6*-=6),>,>,>6',>6(-=6',>,>,>60,>61-=60 $d "-=$ D6 $X "-=$ D65
,>,>,>62,>63-=62@$W "-=$,D6#>$U "-=$ D6$ $T "-=$ D6$ $R "-=$ D6& $5 "-=$ D6% $Q "-=$ D6% $O "-=$ D6& $N "-=$ D6',8<L`L,8<L`5),8<L`5)`,8<L`5),7F<LH,7F<LB,7F<L:+QgR-
 f,>,>,>63,>64-=63Ov69@v6@ V6@ V6A V6> V6A V6> V6< V6: V6C V6= V6= 6 V6@v6 V6 V6 V6,B<@6+5
,>,>,>6+,>6,-=6+,7F<L1,7F<L/,y<@,6l>
6,`h6,>,>,>65,>66-=65655
-=0@+t+,*<@65 6 V6 $f "-=$  $65 6-=$3DgO,>,71l653`6gOAx/4@ 6.6 V6+v,71l652@6+<-=+	,71l65. ,~,7>
Q``,>,>,>6,>6-=6 6 V6+:6,>,71l653 xgO/4@ $65 6-=$  $6 6-=v+ $f "-=$  $6 6.6 -=t $a "-=$  $6 6.6 -=t $. "-=$  $6 6.6 -=t $, "-=$  $6 6.6 -=t+2,71l6,~,7>
Q`0`,>,>,>65,>66-=656,>,>,>65,>66-=65>o,^o>`K,7F<L(,7F<L65,7F<L%,8@<L`65,81<L`,7-<Lh6 6&41VgO V6D,8l<L`,8@<L`65,81<L` 6 V6+P:6,>,71l653 xgO/4@Z $65 6-=$2D6+Y 6/6 V6+]+O+]Yi3_IP-=h-=Z,B<@6+,B<@6*,B<@6),6l>
65`h6,>,>,>6),>6*-=6),/<@+mgR-_? -=h-=j,y<@ 60V+{ 60V+s,y<@+p $6, "-=$ D6 $# "-=$3D6+{,K<@` $6, "-=$3D6+,K<@d $6, "-=$3D6+,y<@+,^<@`,P<@6'5-=0@+
Ov6>,K<@`+m6'5-=0@+,o>,>,>,>6/,>60-=6/,*<@6/Ov6>,K<@`u+m6'5#-=0@++,B<@6(,o>,>,>,>6(,>6)-=6(,*<@6(6(s-=0@+% 6 V6++6(q-=0@+) 6 V6++,K<@`j+m6'5"-=0@+/Ov6=+m6'5 -=0@+d,!<@,o>,>,>,>66,>67-=66,*<@66,71l660`+<,K<@db 6 V6"+>:6"2v6"+F66 6"..68X-=0@+E,K<@`]+> 6"0V+J,K<@dS+K 6".6 V6",6l>
66 6"..68,>,>,>X,>X-=X,o>,>,>,>66,>67-=66,*<@6666Q-=0@+[ 6E.6"OvX+b66P-=0@+` 6E.6"@vX+b,K<@dE 6F.6"@vX+m6'5,-=0@+gOv6C+m6'5&-=0@+kOv6A+m6'5+-=0@+nOv6@+m6'5.-=0@+rOv6@+m6'5)-=0@gO 6'5(-=0@gOG4@	Ov6= V6C V6A,K<@`@,87<L`,7F<L>,7F<L6),7F<L;,7F<L6),7F<L6,7;<L,87<L`+m6'5%-=0@+,!<@,6l>
6,h6h6,>,>,>6*,>6+-=6*+m6'5/-=0@+!,!<@,6l>
6,h6h6,>,>,>6+,>6,-=6+6+5
-=0@+ ,K<@`,Ov6COv6=+m,t<@6'58-=0@++,6l>
54,>,>,>6',>6(-=6',P<@+",<@`,	<@6'5:-=0@gO 6'57-=0@gOG4@L6'57-=0@+?,6l>
54,>,>,>6',>6(-=6',7;<L,7;<L,P<@+56'5:-=0@+L,7F<L*,7F<L>o,7F<L3
54,>,>,>6',>6(-=6',7;<L,7;<L,P<@+O,<@`,$<@+`o"L:4;&+v4-=h-=\,P<@6'52-=0@+f,><@+z6'5>-=0@+6.6V6,7F<L',7t<Lh6`,7F<L3
",>,>,>62,>63-=62,B<@645
,>,>,>64,>65-=64@v6Ov6<@v6B:V6C26.6 V6,7F<L,7t<Lh6`,7F<L3 V6+' 6/6 V6+1 $6, 6-=$3D6+G 6/6 V6 6/6 V6+1I'&Km-=h-=. $6, 6-=$3D6gO  $6, 6-=$3D6gOA4D< 6/6 V6+1,B<@61+@ 6.6 ,~,6l>
6,Q`>h6,>,>,>61,>62-=61 6.6 V6+>o,^o>`K,><@63,>,>,>6.,>6/-=6.,<@,7;<L,7F<L63,7F<L a,7F<L,7F<L,7F<L2Z,7F<L,7F<L,7F<L
,7F<L3K,7F<L5,n<@7@6@+b,7F<L2 ,7F<L$,7F<L
,7F<L4^7@6=+k 6 V6@v6,D<@ 6 V6,7F<LL6A4V,7F<L,7F<L4^7@6=+u 6 V6@v6,D<@ 6 V6,7F<L~,7F<L6.,7F<LP,7F<L|,7F<L4^7@6=+ 6 V6@v6,D<@ 6 V6,7F<Lw+C;y9M&tF@-=h-=@v6;,P<@@v6B6'5P-=0@+Ov6;L6C4V 62v6+,B<@6-,!<@,6l>
6,h6h6,>,>,>6-,>6.-=6-Ov6C 6 V6+<6'5O-=0@+@v6;+<6'5D-=0@+ Ov6;+<6'5C-=0@+&Ov6B@v6;L6B4V%,|<@+<L6B4V(,|<@,j<@,7F<L3K,7F<Lt7@6C+1,7F<Lr,J<@6-,7F<Lk,7F<Lh,7F<L4L6A4V:,7F<LS,7F<L6.,7F<LP,7F<L3K+_,7F<Ld,B<@6(,o>,>,>,>6(,>6)-=6(,*<@6(6(5
-=0@+GOv6:L6;A6:L6;AL6BA4Vd 6.6 V6 60V+PL6B4VP,|<@,7F<La+T 6/6 ,~,7t<LQ`R``,7F<L_,{<@,j<@,7;<L,7F<L^,7F<L62,7F<L a,n<@,M<@,7F<L3K++SL6;4Ve@v6< 61V+t,K<@dS+l_J$\V_? -=h-=i,y<@ $6, "-=$3D6+r+l,^<@`+,{<@7@6:+x,7F<LQ,7;<L6(5
-=1@+&L6B4VL6:4V~,7F<LN,7F<LLL6:G694V,7F<LK,7F<LI7@6B+,7F<LE6,V6+	:6,>,71l6(3LxgO/4@<$6(,6-=$ D6-62V6+,75<Lh6<62V6+,75<Lh6,75<Lh6+,7F<LB7@6B+,7F<LA,7F<L62,7F<L3F<L6/,7F<L1,B<@65,81<L`,87<L`,8l<L`,8l<L`,7F<L.+Q,K<@d"+zG",:vS:+ -=h-=w,y<@ $6, "-=$3D6+,K<@d $6, "-=$3D6+,y<@++
G>vLWY2Mi--=h-=,^<@`+`+gR~@-=h-=result,[N]******  this line up to next command line will be ignored.H#63330: Command is out of place here.  As a result,[N]****** this line up to next command line will be ignored.H/	...and is ready.[N]H2[N]END;[N]H4extratest;[N]H7wrongmessageH9rightmessageH<GOTO H=IF NOT here(endofline) THEN GOTO HBLACKHC") THEN GOTO HFpos:= 1;[N]IF NOT anywhere("HJhere("HLanywHMIF NOT HOpos:= 1;[N]HRpos:= 1;HT13200: Expected answers must precede first [N]****** empty answer pattern. Command will be ignored.HSAMEH` THEN[N]HbIF lasterrors =HeIF ihaveblanked THEN restore;[N]Hi[N]next:[N]HlWrite(right[[random]]);[N]Newline;[N]GOTO SAMEQZXAAB;[N]Hsgiveanswer;[N]Hu[N]simulate:[N]Hxskip:= FALSE;[N]GOTO simulate;[N]END;[N]H}IF skip THEN[N]H
back:=rFALSE;[N]GOTOHHIFNbackeTHEN[N]Hstop:=SFALSE;[N]GOTOHendoflesson;[N]END;[N]HIFtstoplTHEN[N]H 0;[N]HBEGIN[N]INTEGER subblock;[N]H 
[4N]COMMENT:tQuestionH#QZXAAAH%:[N]BEGIN[N]H([4N]COMMENT: TextH+[2N]PROCEDURE H-)2727: Ignore this message if you meant to omit[N]****** teacher's name and address.H7.SRT<155> files to receive teacher reports.H<.DTA<155> and H?****** HA2651: Ignore this message if you have createdHF/2545: Switch value neither 'TRUE' nor 'FALSE'.[N]****** The effect of this error is undefined.HQFALSEHRTRUEHT+2538: More than 9 switches not allowed.[N]THIS switch will replace the old number nine.H^2536: This switch is doubly defined.Hc#2530: No switchname in %SWITCH command.[N]****** Line will be ignored.Hk 2501: Unknown language.[N]****** GNOSIS will default to English..HrSWEDISHHtENGLISHHv;2482:  The GNOLIB.REL file must reside in 'SYS:'. [N]****** Load as follows: '.LOAD <lessonname>.ALG, SYS:GNOLIB.REL'.H;2456:  The GNOLIB.REL file must reside in 'SYS:'. [N]****** Load as follows: '.LOAD <lessonname>.ALG, SYS:GNOLIB.REL'.H=2435: A command line is required at this point.  As a result,[N]******  this line up to next command line will be ignored.H2430: You are not using '%' as a command indicator.H$%H&	" has begun...[2N]H)[2N]Translation of the lesson "H-OH/NH0-->[B]H2&[2N]Enter lesson name with extension, or push RETURN to exit from GNOSIS.[N]H;[2N]Do NOT type ahead while running the GNOSIS translator.[N]HCCopyright (c) 1978 by Jacob Palme and Walter ManerHIGNOSIS Version 2 (June, 1978)[N]HMTTYHOEHP@HR#HSeHU`HV{HX}HYZH[]]H\"H^!H=Ha:HbGHdLHeAHg.HhGOTO next;[N]HkGOTO repeat;[N]Hm=2187: A command line is required at this point.  As a result,[N]******  this line up to next command line will be ignored.H{GOTO SAMEH}#2177: No previous comment available.[N]****** Command will be ignored.HWrite("!");[N]H%IF firstname # "" THEN[N]BEGIN[N]Write(", ");[N]Write(firstname);[N]END;[N]HWrite("[[2N]]Have a nice day");[N]HOpenfile (1,"");[N]Openfile (3,"HSelectinput(1);[N]seloutputandstopkc(3);[N]Transfile;[N]H .SRT", %155);[N]H#Closefile(1);[N]H&Openfile (1,"");[N]Openfile (2,"H*#Selectinput(1);[N]Breakoutput;[N]seloutputandstopkc(2);[N]Transfile;[N]H3.DTA", %155);[N]H6Openfile(1,"H8""...[[N]]");[N]H;
GOTO mess;[N]END;[N]HF
Write("MEDDELANDE:T");[N]HJWrite("MESSAGE:]");[N]HMackTHEN[N]BEGIN[N]back:=2FALSE;[N]GOTO[HYWrite(prompt);[N]Breakoutput;[N]getline;[N]HE[N]mess:[N]Ha$Write("Slutarmedrattttryckaenextratg}ng p}nRETURN-knappen.[[2N]]");[N]Hj%Write("OmDuehar n}gottmeddelandeitill l{raren,(s}tskrivldetinu.[[N]]");[N]Hr(Write("line atravtime. pFinishkwithran.EXTRA^push on2theDRETURNekey.[[2N]]");[N]H{(Write("Ifdyoulhaveranynmessagefor thetteacher,sthen type it now,tone[[N]]");[N]H)Write("[totaltmav[[NT]]-");[N]Print(qcount,3);[N]Write("dgivnapfr}gor.[[2N]]");[N]H6Write("totalrighteoutfofgartotalDof[[NT]]-");[N]Print(qcount,3);[N]Write("[questions]attempted.[[2N]]");[N]HPrint(latescore,3);[N]HWrite("if`rstasvarroch[[NT]]-");[N]H"Write("Prightlanswerseon)firstHtries and[[NT]]-");[N]H(4Print(latepercent,2,1);[N]Write("%  (");[N]Print(percent,2,1);[N]Write("%)[[NT]]-");[N]Print(score,3);[N]H4
""D{rislut.[[N]]Dunharsvarat6p}");[N]Print(qcount,3);[N]H]Write("Lektion ""H %Write(" questions your answer was right on your very first try.[[N]]");[N]H Write(" times.[[N]]On");[N]Print(score,3);[N]H $(Write(" questions,[[N]]and you gave the right answer");[N]Print(latescore,3);[N]H -"" you answered");[N]Print(qcount,3);[N]H 2
GOTO start;[N]END;[N]H >!Write("utan m}ste backa till lektionens b`rjan. F`rl}t![[N]]");[N]H F)Write("Jag kan inte g} en liten bit bak}t p.g.a. lektionens komplexitet[[N]]");[N]H O'Write("from this point.  It is going all the way back to the start.[[N]]");[N]H X)Write("NOTE:  The backing procedure is unable to go back just ONE step [[N]]");[N]H b:[N]H c
IF FALSE THEN[N]BEGIN[N]H gZQXAAAH iEND of block started with makeblock INTEGER;[4N]H oBEGIN[N]INTEGER blockmaker;[N]H s[N]start:[N]H upage;[2N]H w  `ver en fr}ga eller[[NT]]- g} tillbaka i lektionen.[[2N]]");[N]H &Write("D{refter kan du[[NT]]- avsluta hela lektionen eller[[NT]]- bara hoppaH!(Write("[[NT]](3) 'BACK' to return to the previous question (or text).[[2N]]");[N]H!&Write("[[NT]](2) 'SKIP' to move on to the next question (or text);; or");[N]H!Write("[[NT]](1) 'STOP' to end the lesson immediately;;");[N]H!"Write("GNOSIS will then explain how you can type");[N]H!(#Write(" p} Din terminal och sedan trycka p} RETURN-knappen.[[N]]");[N]H!0$Write(" on your terminal and then pushing the RETURN button.[[2N]]");[N]H!9""");[N]H!;+Write("Du kan avbryta lektionen n{r som helst genom att skriva[[N]]det enda tecknet ""H!E2Write("[[N]]IMPORTANT: You can interrupt the lesson at any time by typing the[[N]]single character ""H!PDen l{rare som skrev den h{r lektionen {r...H!VThe author of this lesson is...H!ZF`rsvarets forskningsanstalt, Stockholm.H!_f`r datorst`dd undervisning(DU) fr}nH!dWrite("[[N]]producerad av GNOSIS-systemet ");[N]H!j,");[N]H!l'");[N]H!nWrite("[[2N]]Detta {r lektionen 'H!s,Write("Stockholm, Sweden, and the Old Dominion University Research Foundation.[[N]]");[N]H!},Write("instruction  (CAI)  from  the  Research  Institute  of National Defense[[N]]");[N]H"-Write("This lesson was  produced  by  the  GNOSIS  system  for  computer  aided[[N]]");[N]H"
Write(".[[2N]]");[N]H"Write(",[[N]]H"Write("'");[N]H"
Write(lessonname);[N]H"Write("[[2N]]WelcomeAtoAtheRlessonL'");[N]H"",Write("[[N]]SP$RNING[AVEOV#NTADEASVAR:[[N]]");[N]Breakoutput;[N]seloutputandstopkc(0);[N]H",?#FORepos:=]1NSTEP]1UNTILNanswerlengthaDO[Outsymbol(answer.[[pos]]);[N]H"GWrite("STUDENT'SsNAME:d");[N]H"K[[2N]]");[N]H"NWrite("[[P]]TEACHEReREPORT{FORNTHESLESSON:mH"SOpenfile(3,tempfile2,%057);[N]H"WOpenfile(2,tempfile1,%057);[N]H"[tempfile2.[[pos+4]]:=l"T".[[1]];[N]H"`tempfile2.[[pos+3]]:=N"R".[[1]];[N]H"dtempfile2.[[pos+2]]:=l"S".[[1]];[N]H"itempfile1.[[pos+4]]:= "A".[[1]];[N]H"mtempfile1.[[pos+3]]:= "T".[[1]];[N]H"rtempfile1.[[pos+2]]:=w"D".[[1]];[N]H"vELSE[pos:=Hpos-2;[N]H"ztempfile1.[[pos+1]]:= tempfile2.[[pos+1]]:= ".".[[1]][N]H#IF firstname.[[Length(firstname)]] # ".".[[1]] THEN H#5FOR pos:= 1 STEP 1 UNTIL Length(firstname) DO tempfile1.[[pos]]:= tempfile2.[[pos]]:= firstname.[[pos]];[N]H#tempfile1:= tempfile2:= Newstring(Length(firstname)+5,7);[N]H#Write(firstname);[N]Write("!");[N]H#firstname:=Copy(answer,1,pos-1);[N]H##BEGIN[N]pos:=pos+1;[N]GOTO nameloop;[N]H#(
#Write("[[NT]]generatepersonaldatapbasedsonethissession.)[[2N]]");[N]H$ Write("[[NT]](UnlessiyouhenterHamade-upPname, GNOSIShwill");[N]H$2[N]repeat:[N]Write("I'd"like)toNknowpyour,full"name--[[N]]justDtype;it]inafterGthearrow.[[N]]");[N]H$'Write("[[N]]Hello!$LThis is GNOSIS talking.[[N]]");[N]H$.
[N]Input(0,"TTY");[N]H$PT
Nej, inte riktigt s}.H$W
Det d{r {r inte riktigt.H$[Tyv{rr inte r{tt.H$^Nej, den h{r g}ngen svarade Du fel.H$bDet {r inte r{tt!H$e
Ditt svar var felaktigt.H$i	Du valde fel svar.H$lNej!H$mFel!H$o  Just det. Bara man anstr{nger sig lite s} g}r det bra.H$v  Bra! Forts{tt p} det s{ttet.H$z  #ntligen r{tt!H$}	  Du g`r framsteg.H%  S}ja, till slut g}r det bra!H%  Javisst! Nu klarar Du det h{r.H%  Nu har Du fattat det hela!H%

  B{ttre och b{ttre!H%
  Nu b`rjar Du fatta!H%  Just det - Du klarar dig b{ttre nu.H%Bra!H%
Du svarade r{tt igen.H%Korrekt.H%R{tt!H% Precis r{tt.H%#Utm{rkt!H%%Javisst!H%'Mycket bra.H%)Bra gjort!H%+
No, you missed this one.H%/You're mistaken.H%2
Thatywasn'twcorrect.H%5Sorry.H%7!H%=Youranswerwas wrong.H%@ng of it now.H%L
  Keep up the good work!H%P  Aren't you glad you kept trying?H%T
  You're making progress.H%X  There is hope for you after all!H%\
  I knew you could do it.H%`
  Yo've got the idea now!H%c	  You're improving!H%f
  Now you're catching on!H%j  You're doing better!H%mOK!H%oExcellent!H%qThat's it!H%sWell done!H%uRight!H%wExactly right!H%yBravo!H%{Sure!H%}Very good.H%Good for you!H&]]:= "H&[[H&wrongH&rightatlastH&	rightH&
lessonname:="H&controlstart:= "H&randno:= 1;[N]nopause:= skip:= message:= FALSE;[N]H&!endofline:= Newstring(1,7);[N]endofline.[[1]]:= carriagereturn;[N]H& 
char:= Newstring(1,7);[N]H&$ answer.[[134]]:= carriagereturn;[N]answer.[[135]]:= linefeed;[N]H&+0answer:= Newstring(135,7);[N]answercopy:= Copy(" ");[N]firstname:= "";[N]prompt:= Copy("-->");[N]H&6lcaa:= "}".[[1]];[N]lcae:= "{".[[1]];[N]lcoe:= "`".[[1]];[N]H&=ucaa:= "$".[[1]];[N]ucae:= "#".[[1]];[N]ucoe:= "@".[[1]];[N]H&D blank:= " ".[[1]];uparrow:= "^".[[1]];[N]controlg:="".[[1]];[N]H&L/lastrights:= lastscorecount:= lastscorekount:= lastlatescorecount:= lastlatescorekount:= 0;[N]H&Vcarriagereturn:= 13;[N]linefeed:= 10;[N]H&[&[4N]lasterrors:= latescore:= score:= lastqcount:= lastqkount:= qcount:= 0;[N]H&dWrite("vilket skulle ha varit acceptabelt:[2N]-->");[N]H&kWrite(" h{r {r ett svar[[N]]");[N]H&o Newline;[N]personalize("F`r den h{ndelse du {r intresserad,");[N]H&w Write(" GNOSIS will simulate an acceptable answer:[[2N]]-->");[N]H&~Newline;[N]personalize("Just for the record,");[N]H'%RIGHT command for the preceding %QUESTION;[N]H'
The answer given will always be the one following the FIRST[N]H'the question or who repeatedly fails to give a right answer.[N]H''COMMENT:  'Giveanswer' displays a right answer to a student who is skipping[N]H'"
PROCEDURE giveanswer;[N]H'&[N]Newline;[N]Newline;[N]END;[2N]H'*,IF lasterrors > 3 THEN Write("[[N]]Eller...avbryt lektionen genom att skriva symbolen ""H'4,IF lasterrors = 3 THEN Write("[[N]]Ddu har eliminerat flera m`jligheter redan.") ELSE[N]H'>personalize("F`rs`k igen.");[N]H'C"".");[N]H'E*IF lasterrors > 4 THEN Write("[[N]]Or...interrupt the lesson by typing the symbol ""H'N3IF lasterrors = 4 THEN Write("[[N]](You might want to rethink some of your previous answers.)") ELSE[N]H'Z2IF lasterrors = 3 THEN Write("[[N]]You have at least eliminated some of the possibilities.") ELSE[N]H'epersonalize("Please try again.");[N]H'jthe student has failed to give a correct response;[N]H'pthe content of the message depends on the number of times[N]H'wthe message will always be 'Please try again'.  Otherwise,[N]H'which varies according to circumstances.  In %NEUTRAL mode,[N]H( 'Tryagain' will output to such students a 'try again' message[N]H(!answer, or an incomplete answer are usually repeated by GNOSIS.[N]H("COMMENT:  Questions output to students who give no answer, a wrong[N]H(PROCEDURE tryagain;[N]H(!end noanswer;[2N]H($"".[[N]]");[N]H('Write("Om Du vill g} ut ur fr}gan, s} skriv det enda tecknet ""H(.personalize("??? Du gav inget svar alls.");[N]Newline;[N]H(5&Write("If you want to interrupt the lesson, then type the single character ""H(>personalize("??? You gave no answer at all.");[N]Newline;[N]H(EPROCEDURE noanswer;[N]H(I	Newline;[N]END;[2N]H(LL{rarens namn och adress {r:H(Pvilken elev som s{nde den till honom.H(UDu kan s{nda den anonymt - l{raren beh`ver inte vetaH([Han beh`ver den f`r att kunna g`ra lektionen b{ttre.H(bThe name and address of the teacher is:H(gnot know which student sent it to him.H(lYou can send it anonymously - the teacher willH(rHe needs the listing to improve the lesson.H(wwas supplied with %TEACHER command);[N]H(|to the teacher -- unless no teacher's name and address[N]H)'Putmessage' will tell the student to send hardcopy reports [N]H)"COMMENT: If no disk files are being generated for teacher reports,[N]H)
PROCEDURE putmessage;[N]H)
seloutputandstopkc(0);[N]H)
seloutputandstopkc(3);[N]H)!FOR i:= 1 STEP 1 UNTIL answerlength DO Outsymbol(answer.[[i]]);[N]H)%Write(question);[N]Write(": ");[N]H)*
seloutputandstopkc(2);[N]H)-Breakoutput;[N]H)0
BEGIN[N]INTEGER i;[N]H)3VALUE question;[N]STRING question;[N]H)8!lesson. 'Putaway' writes the unexpected answers in these files;[N]H)@)<lessonname>.DTA and <lessonname>.SRT, which the teacher can use to improve the[N]H)J#then unexpected student answers are written into a pair of reports,[N]H)R COMMENT: If the lesson contained a report-generating command,[N]H)YPROCEDURE putaway(question);[N]H)^END;[2n]H)`)lastlatepercent:= IF lastqkount = 0 or x = 0 THEN 0.0 ELSE 100.0 * x/lastqkount;[N]H)i6x:= latescore - lastlatescorekount;[N]lastlatescorekount:= latescore;[N]lastqkount:= qcount - lastqkount;[N]H)uor afterward;[N]H)x*since this PROCEDURE was last called whether student was correct on the first try[N]H**COMMENT: 'Lastlatepercent' returns the percentage of questions answered correctly[N]H*REAL PROCEDURE lastlatepercent;[N]H*'lastpercent:= IF lastqcount = 0 or x = 0 THEN 0.0 ELSE 100.0 * x/lastqcount;[N]H*.x:= score - lastscorekount;[N]lastscorekount:= score;[N]lastqcount:= qcount - lastqcount;[N]H*#
BEGIN[N]INTEGERpx;[N]H*'ontheeveryefirstetrynsincethisPROCEDURE waswlastpcalled;[N]H*.(COMMENT:p'Lastpercent'Treturnsstheopercentage ofSquestionsoanswered;correctly[N]H*7REAL PROCEDUREUlastpercent;[N]H*;1BEGIN[N]lastlatescore:=TlatescoreL-alastlatescorecount;[N]lastlatescorecount:=]latescore[N]END;[2N]H*Fveryfirsttryorsafterward;[N]H*K%sinceHthis]PROCEDUREwaslastRcalled.whetherlstudenthwas'correctpontthe[N]H*S%COMMENT:+'Lastlatescore'treturnslnumbertofaquestionsoanswered correctly[N]H*\INTEGERuPROCEDUREolastlatescore;[N]H*`'BEGIN[N]lastscore:=tscore]-lastscorecount;[N]lastscorecount:=tscore[N]END;[2N]H*iveryefirstHtrysinceCthisNPROCEDUREtwas'lastlcalled;[N]H*p&COMMENT:s'Lastscore'dreturnswnumberHof,questions answered correctly on the[N]H*yINTEGER PROCEDURE lastscore;[N]H*},latepercent:= IF qcount = 0 or latescore = 0 THEN 0.0 ELSE 100.0 * latescore/qcount;[2N]H+student was correct on the first try or afterward;[N]H+by the student since the start of the lesson whether[N]H+(COMMENT: 'Latepercent' returns the percentage of questions answered correctly[N]H+REAL PROCEDURE latepercent;[N]H+!&percent:= IF qcount = 0 or score = 0 THEN 0.0 ELSE 100.0 * score/qcount;[2N]H+*#by the student on his very first try since the start of the lesson;[N]H+2&COMMENT: 'Percent' returns the percentage of questions answered correctly[N]H+;
PROCEDUREhextratest;[N]H,BEGIN[N]pause;[N]Outsymbol(12);[N]Outsymbol(12);[N]Newline;[N]H,Theleffect]produced[is,ofcourse,terminalodependent;[N]H,wants]torblankEtheNscreen]onaHdisplayterminal).[N]H,%COMMENT:,'Page'BcanNbeNcalledbytheteacherowhenehe[N]H,+	PROCEDURESpage;[N]H,.???eDatornhv{ntade sigebaraiRETURN fr}n Dig.H,4!Eh?nhiTheecomputer,expectedeyouawouldcjustnpushttheuRETURNTbutton.H,<IFoNOTshere(endofline)NTHEN[N]BEGIN[N]H,A	BEGIN[N]pos:=o1;[N]H,Drial.[N]H,~but GNOSIS will introduce ADDITIONAL automatic pause points[N]H-PROCEDURE is called between each %TEXT or %QUESTION,[N]H-
ToRgowon,gshessimply]pushesthe'RETURN'ckey.=Normally,ethis[N]H-whenevershewhasefinished[examiningthe"displayedzmaterial.[N]H-inatheodisplayaofitextitoythe;student,.andsheFcanscontinue[N]H-"NaNlimited screen size. The 'pause' PROCEDURE produces a pause[N]H-*at a time. Another reason is that display terminals have[N]H-1One reason for this is that it is easier to read a little[N]H-8!COMMENT: Lesson text is given to the student in small portions.[N]H-@	PROCEDURE pause;[N]H-Cpersonalize(wrong[[random]]);[N]Newline;[N]H-HBEGIN[N]qcount:= qcount+1;[N]firsttry:= FALSE;[N]H-Nlasterrors:= lasterrors+1;[N]H-Rprovide some variation in the conversation;[N]H-Xare used to choose between ten different messages in order[N]H-`and the lesson statistics are updated.  Random numbers[N]H-ghas made an erroneous answer. He is told about this,[N]H-mCOMMENT: 'Wrongmessage' is called when a student[N]H-t
9END[N]ELSE[N]BEGIN[N]personalize(right[[random]]);[N]IFlasterrors">o1)THENWWrite(rightatlast[[random]]);[N]END;[N]H.personalize(right[[random]]);[N]H."BEGIN[N]score:=iscore+1;[N]qcount:=Hqcount+1;[N]firsttry:=IFALSE;[N]H.%	IF]firsttrytTHEN[N]H.(lastrights:=Glastrights+1;[N]H.,somemvariation toithemconversation;[N]H.1used to choose between ten different messages to give[N]H.8only after previous fruitless attempts.  Random numbers are[N]H.@depending on whether he succeeds on the fist try or[N]H.Fscore is updated. The message to the student is different[N]H.Mmade a correct answer. He is told about this, and the[N]H.TCOMMENT: 'Rightmessage' is called when a student has[N]H.[
!I/O tongivedavpersonaltouch/totherlessons.raTonavoidrmonotony[N]H/$COMMENT:af'Personalize'ausessthe]student'sfirstnamebinwconversational[N]H/"PROCEDUREppersonalize(message);[N]VALUE'message;[N]STRINGemessage;[N]H/$es a random[N]H/@INTEGER PROCEDURE random;[N]H/DEND;[2N]H/F"Delete(answercopy);[N]answercopy:= Copy(answer,1,answerlength+2);[N]H/NBEGIN[N]ihaveblanked:= FALSE;[N]H/Rit to other target patterns. This restoration is done here;[N]H/Z!answer, the original response must be restored before comparing[N]H/b(COMMENT: Since 'anywhere' substitutes blanks for matched parts of the student[N]H/k
PROCEDURE restore;[N]H/n
anywhere:=EFALSE;[N]H/qBEGIN[N]pos:=:nextpos;[N]GOTOmblankline;[N]H/w[N]nofit:[N]IFsanswercopy.[[pos]];#NcarriagereturnFTHEN[N]H/~anywhere:=tihaveblanked:=HTRUE;[N]GOTOIout;[N]H0BEGIN[N]answercopy.[[cpos]]:=blank;[N]H0	FORecpos:=[pos-Length(comp)HSTEP]1UNTILpos-1 DO[N]H0	nextpos:= pos+1;[N]H0BEGIN[N]INTEGER cpos, nextpos;[N]H0'%NOEXTRA mode, his answer will be wrong if any non-blank characters remain;[N]H0 any non-blank characters in the student answer. In the[N]H0'%NOEXTRA mode) to determine whether there are[N]H0-the matched strings. This allows the program (e.g., in the[N]H04'Anywhere' will substitute blanks for all characters in[N]H0;the %EXTRA mode and in the %NOEXTRA %NOORDER mode.[N]H0Bunmatched strings will be bypassed. 'Anywhere' is used in[N]H0I found anywhere in the student answer after 'pos'.  Blanks and[N]H0P"COMMENT: 'Anywhere' determines whether the argument string can be [N]H0X BOOLEAN PROCEDURE anywhere(comp);[N]VALUE comp;[N]STRING comp;[N]H0`	[N]out:[N]END;[2N]H0c[N]nofit:[N]here:= FALSE;[N]H0g
BEGIN[N]INTEGER cpos;[N]H1	for answers matched in the %NOEXTRA mode;[N]H1else, may precede the matching word. 'Here' is mostly used[N]H1 beginning at 'pos' in the student answer. Blanks, but nothing[N]H1#COMMENT: 'Here' determines whether the argument string can be found[N]H1&BOOLEAN PROCEDURE here(comp);[N]VALUE comp;[N]STRING comp;[N]H1-
END;[2N]exit:[N]END;[2N]H11'Write("Duivill intetavbryta.nu.Forts{ttLd}smedidittcordinariesvar.[[N]]");[N]H1:Write("to the PREVIOUS '-->' or 'RETURN' prompt...[[N]]");[N]H1AWrite("Please continue, then, giving your response[[N]]");[N]H1I??? Backing not allowed in this lesson.H1N
END[N]ELSE[N]BEGIN[N]H1???H1`???dSkippingnotuallowedsinpthislesson.H1eN[N]Write("H1q") THEN[N]H1sSKIPPAH1uSKIPH1w
pos:= 1;[N]IF anywhere("H1z
GOTOexit;[N]END;[N]H1}Write("Lektionen avbr`t.[[N]]");[N]H2Write("Lesson2aborted.");[N]H2stop:=uTRUE;[N]H2	")aTHEN[N]BEGIN[N]H2STOPPH2eakoutput;[N]H2!Outsymbol(controlg);[N]H2$Write("""FORTS#TT"" om Du vill forts{tta.[[N]]");[N]H2+*Write("""BACKA"" om Du vill g} tillbaka till en tidigare del av lektionen,[[N]]");[N]H24Write("""SKIPPA"" om Du vill skippa denna fr}ga,[[N]]");[N]H2;"BEGIN[N]Write("Svara ""STOPP"" om Du vill l{mna lektionen,[[N]]");[N]H2CWrite("or 'CONTINUE'.[[N]]");[N]H2HWrite(", 'SKIP', 'BACK', ");[N]H2LBEGIN[N]Write("Answer 'STOP'");[N]H2QBEGIN[N]IF answer.[[1]] = controlstart THEN[N]H2W
ihaveblanked:= FALSE;[N]H2^Delete(answercopy);[N]answercopy:= Copy(answer,1,i);[N]H2eIF answerlength < 0 THEN answerlength:= 0;[N]H2j,[N]out:[N]Insymbol(t);[N]i:= i+1;[N]answer.[[i]]:= t;[N]pos:= 1;[N]answerlength:= i-2;[N]H2tGOTO again;[N]H2wIF t = carriagereturn THEN GOTO out;[N]H2|
answer.[[i]]:= t;[N]H2IF t = lcoe THEN t:= ucoe;[N]H3IF t = lcae THEN t:= ucae ELSE[N]H3IF t = lcaa THEN t:= ucaa ELSE[N]H3
 ELSE[N]H3;[N]H3IF t >= 97 AND t <= 122 THEN t:= t-32H3COMMENT: Lower case transform;[N]H3BEGIN[N]Insymbol(t);[N]H3[N]again:[N]FOR i:= 1 STEP 1 UNTIL 132 DO[N]H3"Breakoutput;[N]quit:= FALSE;[N]H3&BEGIN[N]INTEGER s, t, i;[N]BOOLEAN quit;[N]H3,to interrupt the flow of the lesson;[N]H31to see if the student typed '%', indicating that he wanted[N]H38#dumping it in the STRING 'answer'. Column one of the line is checked[N]H3A!COMMENT: 'Getline' reads in a line of text input by the student,[N]H3I
PROCEDURElgetline;[N]H3LEND;[N]H3Nstopkc;[N]H3PBEGIN Selectoutput(chan);[N]H3TINTEGERchan;[N]H3WPROCEDURErseloutputandstopkc(chan);[N]H3\FORWARDBOOLEAN]PROCEDUREanywhere;[2N]H3aFORWARDEPROCEDUREputaway;[N]H3eEXTERNALiPROCEDUREipub,inolpt,srun,er;[2N]H3kEXTERNALpPROCEDUREcstopkc;[2N]H3oSTRING.ARRAYright,-rightatlast,lwrong[[0:9]];[2N]H3u1STRINGaanswer,*answercopy, char,sendofline,flessonname,Hfirstname,tempfile1,tempfile2,]prompt;[N]H4INTEGERlastrights;[N]H4INTEGERrandno,answerlength,controlstart,5controlg, uparrow;[N]H4INTEGER lcaa, lcae, lcoe, ucaa, ucae, ucoe;[N]H4)INTEGER lastscorecount, lastlatescorecount, lastscorekount, lastlatescorekount;[N]H47INTEGER lasterrors, score, latescore, qcount, lastqcount, lastqkount, carriagereturn, linefeed, pos, blank;[N]H4&#BOOLEAN firsttry, ihaveblanked, nopause, skip, back, stop, message;[N]H4.;H40COMMENT: This lesson was written by[N]H45";[N]H46 COMMENT: This is the lesson "H4:BEGINH4<71161:  Command is out of place here.  As a result,[N]****** this line up to next command line will be ignored.H4Hnoanswer;[N]GOTO repeat;[N]END;[N]H4L
80527:NIUnrecognizedocommandlinefound.  As a result,[N]****** this line up to next command line will be ignored.H5IFNH5IFEH5IF H5FINH5NEXH5 NOCH5!SWIH5#SGNH5$LANH5&COPH5'LOCH5)DISH5*DSKH5,BELH5-KEEH5/NAMH50TEAH52ENDH53QENH55ALGH56INIH58PROH59VARH5;HELH5<NOJH5>JUSH5?TEXH5AGOTH5BGO H5DLACH5ENEUH5GQUEH5HNOEH5JEXTH5KNOOH5MORDH5NSAMH5PWROH5QRIGH5S0392: %IFEND on non-active switch -- will have no effect.H5Z&0371: Unknown switchname in %IF-class command.[N]****** Line will be ignored.H5c$0368: No switchname in %IF-class command.[N]****** Line will be ignored.H5kIFH5m$----------------------------------------------------------------------[N]H5u0324: Command character not first in line.H5{0322: Character after line-number is not TAB.H60316: Long input line will be truncated to 132 characters.H6
****** ERROR Message No. H6: H6LINE xINXO:~:9gfh(igS< \. N6a @6a R6bS"p(B $S* 6i 6i@)@. @. @=d6N J6Z J6\  6Y	`+6V .X<6^+  6\	`+6X+6T
&6c	b+6SggINX06H6 p2
?ALGOL object time system ALGNNN.SHR not found
+$:6fG?@h-=6j>xx?@hP+@h D` % 7 . ?Bh+6y2ph h<B6y 1. . h2p /9p6{ 0+7 7 "& & 4B6~. `,` $h ( '`-=	+h`0]>=S:9 -=7>xx h4`7
0`Z "& h4@7```D& 4B7. , BhSh(@l @P@h hl  @h+h@@hSh(@ @h+hYt}-=71`+@h %7@g 7 @h+h`Id]-=7<@+@h % a`+hZ4B7)  ,>,
,^@@@@+hS;1_0P-=7+<@t+Bh,>-= ,^+@h+h_W&>6E>a -=73<@x h <h+]=J7J(h-=79<@x  >@h h4`7C 6-= 6-==@7@`r-=+hoJNI%-=7D<@+@h % ( <7N "7l<"h4V7K+p-<7K1V-+@ 7m1V.+@ 7n+@ 7p <7M+g
g
-<7K0606+7X4*7R$*+07W.*_h+07W+7R"*+7R1V.=7M5j7Z8J7RA6/1V)+7i1V*+7i1V(+7e0V!1V'+7a0V!+7Q+7d 6-= 6-==j7a`r-=+7R 6-= 6-= 6-==j7g+7c77q . -==j7j+7R`97M97M=7P97P=7M=7P97P+7P+7RaJMmh-=7q<@xx>Jh+(7xP@@h@@h#h#h #o}/"([A ` $1@p =8A ~1@=81J*0@ $h,+hS;]h-=8<@xxx
X@@h+8W&@xxx
X   @h>Bh+8P@@h@@h@@h6"h0"1"+8+Bh  h h,7@+h6Dh+@h5D+@+@h % 8.0   4@8) 
!,A@./$4$8)0d-+8)0$/$D0N(98$hQh-hPh,6Dh+@h7@+h5D+@`gdXzS;]-=8/<@x &+8:gdXzW&
Xt>Bh+8FP@@h@@h@@h@@h6"h0"+@h Dh6Dh+@h,>6@h+Bh,> h % 8i @j4@8[ 8i 0,8c1D98WD1098R,8c0D98U.0 8j 2,8cD<R8[98X,^x hSh(H 
h,,^,^7@+h/  6@h+@h6D+
2p+8Z/$4$8h0d-+8h0$ /$,~ $,~`HHG2~93S2) -=8j<@x6"h0",+h68q68qM7@6pea8lKTP8jAo?Ao>ZpeM8@r:^I@8>pe%87pe81xHP8/pd}8p_i8|G;P8AoDTp_-7t&rOP7qAo>p_7FIc?P7Dp^]7;SM6H`79pXe75u^vg`73pXQ7-^|02`7+Ao>	nk%7!_%N?P7Ao>2nk7"QOP7nj}7SMd`7Ao>\Ao>ne-6lR9@6jJ'e6HJ-MG86IAW ?Fu6
6h 6H?=6H B`6HDEXpDFB:Jq~k2B CBp
cI?ZS(0.
"*0\B:/\>X\>5'\7N+\2g'r'I(\)8*\)7\	&\	)\+,\6.\.,[rO.O[mNO[mO[m	O[l|[l{&O[l+O[kO[kO[j]O[jRO[i%r%H([Z[Qgr%0[Ms/[M"-[M	+[L,[FG[@v*r#eOD^w'`w]!+{ 0