Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-04 - 43,50323/gnosis.rel
There are 2 other files named gnosis.rel in the archive. Click here to see a list.
 0.
"*?ZS(g?=g?F
cIB CBpJq~k2DFB:`DEXg0  -=<@-=,>,> "p@ $"&"(-=,>,> "F@ $"&@@"(-=,>,> "F@ $"&"(-=,>,>
 "F@ $"&"(-=+-=<@,1l1`+,<L+h-=<@v,<L` 0V+7@+,>
,>,>,>,>-=!D ,<L#,<@$+,#<L+ /6 ,~,<LQ`)`,'<L,>
	D"g?F@g?F@g?F@g?F@	g?F@
g?F@g?F@g?F@g?F@"@wpX h'+h./ 
 0`h,>,>,>&,>"-=2,-<L3,<L 01v+,AA<@5 6 V+@h4@,4<L+,;<L,=<L,5<L ",<L`+h-=<@-=+G-=h ).6 VG@vh7@+@( 6 Vh+:h0v+,<L` h $  h-=v+L,M<L` h1vgO Vh@v 6 Vh+:h0vB++[-=h,R<L` h $/ h-=D"g?F@3g?F@Cg?F@Eg?F@Fg?F@Pg?F@Zg?F@^@oxx9X90=P?	8L	PR	 V
xX/ ^v h2V+ h1V+OvV h2V++ h2V+,<L
@ ` h0V++[ h.6 Vh+d+X,<@`+o-=h h
/6 V6 $] "-=$2D++G7@h+,<@`+7@b+ "A,<@` :1v+ {/6 V|,A<L`7@I+,.>
OE
,>,>,>9,>2-=,?<L,<@+,<L(+ H@/6 ,~,+Dg?F@ng?F@rg?F@@p
b
b
8d
Xkl8tPx{x{ 
1""(
`,<L.,>
q`hp,>,>,>,>-="DP ,<L,@<L 1v+,<@ }0V+,<L,~<L` $ "-=$3D_++,<P`-=0@+, <P,>,>,>,>,>-=*,<P+,1l-0`+,<@d 6 V+:22v+ 3..X.-=0@++(E+3,<@d1+G+>-=hD"g?F@g?F@ g?F@%g?F@+g?F@7g?F@=@x@@ #x2049H:0(> $ "-=$2DgO  $> "-=$2DgOG4D(
o.5LX4V,<@`mF.G@vX+J.KOvX$B"-=($2DgO.MDX@vm6VR+:T2v4+L.UXQ"@*D.WPv.XIHLAGSV\+U+G++`-=h7@\++G6|V>o,^o>`K+h-=<@-=6Vh+:h,>,-1l32xgO/D"g?F@?g?F@Cg?F@Og?F@g?F@dg?F@g@oJ`L@SHU`]h^a`a
+i>o,^o>`K+h-=<@z+-=h
D"g?F@og?F@sg?F@xg?F@{g?F@g?F@g?F@g?F@
g?F@Dg?F@g?F@g?F@@}@h}@!$,>
N`x,>,>,>,>-=,d<@ @ h0V+"-=0@++$-=0@++'-=@0@++*-=0@++--=0@++0-=@0@++3-=0@++6-=0@++9-=@0@++<-=0@++?-=
D"g?F@Fg?F@%g?F@(g?F@+g?F@.g?F@1g?F@4g?F@7g?F@:Dg?F@=g?F@@g?F@C@~$`'%*%@-%p0& 3&P6'9'0<'`?(B)@C0@++B-=0@++E-=0@++H@-=0@++K-=0@++N-=0@++Q@-=0@++T-=0@++W-=0@++Z@-=0@++]-=0@++`-=0@++c@-=0@++f-=0@++i
-=0@++gsg?F@vg?F@yg?F@|g?F@g?F@g?F@D g?F@g?F@g?F@g?F@@p-`o.r.@u.px/ {/P~0000`1
1@'""+-=0@++-=0@++,<@d;"A,C<@ $ "-=$3D!+,C<@+ 6 Vh++h-=>-= b Vh h1V+++)-=h $ h-=$ Dh h2V@
++ h3VP+ h.6 Vh+)+3-=h $) h-=$ Dh h"2V,++- h2V.+ h	D"g?F@g?F@g?F@g?F@"g?F@$g?F@(g?F@*g?F@2g?F@4@2 2P33h 3"2X"2("1x"1H"1"0h"08"0"/X"/(".x".H"."-h"-8"-",X",("+x"+H"+"*h"*8"*")X")("(x"(H"("'h"'8"w'"&X"&("%x"%H"%"$h"$8""p"4p(5P.5p16h7 PA 9.6 Vh+3 $3 h-=$2D6++7 h.6 V%+A-=h $; " ?-=$ Dh h3V8gO h3T=gOA4V B.6 VI+A"+ J/6 ,~,>
A`Q`K,>,>,>h,>hDg?F@<g?F@@g?F@B@@7;7X>9K90M5  R-=h++U-=h,>,>,>h,>h-=h+Z-=h>o,^o>`K+h-=<@ 6 V+:_,>,j1l3 xgTO/4@+ $h `-=,~,f<LNe+`,<L+h-=@<@-=,<L 6 Vh+:h,>,a1l3 xgO/d4@ $h h-=$ Dh h2VgO h2TgOG h2Rg(OG h2PgOG4V,g<L`,<L`+q,n<L	D"g?F@Rg?F@Tg?F@Wg?F@Yg?F@\g?F@fg?F@kg?F@mg?F@w@?_@4x37`U:0Z48;x`<Pg<Hi;P>q@ >X, >o,^o>`K+h-=<@-= "h-=+-=>@-= K Vh $N h-=$ Dh h2VF+++-=h $ h-=D $ Dh h2V++ h2VDgO h2TgOG4V h.6

 Vh+ $ h-=$2D++ h.6 V+)-=h $" '-=@ ($ Dh h3VgO h3T$gOA4V ).6 V0+)+D"g?F@	g?F@g?F@
g?F@g?F@g?F@g?F@g?F@#@g?F@(g?F@*@|=@BHC(D"DP&F2,("3 1/6 ,~,M>
)`Q`3,>,>,>h,>h-=h++<-=hU,>,>,>h,>h-=h+A-=h>o,^o>`K+h,C<@@"L4V@vh $6 "-=$3D+ 0V+ h.6 Vh h06+ ,<L+@vh,M<L+ h.6 Vh h1v
+,P<LQD@vh+,5>
F`hI,>,>,>,>-=[,~,kD"g?F@9g?F@;g?F@?g?F@@g?F@Gg?F@\@?~F(5DX<G(AAhAPCIPOIpQIRJHWJp^/"E <@^W,<@\,C<@+F+@vh@vh 6 Vh $X "-=$""3DH+ Y0V+7@h+,U<L h.6 Vh h06+,k<L  N h.6 Vh+,o<LV@vh@vh 6 Vh+ h.6 Vh h06@@+,s<Lp h.6 Vh+,z<Lt@vh+OvhLh4V,}<L  oOvh7@h+,<@,
+,<L~@vh,((A,<L, <L+,C<@+e7@h+,!<L h1v	P"+,&<L,<@`-=+h-=<@ 6 V3+:/ hP P(.42v+ $e 0-=$2D,+++0+8-=h 3 V8+:9  1.42v+ $3 :-=$3D5D"g?F@,g?F@-g?F@4g?F@7g?F@=@?xRSRP#QP#P@#Ox#M%TX'L0'U*A(p-V1VX6V(7W:- P(?+++:+B-=h+h-=<@,-<@ =2v:++"P(@",W>
<hEhF,>,>,>a,>[-=K,~,\<@^G, P<@L+h-=<@+U-=hK-=0@+OvD+U   N-=0@+@vX+Y3-=0@+Ov+\6-=0@+"@@"@v_+`--=0@+Ov+c0-=0@+@vf+gBD"g?F@Ag?F@Bg?F@Lg?F@Rg?F@Tg?F@Vg?F@Zg?F@]g?F@a@g?F@dg?F@h@}_Wp@W@@U`V`8WxBXpNXhPX8ZxY[0\[h`\ c\Xg]j)  k-=0@gO jE-=0@gOG4@-=+,G>
"(H`hI,>,>,>Q,>K-=v,~,\<@^s u Vh $t@
 h-=$2D>gO h1vgOA4D h/6 Vh+| $| hQ-=$3D{+,<@`,<Lh,i<L,<@x>o,^o@">`K+n]-=0@+,B<@+-=D"g?F@kg?F@og?F@rg?F@wg?F@}g?F@g?F@g?F@@@^(z`(`x
^0" h,C<@ $ "-=$2Dg++ {0V+,<L++"(@",s>
`h,>,>,>\<@^,
 <@"+++,C<@ $ "-=$3D+,<@d $)D(( "-=$3D++,C<@+.+4-=h,<@`+U+8-=h+h-=<@-=,)<L,
<Lh`,1l1`+ ,;<L 6 V+:CD"g?F@g?F@!g?F@*g?F@/g?F@3g?F@7g?F@8g?F@:@	wcc(cH$c@'b (dx(ax(] (\h(\0([x([@([(f3e@3Z0c4e8`h8D)"PD,>,>1l?3 xgO/u4@ $F D-=$ Dh h2V}g O h2TgOG h2RgOG h2PygOG4V,
<L`,U<L`+D,A<L>o,^o>`K+h-=<@,Y  <L7@+ }0V+,^<L+ a0V+,b<L+ ,f<L7@+,8<@+h-=Dg?F@Jg?F@\g?F@l@?jPWiYhYgl dlXgl@glhlxim kkX2 A
m<@,h<L,n<L>,o<LOv+h-=<@v-=,>>X-=X{ h.6,>,>,>X,>X-=X  h.6,>,>,>X,>X-=X
 h.6,>,>,>X,>X-=X  h.6,>,>,>X,>X-=X h.6,>,>,>X,>X-=X l h.6,>,>,>X,>X-=XxD"g?F@sg?F@vg?F@yg?F@}g?F@g?F@g?F@g?F@g?F@@g?F@g?F@@@mP.  h.6	,>,>,>X,>X-=Xo h.6
,>,>,>X,>X-=X i h.6,>,>,>X,>X-=Xu h.6
,>,>,>X,>X-=Xr.h.6,>,>X,>X-=X Q h.6,>,>,>X,>X-=XW h.6,>,>,>X,>X-=XLh4V 6 Vh+:h,>+@h3 xgO/H4@ h..hX-=0@+	D"g?F@!g?F@&g?F@*g?F@/g?F@3g?F@8g?F@<g?F@Ag?F@K@`x@E1( 
L,<@`,C<@ $. "-=$3D0+,C<@+O,<@(`+++@h2@h+Ovh+D+Z-=h+B-=+h-=<@ A,q<L,^<L,_<L,a<L
-=1@gO"(Ai4@,b<L,\<@d,h<L,<L,k<L,m<L A,o<L d0V+,p<L,s<L,u<L,v<L,x<L+h-=D"g?F@Pg?F@Yg?F@[g?F@\g?F@eg?F@{@_z Ty@VzxXz`XyYx([zXZnH|xm~0u{P/  }<@7@+,y<L7@+,~<L7@g+,<L, <L,<L,<L,<L,	<L,<L,
 <L,<L,<L,<L,<L,<L r0V+,<L+ 0V+,<L,<L,<L A,<L, <L,"<L,#<L,%<L,&<L @,(<L,)@|`08" "8 A+<L,+<L,,<L,.<L 0V+,/<LL4V,2<L,5<L+ 10V+,6<LL44V,: <LL;4V,<<L,?<L7@+,@<L,C<L A,D<L,F<L,G<L,I<L 80V+,J<L A+ L0V+,M<L,Q<L,R<L O0V+,T<L + U0V+,W<L,Z<L,\<L Y0V+,]@<L+ _@H6 8@>h@BB(D	PO
R	pR
hY \\
b4 A c0V+,`<L,d<L,e<LL>4V b0V+,gA<L+ i0V+,k<L,n<L+ m0V+,p<LP"+ r0V+,s<L,w<L',x<L,z<L^ u(0V+,{<L+ }0V+,~<L,	<Lf,	<Lh"Lh4V 	0V+,	<L+ 	0V+,		<L,	
<L + 	0V+,	<L+ 	0V+,	<Lx,	@

8e
(e0uhxPxz`				@	(	p		xH	0	1"E	<Ly,	<L{ 	0V+,	<L,	<L+ 	0V"A+,	<L,	 <L',	!<LH,	#<L,	$<L,	&<L A,	'<L,	)<L,	*<L,	,<L,	-<L,	/<LP"A,	0<L&,	2<L,	3<Lp,	5<L,	6<L,	8<L( A	3,	9<L,	;<L,	<<L,	><L,	?<L,	A<L ,	B<L,	D<L,	E@@x	(	x	!`	!9 A	G<L,	G<L,	H<L,	J<L,	K<L,	M<L"E
(,	N<L	0,	P<L	1,	Q<L	:,	S<L,	T<L	4,	V<L	6"E
,	W<L	7,	Y<L	9,	Z<L	T,	\<L,	]<L,	_<L	] A,	`<L,	b<L,	c<L,	e<L	a,	f<L,	h<L	? A,	i<L,	k<L,	l<L,	n<L,	o<L,	q<L A,	r<L,	t<L,	u<L,	w<L,	x<L,	z<L	X @,	{<L,	}<L<(P A
,	~<L	u,
<L,
<L,
<L,
<L,
<L A,
<L,
	<L,

<L,
<L,
<L,
<L A,
<L,
<L,
<L,
<L,
<L,
<L A,
<L,
<L	|,
<L,
<L,
<L,
!<L A,
"<L 	0V+,
$<L,
'<L,
(<L,
*<LP A,
+<L
,
-<L,
.<L,
0<L,
1<L,
3<L @,
4<L,
6<L
,
7<L,
9<L@`$h
+:*( 
;
 ,
:<L,
<<L	g,
=<L,
?<L
.,
@<L,
B <L,
C<L,
E<L,
F<L,
H<L,
I<L,
K <L,
L<L,
N<L,
O<L,
Q<L,
R<L,
T<L,
U<L 
%0V+,
W<L+ 
X0V+,
Z<L D( ,
]<L7@B+,
_<LD,
a<L,
c<L,
d<L,
f<L,
g<L 
\0V+,k<@+ 
j0V+,k<@"E,
i<L	$,
q<L
A,
r<L@+
\+P
_+8
_,
c-8
n-p
q-X
q7( A

u,
t<L,
u<L,
w<L,
x<L,
z<L
s,
{<L A,
}<L,
~<L,<L,<L,<L,<L( A
8,<L,<L,	<L,
<L,
<L,,<L
>,<L
|,<L,<L,<L,<L A,<L,<L,<L,<L,<L,<L A,!<L,"<L,$<L,%<L,'<L,(<L,*<L<" ,,+<L,-<L,.<L,0<L,1<L,3( <L,4<L,6<L,7<L,9<L,:<L,<"<L,=<L4,?<L,@<L,B<L7@+,C<L A,F<L,G<L,I<L,J<L,L<L,M<L A
,O<L,P<L,R<L,S<L,U<L{,V<L("E
Q,X<L,Y<LT,[<LV,\<LW,^<LY,_<LT,a<L8jd-=1@+,b<Lg?F@e:( A
h,f<L,h<L,i<L,k<L,l<L 
n0V"+,k<@L4V,k<@Lr4V,k<@,n<L_,kA"<@+ o0V+,k<@Lu4V,k<@L~4V,k<@P"A,w<Lx,k<@,k<@d,
<L,
<L,
	<L(  o {0V+,
<L,
<L+ 
0V+,
<L,
 <L,W<LhQ,
<L,
<L,
<L,
<L,
<L,
<L,
<L@p>0u>Xw>{?h
@
?@
?(
<`
	8X
	AP
B 
B
5( A

!,
 <L,
!<L,
#<L 
0V+,
$<L
,
'<L E,
)<L,
*<L,
,<L,
<Lh
,
-<L,
0<L(DP ,
2<Lc+ 
&0V+,
3<L
(,
7<L,
8<L,
:( <L,
/<Lh
0,
;<L
1,
><L,
@<L,
A<L,
CP <L,
D<L,
F<L,
G<L
 
50V+,
I<L,
LA<L+ 
J0V+,
M<L,
Q<L,
R<L,
T<L@|Dp
5Fh
AFP
AI8
OJ
UIp
U8( A
V+h-=<@,
U<L,
Y<L,
[<L 
O0V A+,
\<L,
_<L,
a<L,
b<L,
d<L,
e<L"A,
g<L,
h<L,
=<Lh
>,
j<L,
m<L,
n<L(@b,
p<Lc-= "h-=+-=<@ =h p0V+@vp p.6 Vp p0V+,>,>,>p,>p-= =hp+ p0V+,>,>,>p,>p-= =hp+ p0V+,>,>,>p,>p-= =hp+ pD"g?F@
Wg?F@
sg?F@
tg?F@
ug?F@
g?F@HKp
bOH/A
q<L,<<L``,
r+h@vh 6 Vh 
^0V+,
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u<@,
u<@@vQP
u<@,
u<@,
u<@,
u<@,
u<@,
u<@ ,
u<@,
u<@+ 
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u <@,
u<@
u<@,
u<@,
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u <@,
u<@,
u<@,
u<@,
u<@,
u<@,
u<@,
u<@,
u<@@`S8
u<@,l<L-=+h-=<@,4V,<L,
 A<L`,<L7@
+ 0V+,<L,<L7@
`+,<L
b,<L,<L,<L,"<L,#<L,%<L+0V+,&<LD(,*<L7@+,+<L,.@g?F@,:<L,;<L,=<L,><L"E(,@<L
V,A<LB,C<L,D<L,F<LD7@+,G <L,J<L,K<L,M<L,N<L,P<L,Q <L,S<L,T<L,V<L,W<L,Y<L,Z <L7@+,\<L7@@@e8e8k``i`9" `+,^<LS (0V+,a<L,d<L
q,e<L,g(<L,h<L,j<L
,k<L+ b0V+,m<L"E
(,p<Lf,r<Lh,s<Lb,u<L,v<Lk,x<Ll  ,y<LL4V o0V+,{<L,<L,<L "Ed-=1@+,<L,<L,<LZ,	<L,
<L",
<L, }0V+,<L,<Ls,@<L-=1@@g?F@g?F@@l8on|mh|l|b8|pX
oh5"( +,<L,<L,<L,<L,k<@,k(<@,<Lz7@`+
-=1@+ 0V+,k<@"A+ '0V+,k<@,k<@% +0V+,"<L+ /(0V+,1<L,
k<Lh
l<30V+,4<L+70V+"AA,9<L:+;0V+,<<L+>0V+,?<LL	4V4A-A0V+,C<L,G<L,H<L,J<L+g?F@&@	sr "r"u+u@.u(.tp/tH/v3v@6v(6w;w@>w(>wpAx(DxDxhM0("M E0V+,K<LLD4V,O<L,Q<L,
,>,>,>V,>-=f @,^<L ` Vh 6 Vh+:h2vh+,<P,T<L,h<Lg P @ ,o<L+l M0V+,q<L,t<L+ s0V+,v<L,y<L,{<LDg?F@\g?F@cg?F@g@{@zSyhSyPSxPSoPT_0}8l}Ps~@x|~x|2 A}>o,^o>`K,|<LL|4V x0V+,<L,<L( @ ,<L,<L,<L,	<L+ 0V+, <L,<L,<L,<L,<L,<L7@$
+LLIA4V+0V+A,k<@,k<@ 0V+,k<@,k<@+,$0V"+,k<@,k<@,<L@p|(0,;<L AA,?<L =0V+,@<L+ B0V+,C<L,G<L(Q"0,H<Lb,J<L#7@+ E0V+,K<L,O<L A+ N0V+,Q<L,T<L,V<L7@-+,W<L/"A ,Z<LK,[<LL4V,]<L,<Lp,a<L@`05h8P80=h@P@0EhHPHK	pS
@W
(W[pd4(P"Ad,b<L
g,d<L,e<Lv S0V+,g<L+ h("0V+,j<L,m<Ly,o<L,p<LI,r<L\L"4V l0V+,s<L+ v0V+,w<L,{<L,|"A<L7@+,~<L,<L},<L,<L,<LQ E
,<L,<L,	<L,<L,
<L	,<L"E,<L,<L,<L,<L,@x<L+h-=@"<@,R<@H*-=0@+%-=0@+,<@d-"D+,<L,)<L$,+<L,C<@ $O "-=$3D7+"E,<@d( $/ "-=$3D1+,C<@+4,<@`+,
 @<@,,c>
,>,>,>;,>-=>LLA4V,,<L"D+,B<L@v,n<L,D<L=,G<Lr+h-=<@D"g?F@g?F@#g?F@%g?F@0g?F@5g?F@?g?F@K@w{Ph).h88@: D@F F/"M-=,E1lH @h+Q-=h $N h-=$ Dh h36+    $Q h-=v h/6 Vh+Q+ h.6 $U h-=v>o,^o>`K
+h-=<@-= i.6 Va,M1lb @h+f-=h $d h  -=$ Dh h36T+ U $f h-=v h/6 Vh+f+ h.6  $k h-=v>o,^o>`K+h-=<@-= "h-=+,c1l . ,~,D"g?F@Mg?F@Pg?F@Rg?F@Vg?F@\g?F@_g?F@ag?F@eg?F@gD"g?F@lg?F@qg?F@tg?F@vg?F@w@}~`HZ]@}X_ opr{("{>
Q`x`,>,>,>h,>h-=h 6 Vh+:h,>,x1lyD 3 xgO/G4@ $ h-=$  $h h-=v+ $ "-=$  $h h.6 -=t $ "-=$  $h h.6 -=t $ "-=$  $h h.6 -=t $ "-=$  $h h.6 -=t,<L`D"g?F@g?F@g?F@
g?F@
g?F@g?F@g?F@g?F@g?F@@g?F@g?F@ @x  `. @
#`Ov,<L`-=+h 6 V. 6 Vc 6 Ve 6 V,{>
"``,>,>,>,>-=. 6 $/ "-=v,+>
`C`,>P,>,>4,>-=5'$7"C-=v($8"C-=v$"-=F$D$""-=$D$l"-=$DP$"-=$XD$"@ "-=$D~$"-=$Ds$"-=$DS$,>,>,>I,> Q-=X,>,>,>/,>-=[,>,>,>W,>V-=^,>,>,>,> Q -=a,>,>,>",>-=d,>,>,>&,>!-=g $ "-=$  Dj $ "-=$ DiT,>,>,>[,>-=p $ "-=$ D  $ "-=$ D $ "-=$ D $ "-=$ DDD"g?F@Qg?F@Vg?F@Yg?F@\g?F@g?F@bg?F@eg?F@hg?F@jD"g?F@mg?F@qg?F@sg?F@ug?F@xg?F@z, @| $ "-=$ D $ "-=$ D	 $ "-=$ D $ " P -=$ D@,<L`,<L`0,<L`	`,<L
*`,I<L,<L,<L+-=h@vU@v` V@v
(A"U*@vb,<>
d,>,>,>p,>f-=Ovb@v VY V^ V V V] V$*D*E Vi V VM Vu 6 V@v V= V6 V,<@]n,>,>,>%D"g?F@}g?F@g?F@g?F@g?F@g?F@5(P D"(,>\-=',<L,)<L,C<@,>
:`h,>
,>,>,>-=12&-=0@++,d<@3 6 VI $D "P -=$  $7 8-=$3DgO,>,1l;3`;gOAx"
/4@ @.6 VC+8,?1l@2@D+-=+,E1lF. ,~",2>
Q`I`,>,>,>,>-=N 6 VG+:Q,>,I1lJEP(3 xgO/B4@ $T R-=$  $P W-=v+R $8 "	D"g?F@(g?F@2g?F@4g?F@9g?F@<g?F@Hg?F@Og?F@Xg?F@Z@p6P680E9K:R:h\/ @
]-=$  $Y Z.6 -=t $ "-=$  $^ _.6
 -=t $ "-=$  $d d.6 -=t $ "-=$
D   $i j.6 -=t+,S1lo,~,K>
Q`r`,>,>(P(@ ,>W,>1-=ws,>,>,>y,>x-={>o,^o>`K,+<L,~
(<L|,<L,!<L`,<L`,[<Lho &41VgO V,
D"g?F@]g?F@`g?F@bg?F@fg?F@hg?F@kg?F@mg?F@qg?F@xg?F@|@x> t8x~/ A <L`,<L`,<L` 6 V+:,>,r1lE
3 xgO/V4@ $ -=$2DF+ /6 V+++-=Q"D h,<@),<@,<@c,->
`h,>,>,>!"DA,>b-=%,t<@+*-=h,C<@ #0V+ /0V+,C<@(D+, $. "-=$ D+ $ "-=$3D1+,<@` $/ "-=$3D4+D"g?F@g?F@g?F@&g?F@)g?F@0g?F@3g?F@8@|BCB`EX/FH7E@70(D :,<@d3 $7 "-=$3D9+,C<@+<,<@`,R
 <@f-=0@+Ov,<@`+*C
-=0@+,""P
>,>,>,>,>-=M,d<@NOv,<@`+*HzEQ"-=0@+,<@`,">,>,>,>W,>_-=Y,d<@[\ -=0@+ 6 V"+]-=0@+ 6 V`+,<@`
@+*S-=0@+	D"g?F@=g?F@Dg?F@Ig?F@Ng?F@Tg?F@Zg?F@^g?F@bg?F@h@xGh@G@HPHI(SKpaL0eLHgLgJXg-*P@(jOv!+*g-=0@+,-<@,">,>,>,>7,>*-=p"DA
,d<@r,1ls0`+,<@d; 6 VZ+:y2v+(@u z..6X-=0@+,<@`+z z0V+,<@ E
dw+ .6 V,">
{ ..},>,>,>X,>X-=X (P,">,>,>,>,>q-=,d<@-=0@+ Y.	D"g?F@lg?F@qg?F@~g?F@
g?F@g?F@@MkN`xOzOpO0P0PX1 @
"OvX+-=0@+ .@vX+,<@d V.
@*@*@vX+*k-=0@+Ov +* -=0@+Ov+*#"UU-=0@+Ov+*''-=0@+Ov+**-=0@gO
T .+-=0@gOG4@Ov  V" V,<@`,$<L E`,<L,:<L',<<L,=<L=,?<L,F<L T,9<L`+*1-=0@+D"g?F@g?F@!g?F@$g?F@(g?F@+g?F@/g?F@2g?F@F@~RPSS8RpMP T #TX'U*UH.VPE-(E A*G,-<@,>
<h$h,,>,>,> ,>-=L+*E~-=(*0@+,-<@,H>
IhJhJ,>,>,>,>(-=UW3-=*0@+,<@`Ov6Ov5+*,\<@N4-=0@+,R>
 Q"A
,>,>,>^,>e-=c,R<@+^,s<@`,{<@e9-=0@gO i=-=0@gOG4@mm-=0@+,a	D"g?F@Mg?F@Og?F@Vg?F@Xg?F@_g?F@dg?F@jg?F@ng?F@r@@XpN[\Z]\g0"

t>
b,>,>,>q,>d-=v,B<L,x<L,R<@+qwjA
(-=0@+,@<L,~<L>",<L-,<L
J,	<@,
<LH,R<@+{+i,s<@`,
W<@{Z-=0@+,s>
 Q"@t,>,>,>,>v-=,y<L,<L,R<@+,s<@`,P+ ".6 V!,<LD"g?F@wg?F@|g?F@
g?F@g?F@g?F@g?F@@p^0{,X^aPcH1(D(@$,
"<@,<L,&<L(,.<LJ,	<@,/<LL&4V,2<L(Q"T`,4<L+,6<Lc,7<L+9-=0@+-=,
(Q <@q,
,>,>,>?,>p-=B,<@@X,>,>,>E""A,>?-=G@vOv`@vr V #.6 VK,9<L,$<LhL`,L
 <L'7@\+-=,<@ZD"g?F@+g?F@<g?F@=g?F@Cg?F@Hg?F@R@xf@9d;3 ("T 6 V+:U2vT+ $S V-=$2D>+ X26V+ Z.6" D( V\+ ]/6 V+ $W ^-=$3DA+ `/6 V_ c/6 Vd P +g-=h $` e-=$3DCgO  $g h-=$3DHgO@"A4D l/6 Vp+g,<@T+ q.6 ,~,?>
kQ`t Q"@"hd,>,>,>s,>Y-=y x.6 Vt+V>o,^o>`K,B<@/,>
",>,>7,>*-=,_<@,-<L,P<L,D"g?F@Xg?F@ag?F@fg?F@hg?F@lg?F@zg?F@@~jXVk8^kX`mxrn8vl(}k }jp}kxgj ."A<L0,<L,<L,
<L-,<L,

,<L,<L:,<LL,	<@7@)+,<L[,<L("*0,<L,<L7@Q+ [ V@v,8<@  V,<LA
"L34V,!<L,#<L7@+   V @v',8<@ ( V( E
(,%<L,+<L,,<L8,.<L,/<L&7@&+ ** V*@v3,8@~r`sP!tp+9"P P(5<@ 4 V4,1<L+:-=h@vA,R<@@v;$-=0@
 D*+Ov@LJ4V S2v6+,<@,-<@,v>
wh@h@,>"@",>,>B,>-=GOv? 6 VE+<'-=0@+@v>+K<ET -=0@+Ov:+O?-=0@+Ov;@vNLJ4V,l<@+LVD(4V,l<@,\<@,7<L,[<L7@I+,]<L,k<@("D(I,_<L,b<L,d<L*L"4V,e<L5,h<L-"D,i<L/,k<L\+D"g?F@9g?F@=g?F@Hg?F@Lg?F@Pg?F@S@xv07t08xKwxKw`KyXOzRzhXzHX{Z{pd|xl{nz nyhny0n-( (n,l<L,<@a,">,>,>,>q,>Z-=s,d<@u((A
vE-=0@+OvFLUAyLQALUA4V+I.6LV}4~0VD+LX4V,l<@,n<L+g/6,~,N<LQ```D"(,<L,K<@,\<@,<L,	<L,3D>++,<@`+:""@",K<@7@+,<L,
<Lww-=1@+L|4VL$4V A",%<L,,<LL+G4V,.<L,1<L7@*+,2D"
<L 6 Vf+:7,>,t1l(3 xgO/4@ $: 8-=D*"$ D ?2VM+,6<Lh? B2Vi+,A<LhC,D<LhB+8 DQ",5<L7@4+,G<L,J<L,K<LQ,<@=D g?F@g?F@g?F@)g?F@>@p!#P(@.204H6x8B8EHG	K0(
"P,">,>,>,>O,>t-=R,d<@S+( 0GIL AzD("LA4VL/4V,M<L-,[<L,\<LL,^<LN7@V"D(+,_<L,b<L_,c<L`,'<L,e<LK,g<Ld"D ",i<LLW4V7@z+,j<L+,n<L,p<Lf7@aD*"+7@2+,8<@7@V+LXAlGm4V,q<L,f<L,y<L(Q,{<Lj,}<Lkg?F@S@@ V(\a
lHv8vzhz4(D@",	<@,<@+:>o,^o>`KR,R<@+c-=0@+""A
,\<@+-=h7@P+,~<LP,<L,<@#,<L A"`,C<L`,<L`,<L`,<L+,<@d D+%-=h,C<@ $ "-=$3D
+,<@d" $& "-=E$3D(+,C<@+++1-=h,<@`++4D"g?F@g?F@	g?F@g?F@g?F@$g?F@'g?F@,g?F@0@``gP0
`H!X//. 3-=h-=+hH9=3340: A command line is required at this point.  As a result,[N]******  this line up to next command line will be ignored.HG63330: Command is out of place here.  As a result,[N]****** this line u p to next command line will be ignored.HS	...and is ready.[N]HV[N]END;[N] @HXextratest;[N]HZwrongmessageH]rightmessageH_GOTO  HaIF NO@g?F@3g?F@4@
{6X4C0}`c`%hnp5@66X7nh7 8(80FRxU WY~
0^X`-[@aThere(endofline)0THENHGOTO HeLACKHg") THEN GOTO Hipos:= 1;[N]IF NOT anywhere("Hmhere("HoanywHqIF NOT Hs@ pos:= 1;[N]Hupos:= 1;Hw13200: Expected answers must precede first [N] ****** empty answer pattern. Command will be ignored.HSAMEH THEN[N]  HIF lasterrors =HIF ihaveblanked THEN restore;[N]H
5"]HWrite(right[[random]]);[N]Newline;[N]GOTO SAMEQZXAAB;[N]H@giveanswer;[N]H[N]simulate:[N]Hskip:= FALSE;[N]GOTO simulate;[N]END;[N] H IF skip THEN[N]H#
back:= FALSE;[N]GOTO H&IF back THEN[N]H)@stop:= FALSE;[N]GOTO endoflesson;[N]END;[N]H.IF stop THEN[N]H1tryag ain;[N]H3	BEGIN[2N]repeat:[N]H6IF FALSE THEN[N]H9firsttry:= TRUE;[N]lastrights:= lasterrors:= 0;[N]H?BEGIN[N]INTEGER subblock;[N]HC@`|8|{`wvu@"tH%t (s(-r0qx2q`5q08q>iXB4  C
[4N]COMMENT: QuestionHGQZXAAAHIBEGIN[N]pause;[N]HL@[4N]COMMENT: TextHO[2N]PROCEDURE HQ)2727: Ignore this message if you meant to omit[N]****** teacher's name and address.H[.SRT<155> files to receive teacher reports.H`.DTA<155> and Hc****** He2651: Ignore this message if you have createdHj/2545: Switch value neither 'TRUE' nor 'FALSE'.[N]****** The effect of this error is undefined.HuFALSEHv@phFf0Hd8K_pN[8PXZWh_W8bWdSXiStR8u5"vTRUEHx+2538: More than 9 switches not allowed.[N]THIS switch will replace the  old number nine.H2536: This switch is doubly defined.H#2530: No switchname in %SWITCH command.[N]****** Line will be ignored.H 2501: Unknown language.[N]****** GNOSIS will default to English..HSWEDISHHENGLISHH;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 i@`PPwPOLhLKXJ(Hx&7 +n 'SYS:'. [N]****** Load as follows: '.LOAD <lessonname>.ALG, SYS:GNOLIB.REL'.H4=2435: A command line is required at this point.  As a result,[N]******  this line up to next command line will be ignored.HB2430: You are not using '%' as a commandA indicator.HH%HJ	" has begun...[2N]HM[2N]Translation of tAhe lesson "HQOHSNHT-->[B]HV&[2N]Enter lesson name with extension, or push RETURN to exit from GNOSIS.[N]H_[2N]Do NOT type ahead whi@~G83FhAF G@(I?xL=HP<pR5@S5(U2(^6 ble running the GNOSIS translator.[N]HgCopyright (c) 1978 by Jacob Palme a@nd Walter ManerHmGNOSIS Version 2 (June, 1978)[N]HqTTYHsE AHt@Hv#Hw$HyeHz`H|{ AH}}HZH]]H"H!H= AH:HGH	LHAH
.HGOTO  next;[N]HGOTO repeat;[N]H=2187: A command line is required at this poin@
2f1xl0xp08r0s/hu/@v/x.py.H{. |-@~*)8)'p'H<|"h-
;@X/rt.onAs"aresult,[N]******("thisilinehupltosnext"commandline will be ignored.H @GOTO SAMEH"#2177: No previous comment available.[N]****** Command will be ignored.H*Write("!");[N]H-%IF firstname # "" THEN[N]BEGIN[N]Write(", ");[N]Wr ite(firstname);[N]END;[N]H5Write("[[2N]]Have a nice day");[N]H:Openfile (1,"");[N]Openfile (3,"H>Selectinput(1);[N]Selectoutput(3);[N]Transfile;[N]HD.SRT", %155);[N]@`(!`)H,0489 =hC7( FHGClosefile(1);[N]HJOpenfile (1,"");[N]Openfile (2,"HO Selectinput(1);[N]Breakoutput;[N]Selectoutput(2);[N]Transfile;[N]HV.DTA", %155);[N]HYOpenfile(1,"H\""...[[N]]");[N]H
GOTO mess;[N]END;[N]Hj
Write("MEDDELANDE:");[N]HmWrite("MESSAGE:]");[N]Hqack THEN[N]BEGIN[N]back:= FALSE;[N]GOTO  H}@`@FxI`N(UXXp[@^bf
hp}@t}v`|4h@}Write(prompt);[N]Breakoutput;[N]getline;[N]H[N]mess:[N]H$Write ("Sluta medhatt tryckapenhextrahg}ngTp}NRETURN-knappen.[[2N]]");[N]HIf you have any message for the teacher, then type it now, one[[N]]");[N]H()Write(" totalt av[[NT]]-");[N]Print(qcount,3);[N]Write(" givna fr}gor.[[2N]]");[N]@|
p
X

 
	'8(0H16Write("Wtotal"rightSoutofa"totalof[[NT]]-");[N]Print(qcount,3);[N]Write(H"cquestionseattempted.[[2N]]");[N]H=Print(latescore,3);[N]HAWrite("f`rstasvaroch[[NT]]-");[N]HEWrite("Lrightnanswerskonmfirstutrieseand[[NT]]-");[N]HL4Print(latepercent,2,1);[N]Write("% t(");[N]Print(percent,2,1);[N]Write("%)[[NT]]-");[N]Print(score,3);[N]HWHzDetta blad kommer att skrivas ut p} radskrivaren.H [[2N]]Denna lektion har producerat ett rapportblad till l{raren.H Write("This sheet will be printed on the line printer.[[N]]");[N]H(Write("[[2N]]This lesson has produced a report sheet for the teacher.[[N]]");[N]H$Write(" fr}gor gav Du r{tt svar f`rsta g}ngen Du f@mhs8y hPp8 ick fr}gan.[[N]]");[N]H!Write(" g}nger.[[N]]P}");[N]Print(score,3);[N] H'"Write(" fr}gor, [[N]]och Du gav r{tt svar");[N]Print(latescore,3);[N]H/"" {r slut.[[N]]Du har svarat p}");[N]Print(qcount,3);[N]H6Write("Lektion "" H9%Write(" questions your answer was right on your very first try.[[N]]");[N]HA@Write(" times.[[N]]On");[N]Print(score,3);[N]HG(Write(" questions,[[N]]and you@ gave the right answer");[N]Print(latescore,3);[N]HP"" you answered");[N]Print(qcount,3);[N]HU
GOTO start;[N]END;[N]H`!Write("utan m}ste backa till lektionens b`rjan. F`rl}t![[N]]");[N]Hh)Write("Jag kan inte g} en liten bit bak}t p.g.a. lektionens komplexite@t[[N]]");[N]Hr'Write("from this point.  It is going all the way back to the star@t.[[N]]");[N]H{)Write("NOTE:  The backing procedure is unable to go back just ONE   step [[N]]");[N]H:[N]H
IF FALSE THEN[N]BEGIN[N]H	ZQXAAA@xXX\@_(g~pq~Xzx}37(
HEND of block started with makeblock INTEGER;[4N]HBEGIN[N]INTEGER@ blockmaker;[N]H[N]start:[N]Hpage;[2N]H  `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 t@o the previous question (or text).[[2N]]");[N]H4&Write("[[NT]](2) 'SKIP' to mov@e on to the next question (or text);; or");[N]H=Write("[[NT]](1) 'STOP' to end the lesson imm@x{p
{0{z@z(zyH)y03y<6WAediately;;");[N]HDWrite("GNOSIStwilltthenoexplaindhow you can type");[N]nHK#Write("ap}hDinuterminal[och]sedan]tryckap}RETURN-knappen.[[N]]");[N]HS$Write("aonhyoursterminaloandathenapushingstheNRETURNNbutton.[[2N]]");[N]H[""");[N]H]+Write("Du kansavbrytalektionentn{rsomhelstgenom att skriva[[N]]det enda@ tecknet ""Hg2Write("[[N]]IMPORTANT: You can interrupt the lesson at any time by typing the[[N]]single character ""HsDen l{rare som skrev den h{r lektionen {@yCx@JxRwXZvX\v fuXr8"wr...HxThe author of this lesson is...H}F`rsvarets forskningsanst@alt, Stockholm.H f`r datorst`dd undervisning(DU) fr}nH Write("[[N]]pro ducerad av GNOSIS-systemet ");[N]H 
rh r8 r qh qP (6   /em  for  computer  aided[[N]]");[N]H 3
Write(".[[2N]]");[N]H 6Write(",[[N]]H 9Write("'");[N]H ;
Write(lessonname);[N]H?Write("[[2N]]WelcomeAtoAtheRlessonL'");[N]H D)Write("[[N]]SP$RNING AVEOV#NTADEASVAR:[[N]]");[N]B;reakoutput;[N]Selectoutput(0);[N]H N#FOR pos:= 1 STEP 1 UNTIL answerlength DO@~q8 2s( 5p0 8p :p >o@ Cnx Mn Qm` V 6   d Outsymbol(answer.[[pos]]);[N]H hWrite("STUDENT'S NAME: ");[N]H l[[2N]]");[N]H oWrite("[[P]]TEACHER REPORT FOR THE LESSON: H tOpenfile(3,temp@file2,%057);[N]H xOpenfile(2,tempfile1,%057);[N]H |tempfile2.[[pos+4]]:= "T".[[1]];[N]H!tempfile2.[[pos+3]]:= "R".[[1]];[N]H!tempfile2.[[pos+2]]:= "S".[[1]];[N]H!
tempfile1.[[pos+4]]:="A".[[1]];[N]H!tempfile1.[[pos+3]]:=s"T".[[1]];[N]H!tempfile1.[[pos+2]]:=e"D".[[1]];[N]H!ELSE"pos:=]posE-o2;[N]@pm=gnHTklPinkPLsk8gwk{k!jp!jX!	j@!pfile1.[[pos]]:=[tempfile2.[[pos]]:=firstname.[[pos]];[N]H!4tempfile1:=ptempfile2:=nNewstring(Length(firstname)+5,7);[N]H!;Write(firstname);[N]@Write("!");[N]H!@firstname:=Copy(answer,1,pos-1);[N]H!DBEGIN[N]pos:=pos+1;[N]GOTOgnameloop;[N]H!Ine0!ydx"6 "you, ");[N]H"Write("That's only ONE of your names.[[N]]");[N]GOTO repeat;[N]H",FOR pos:= 1 STEP 1 UNTIL answerlength DO IF answer.[[pos]] = blank THEN GOT@O continue;[N]H"0BEGIN[N]Write("That's too short to be your FULL name.[[N]]");[N]N ewline;[N]GOTO repeat;[N]END;[N]H"%
Selectoutput(0);[2N]H"Rputmessage;[N]H"TL{raren {r tacksam om Du s{nder denna lista till honom.H"[Please send this listing to the teacher. H"`stopkc;[N]H"bInput(1,"DSK");[N]Output(2,"DSK");[N]Output(3,"DSK");[N] @H"iOutput(2,"LPT");[N]Selectoutput(2);[N]H"n
[N]Input(0,"TTY");[N]H"qGb("Nh"Qa`"Sa("Zkx"`0"a`"hP"m^x"p6 @@"sade Du.H"u
Nej, inte riktigt s}.H"y
Det d{r {r inte riktigt.H"| Tyv{rr inte r{tt.H"Nej, den h{r g}ngen svarade Du fel.H#Det {r inte r{tt!H#
Ditt svar var felaktigt.H#
	Dujvaldefelsvar.H#H#  Just det. Bara man anstr{nger sig lite s} g}r det bra.H#   Bra! Forts{tt p} det s{ttet.H#  #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.@`^`"t^H"x^0"{^"~^#]h#]P#	]8#
] #]#\p#\X#\@#\(# \#$4(#)H#*  Nu har Du fattat det hela!H#.
  B{ttre och b{ttre!H#1
  Nu  b`rjar Du fatta!H#4  Just det - Du klarar dig b{ttre nu.H#9Bra!H#;A
Du svarade r{tt igen.H#>Korrekt.H#@R{tt!H#BPrecis r{tt. H#DUtm{rkt!H#FJavisst!H#HMycket bra.H#KBra gjort!H#M
No, you missed this one.H#PYou're mistaken.H#S
Thatywasn'twcorrect.sH#VSorry.H#X)[`#-[H#0[0#3[#8Zh#:ZP#=Z8#?Z #AZ#CYp#EYX#GY@#JY#LXp#OXX#RX@#UX(#W`X#[1 @@#\Incorrect!H#^Your answer was wrong.H#b
   Keep up the good work!H#q  Aren't you glad you kept trying?H#v
  You're m@aking progress.H#y  There is hope for you after all!H#~
  I knew you could d o it.H$
  Yo've got the idea now!H$	  You're improving!H$
  Now you'@re catching on!H$  You're doing bette@Wx#]W`#aWH#eW0#fW#hW#mVh#pVP#uV8#xV #}V$Up$UX$U@$
4"$OK!H$Excellent!H$That's it!H$Well done!H$@Right!H$Exactly right!H$Bravo!H$Sure!H$Very Agood.H$ Good for you!H$#]]:= "H$%[[H$&wrongH$(ArightatlastH$*rightH$,lessonname:= "H$.".[[1]];[N]H$1controlstart:= "H$4randno:= 1;[N]nopause:= skip:= message:= FALSE;[N]H$:! endofline:= Newstring(1,7);[N]endofline.[[1]]:= carriagereturn;[N]H$B@
[$U$Tx$T`$TH$T0$T$T$Sh$SP$RP$")`$$Q$%P0$'OP$)Mx$+M`$-M0$0~M$3M$9Lh$A0  $A
char:= Newstring(1,7);[N]H$E answer.[[134]]:= carriagereturn;[N]answer.[[135]]:= linefeed;[N]H$M0answer:= Newstring(135,7);[N]answercopy:= Copy(" ");[N]firstname:= "";[N]prompt:= Copy("-->");[N]H$Xlcaa:= "}".[[1]];[N]lcae:= "{".[[1]];[N]lcoe:= "`".[[1]];[N]H$_ucaa:= "$".[[1]];[N]ucae:= "#".[[1]];[N]ucoe:= "@".[[1]];[N] H$f blank:= " ".[[1]];uparrow:= "^".[[1]];[N]controlg:="".[[1]];[N]H$m/lastrights:= lastscorecount:= lastscorek@|LP$DL8$LL $WL$^KX$eK@$l8 $qount:= lastlatescorecount:= lastlatescorekount:= 0;[N]H$x:[4N]lasterrors:= latescore:= score:= lastqcount:= lastqkount:= qcount:= 0;[N]carriagereturn:= 13;[N]linefeed:= 10;[N]H%Write("vilket skulle ha varit acceptabelt:[2N]-->");[N]H%Write(" h{r {r ett svar[[N]]");[N]H% Newline;[N]personalize("F`r den h{ndelse du {r int@resserad,");[N]H% Write(" GNOSIS will simulate an acceptable answer:[[2N]]-->");[N] H%Newline;[N]personalize("Just for the record,");[N]H%%%RIGHT command for the preceding %QUESTI@K($wJP%J8%
J %Ih%IP%I%$7 @%)ON;[N]H%+The answer given will always be the one following the FIRST[N] H%2the 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%C
PROCEDURE giveanswer;[N]H%F[N]Newline;[N]Newline;[N]END;[2N]H%K,IF lasterrors > 3 THEN Write("[[N]]Eller...avbryt lektionen genom att skriva symbolen ""H%U,IF lasterrors = 3 THEN Write("[[N]]Ddu har eliminerat flera m`jligheter redan.") ELSE[N]H%_personaliz@`Hp%*HX%1H@%9H(%BH%EGH%JG0%TG%^7 @%`e("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%o3IF 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&personalize("Please try again.");[N]H&
the student has fail ed to give a correct response;[N]H&the content of the message depends on the number of tim@Gx%bEh%dEP%nE8%yE &DX&	D@&7"&es[N]H&the 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&6"COMMENT:  Questions output to stude  nts who give no answer, a wrong[N]H&>PROCEDURE tryagain;[N]H&Bend noansw er;[2N]H&E"".[[N]]");[N]H&GWrite("Om Du vill g} ut ur fr}gan, s} skriv det enda tecknet@xD(&D&Cx&&C`&-CH&5C0&=C&AC&DBP&F6"&M ""H&Opersonalize("??? Du gav inget svar alls.");[N]Newline;[N]H&V&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&fPROCEDURE noanswer;[ N]H&i	Newline;[N]END;[2N]H&lL{rarens namn och adress {r:H&pvilke n 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'The n@~B8&NB&UAh&^A &eA&h@X&k@(&o@&t?X&{? '7 'ame and address of the teacher is:H'not know which student sent it to him. H'
You can send it anonymously - the teacher willH'He needs the listing to improve the lesson.H'was 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'3
PROCEDURE putmessage;[N]H'7	Selectoutput(0);[N]H':@~>p'>H'> '=X'=@'=('#='*<x'2'6;('96 '9	Selectoutput(3);[N]H'=!FOR i:= 1 STEP 1 UNTIL answerlength DO Outsymbol(answer.[[i]]);[N]H'EWrite(question);[N]Write(": ");[N]H'I	Selectoutput(2);[N]H'LBreakoutput;[N]H'O
BEGIN[N]INTEGERhi;[N]H'RVALUEquestion;[N]STRINGquestion;[N]H'W!lesson.n'Putaway'rwritesrthenunexpected[answersinthes@eCfiles;[N]H's)<lessonname>.DTAandD<lessonname>.SRT,lwhichttherteachercan useltonimproverthe[N]H'i#then0unexpectedtstudent[answers(arewrittenaintoapaireof r@x;X'<;@'Dlastlatescorekount:= latescore;[N]lastqkount:= qcount - lastqkount;[N]H(or afterward;[N]H(*since this PROCEDURE was last called whether student was correct on the first try[N]H(!*COMMENT: 'Lastlatepercent' returns the percen@`9'p8p'w8H'|80'~8(7h(7P(78( 7 (%tage 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(8.x:= score - lastscorekount;[N]lastscorekount:= score;[N]lastqcount:= qcount - la@@stqcount;[N]H(B
BEGIN[N]INTEGERDx;[N]H(Fontheveryefirst;tryNsinceethisPROCEDURE waswlastpcalled;[N]H(M(COMMENT:e'Lastpercent'lreturnsNthetpercentageo ofSquestionsoanswered;correctly[N]H(VREALpPROCEDUREElastpercent;[N]H(Z1BEGIN[N]lastlat@`71()6p(.6X(78(A6((E6(L5x(U5`(Y7a(\escore:=]latescore-Blastlatescorecount;[N]lastlatescorecount:=[latescore[N]END;[2N]H(everyrfirsttry~orafterward;[N]H(j%sincenthisHPROCEDUREHwaslastcalled.whetherlstudenthwas'correctponthe[N]H(r%COMMENT:'Lastlatescore' returns number  of questions answered correctly[N]H({INTEGER PROCEDURE lastlatescore;[N]H('BEGIN[N]lastscore:= score - lastscorecount;[N]lastscorecount:= score[N]END;[2N]H)very first try since this PROCEDURE was last called;[N]H)&COMMENT: 'Lastscore' returns number@5H(d50(i5(q5(z4h(~4P)48)7 @) of questions answered correctly on the[N]H)INTEGER PROCEDURE lastscore;[N]H),latepercent:= IF qcount = 0 or latescore = 0 THEN 0.0 ELSE 100.0 * latescor@e/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)3(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)I#@`4 )4)3p)%3X),3@)23();3)?2x)H7 )Iby the student on his very first try since the start of the lesson;[N]H)Q&COMMENT: 'Percent' returns the percentage of questions answered correctly[N]H)Z
'Extratest'nishcalledHautomaticallyfor %RIGHTpanswers]in]the[N]H*!studentoresponsescontainedextrax(i.e.,<superfluous)characters[N] H*which WERE matched by the teacher answer pattern IF the[N]H*"(COMMENT: ' Extratest' will flag and display those parts of the student answer [N]H*+PROCEDURE @extratest;[N]H*/BEGIN[N]pause;[N]Outsymbol(12);[N]Outsymbol(12);[N]Newline;[N] H*6@`0X*0@*0(*0*/x*!/`**/0*./*57 *6The effect produced is, of course, terminal dependent;[N]H*=wants to blank the screen on a display terminal).[N]H*DCOMMENT: 'Page' can be called by the tea@cher when he[N]H*J	PROCEDURE page;[N]H*M??? Datorn v{ntade sig bara RETURN fr}n Dig.H*S!Eh?   The computer expected you would just push the RETURN button. @H*[IF NOT here(endofline) THEN[N]BEGIN[N]H*`	BEGIN[N]pos:= 1;[N]H*c
P*b,X*f6"*mD;[N]H*ngetline;[N]Newline;[N]H*rwrite(prompt);[N]H*uWrite ("[[N]]TryckxRETURN");[N]H*yWrite("[[N]]PushRETURNO");[N]H*}BEGIN[2N][N]H+IFnopauseTHEN*nopause:=*FALSExELSE[N]H+%the pauses which GNOSIS i@nserts in long text blocks cannot be inhibited;[N]H+
* +*+7 @+"ints[N]H+$PROCEDURE is called between each %TEXT or %QUESTION,[N]H++To go on, she simply pushes the 'RETURN' key. Normally, this[N]H+2whenever she ha@s finished examining the displayed material.[N]H+:in the display of text to the  student, and she can continue[N]H+A a limited screen size. The 'pause' PROCEDURE produces a pause[N]H+Iat a time. Another reason is that display terminals have[N]  H+POne reason for this is that it is easier to read a little[N]H+W!COMMENT: Lesson text@`)p+#)X+*)@+1)(+9)+@(x+H(`+O(H+V7 +Y is given to the student in small portions.[N]H+_	PROCEDURE pause;[N]H+b@personalize(wrong[[random]]);[N]Newline;[N]H+gBEGIN[N]qcount:= qcount+1;[N]firsttry:= FALSE;[N]H+mlasterrors:= lasterrors+1;[N]H+qprovide some variation in the conversation;[N]H+ware used to choose between ten different messages @in order[N]H+and the lesson statistics are updated.  Random numbers[N]H,has made an erroneous answer. He is told about this,[N]H,
COMMENT:n'Wrongmessage',iscal@x(0+^(+a'P+f'1+l&p+p&X+v&@+~&(,&,6nN,ledwhen,astudent[N]H,e@must]admit(thattlast)one]wassabittricky!");[N]H,'IFlasterrorsL>3 THEN[N]BEGIN[N]H,+9END[N]ELSE[N]BEGIN[N]personalize(right[[random]]);[N]IF[lasterrorsi>i1;THEN[Write(rightatlast[[random]]);[N]END;[N]H,8personalize(right[[random]]);[N]H,<"BEGIN[N]score:=score+1;[N]qcount:=rqcount+1;[N]firsttry:=FALSE;[N]H,D	IFefi@x%x,%H,%0,%,%,&$P,*$8,7$t,;'8,C7n,ErsttrytTHEN[N]H,Glastrights:=lastrights+1;[N]H,Ksomepvariation to the conversation;[N]H,Pused(toMchooseSbetweenntenedifferentsmessagesetobgive[N]aH,Wonly afternprevious fruitless attempts.  Random numbers are[N]H,depen@ding on whether he succeeds on the fist try or[N]H,escore is updated. The message to the student is different[N]H,lmade a correct answer. He is told about this, and the[N]H,sCOMMENT: 'Rightmessage' is called when a student has[N]H,z

PROCEDURE restore;[N] H.
anywhere:= FALSE;[N]H.BEGIN[N]pos:= nextpos;[N]GOTO blankline;[N]H.[N]nofit:[N]IF answercopy.[[pos]] # carriagereturn THEN[N]H.anywhere:= ihav@x -l-pp-xX.@.	.
`.H.0.7o.eblanked:= TRUE;[N]GOTO out;[N]H.#BEGIN[N]answercopy.[[cpos]]:= blank;[N] H.(FOR cpos:= pos-Length(comp) STEP 1 UNTIL pos-1 DO[N]H..	nextpos:= pos+1@;[N]H.1BEGIN[N]INTEGER cpos, nextpos;[N]H.6'%NOEXTRA mode, his answer will@ be wrong if any non-blank characters remain;[N]H.?any non-blank characters in the student answer. In the[N]H.F%NOEXTRA mode) to determine whether there are[N] H.Lthe matched strings. This allows the program (e.g., in the[N]H.S'Anywhere' will@x."h.'X.-x.0`.5H.>0.E.K.R6 @.U substitute blanks for all characters in[N]H.Zthe %EXTRA mode and in the %NOEXTRA %NOORDER mode.[N]H.aunmatched strings will be bypassed. 'Anywhere' is used in[N]H.h found anywhere in the student answer after 'pos'.  Blanks and[N]H.o" COMMENT: 'Anywhere' determines whether the argument string can be [N]H.w BOOLEAN PROCEDURE anywhere(comp);[N]VALUE comp;[N]STRING comp;[N]H.	[N]out:[N]END;[2N]H/ [N]nofit:[N]here:= FALSE;[N]H/
pos:=@xh.YP.`8.g .n.v(.~X/@/8/	7 @/
 pos+1;[N]H/
IF answercopy.[[pos]] # comp.[[cpos]] THEN GOTO nofit;[N]H/@FOR cpos:= 1 STEP 1 UNTIL Length(comp) DO[N]H/BEGIN[N]pos:= pos+1;[N]GOTO bl@ankline;[N]H/[N]blankline:[N]IF answercopy.[[pos]] = blank THEN[N]H/%
BEGIN[N]INTEGER cpos;[N]H/(for answers matched in the %NOEXTRA mode;[N]H/.else, may precede the matching word. 'Here' is mostly used[N]H/5 beginning at 'p@os' in the student answer. Blanks, but nothing[N]H/=#COMMENT: 'Here' determines whether the argume@x /p/(//h/$P/'8/- /4/<6 /Ant string can be found[N]H/EBOOLEAN PROCEDURE here(comp);[N]VALUE comp;[N]STRI@@NG comp;[N]H/L
END;[2N]exit:[N]END;[2N]H/P'Write("Duvilliinte avbrytalnu@.Forts{ttLd}smedidittcordinariesvar.[[N]]");[N]H/YWrite("to the/PREVIOUSX'-->'/o0r'RETURN'prompt...[[N]]");[N]H/`Write("Please continue, then, giving your res ponse[[N]]");[N]H/h??? Backing not allowed in this lesson.H/m
END[N]ELSE[N]BEGIN[N]H/~???H/???dSkippingnotuallowedsinpthislesson.H0N[N]Write("H0") THEN[N]   H0SKIPPAH0SKIPH0
pos:= 1;[N]IF anywhere("H0
GOTO exit;[N]END;[N]H0Write("Lektionen avbr`t.[[N]]");[N]H0!Write("Lesson aborted.");[N]H0%stop:= TRUE;[N]H0'	") THEN[N]BEGIN[N]H0*STOPPH0,STOP H0-@
x/x/y`/}H/~0
`0
P0
0H0P0800 
P0$
80&
I0)x	h0+	80,1N0-BEGIN[N]quit:= FALSE;[N]IF anywhere("H02IF quit THEN[N]H05END;[N]END;[N]H07quit:= TRUE;[N]GOTO again;[N]H0;Write(prompt);[N]Breakoutput;[N]  H0@Outsymbol(controlg);[N]H0CWrite("""FORTS#TT"" om Du vill forts{tta.[[N]]");[N]H0J*Write("""BACKA"" om Du vill g} tillbaka till en tidigare del av lektio@nen,[[N]]");[N]H0SWrite("""SKIPPA"" om Du vill skippa denna fr}ga,[[N]]");[N]H0Z"BEGIN[N]Write("Svara ""STOPP"" om D@x	 01. 04p06X0:rx0?0B0IX0R00Y6 0^u vill l{mna lektionen,[[N]]");[N]H0bWrite("or 'CONTINUE'.[[N]]");[N]H0gWrite(", 'SKIP', 'BACK', ");[N]H0kBEGIN[N]Write("Answer 'STOP'");[N]H0pBEGIN[N]IF answer.[[1]] = controlstart THEN[N]H0v
ihaveblanked:= FALSE;[N]H0}Delete(answercopy);[N]answercopy:= Copy(@ answer,1,i);[N]H1IF answerlength < 0 THEN answerlength:= 0;[N]H1	,[N]out:[N]Insymbol(t);[N]i:= i+1;[N]answer.[[i]]:= t;[N]pos:= 1;[N]answerlength:= i-2;[N]H1@~x0a`0f80j0op0uqH0y@0|(11(17 1GOTO again;[N]H1END;[N]H1IF t = carriagereturn THEN GOTO out;[N]  H1
answer.[[i]]:= t;[N]H1 IF t = lcoe THEN t:= ucoe;[N]H1$IF t = lca e THEN t:= ucae ELSE[N]H1(IF t = lcaa THEN t:= ucaa ELSE[N]H1- ELSE[N] @H1/;[N]H10IF t >= 97 AND t <= 122 THEN t:= t-32H15COMMENT: Lower case transform;[N]H1:BEGIN[N]Insymbol(t);[N]H1=[N]again:[N]FOR i:= 1 STEP 1 UNTIL 132 DO[N]H1CBreakoutput;[N]quit:= FALSE;[N]H1GBEGIN[N]INTEGER s, t, i;[@P1H10111#h1'P1,(1.h1/P14819 1<1Bp1F4 1JN]BOOLEAN quit;[N]H1Mto interrupt the flow of the lesson;[N]H1Rto see if the student typed '%', indicating that he wanted[N]H1Y#dumping it in the STRING 'answer'. Column one of the line is checked[N]H1b!COMMENT: 'Getline' reads in a line of text input by the student,[N]H1j
PROCEDURElgetline;[N]H1mFORWARDoBOOLEANgPROCEDUREHanywhere;[2N]H1rFORWARDePROCEDURErputaway;[N]H1vEXTERNAL PROCEDUREpub,pnolpt,run,r;[2N]H1|EXTERNAL2PROCEDURE2s@xX1L@1Q(1X1ax1i`1lH1q.1ux1{6H@1~topkc;[2N]H2STRINGARRAYright,rightatlast,wrong[[0:9]];[2N]H21STRINGAanswer,danswercopy,qchar, endofline,ilessonname,sfirstname,[tempfile1,ttempfile2,pprompt;[N]H2INTEGERolastrights;[N]H2INTEGERlrandno,tanswerlength,'controlstart,*controlg,Suparrow;[N]H2INTEGERlcaa,lcae,lcoe, ucaa,ucae,ucoe;[N]H2")INTEGERlastscorecount,]lastlatescorecount,lastscorekount,lastlatescorekount;[N] H2+7INTEGER lasterrors, score,rlatescore,qcount,lastqcount,@lastqkount,carriagere@(12~x2~`2~H2~2!~2*8* 23turn, linefeed,opos,dblank;[N]H27#BOOLEANfirsttry,Nihaveblanked,nopause,Hskip,Fback,stop,message;[N]H2?;H2ACOMMENT:Thislessonwas writtenNby[N]@H2F";[N]H2GCOMMENT:This8istheIlesson3"H2KBEGINH2M71161:HCommandisoutofplaceHhere.AsTaAresult,[N]******thisClineupNtoHnextcommandlinewill3beNignored.H2Ynoanswer;[N]GOTOrepeat;[N]END;[N]H2]H3M JUSH3OTEXH3PGOTH3RGO H3SLACH3U@2h3'283(23*H3+I3-H83.M830M31J@33XX34T@36V 37Uh39Tx3:T3<U03=Yp3?x3@|c03Bah3Ca83E^3F[p3H@3I[3KZ`3Lcp3N]h3O]03Qz03Ryx3T," 3UNEUH3VQUEH3XNOEH3YEXTH3[NOOH3\ORDH3^SAMH3WROH3aRIGH3b0392: %IFEND on non-active switch -- will have no effect.H3i&0371: Unknown switchname in %IF-class command.[N]****** Line will be ignored.H3r$0368: No switchname in %IF-class command.[N]****** Line willA be ignored.H3{IFH3|$----------------------------------------@|g83U\3W[P3X\x3Z\@3[(3]y@3^wH3` 3a83h3qP3zX3{  4------------------------------[N]H40324: Command character not first in line.H4
0322:NCharactergafter line-numberis not TAB.H40316: Long input line will be truncated to 132 characters.H4
******4ERRORMessagehNo.*H4:H4oLINE@(4p4	%(mX)0x`v`y(iXU*U*Uh		-8
-`
%Cip
dP
P4@2h2`**(ShO@U*U*U*8.@.h//`000/80Xpb
P
(XD`YXYHZxU*U*UZ`0&`| y}(p `IX-- o0 o !`!h("ph"3 #i#U*E*Uhx$$?8%Rx%R&&&%h'Q '(`(p) )*x*x+3p+@,M ,U*U*DHX-@-[8..rX/UP/|p0Vh0011[@2{h22P3A(3S 44S`55@667D"`ne-D`nj}t`nk9`nk%`pXQ`pXeE`p^]z`p_`p_-D"`p_i
`pd}
`pe`pe%`peM
`pea( 4