1 From: MX%"antek@mimuw.edu.pl" 1-MAR-1993 15:47:20.56
\r
6 Date: Mon, 1 Mar 93 14:59:41 GMT
\r
7 From: antek@mimuw.edu.pl
\r
8 To: salwicki@pauvx1.univ-pau.fr
\r
14 var left,right : node,
\r
17 unit ins: procedure( value: integer) ;
\r
26 call left.ins(value);
\r
34 call right.ins(value)
\r
41 unit traverse : coroutine (i:integer);
\r
45 unit t: procedure(y:node);
\r
59 detach with endtree(i);
\r
61 signal endtree(t:integer),fin ;
\r
63 var n,i,j,min,m,k: integer,
\r
65 tr: arrayof traverse,
\r
81 write(tr(j).val); writeln;
\r
84 when fin : terminate;
\r
90 read(j); write(j); if j>m then m:=j fi;
\r
95 if j=-1 then writeln; exit fi;
\r
97 if j>m then m:=j fi;
\r
101 array tr dim (1:n);
\r
105 tr(i):=new traverse(i);
\r
114 if min > tr(i).val then min:=tr(i).val; j:=i fi;
\r
116 write(min); attach(tr(j));
\r
117 k:=k+1; if k=10 then writeln; k:=0 fi;
\r
127 #include "rsdata.h"
\r
130 extern int IC; /* global control */
\r
131 extern int modulenumber; /* module number */
\r
132 extern unsigned int *DISPVIRT,*DISPDIR; /* displays' addresses */
\r
133 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
134 extern unsigned int *current,*local,*global;
\r
140 int displdir = -15;
\r
144 int protnum=numprot;
\r
147 int perm [] = { 0,1,2};
\r
148 int perminv [] = { 0,1,2};
\r
150 struct Prototype PROT [] =
\r
152 kind num lspn rspn ref dcl lev lst pmdd Sl DL Lsc Stat hand pref pslen */
\r
154 {2, 0, 15, 27, 0, -1, 0, 7, 0, 27, 26, 25, 24, 0, -1, 1},
\r
155 {0, 1, 0, 9, 1, 0, 1, 2, 0, 9, 8, 7, 6, -1, -1, 1},
\r
156 {1, 2, 0, 9, 2, 1, 2, 6, 0, 9, 8, 7, 6, -1, -1, 1},
\r
157 {3, 3, 1, 9, 3, 0, 1, 4, 0, 9, 8, 7, 6, -1, -1, 1},
\r
158 {1, 4, 0, 9, 4, 3, 2, 5, 0, 9, 8, 7, 6, -1, -1, 1},
\r
160 {4, 6, 0, 9, 1, 0, 1, 4, 0, 9, 8, 7, 6, 0},
\r
161 {4, 7, 0, 9, 1, 0, 1, 2, 0, 9, 8, 7, 6, 0}
\r
165 int (* module [numprot]) () ;
\r
168 struct Offsets OFF[]=
\r
169 { 0, 43, 0, 11, 0, 0, 0,
\r
170 0, 10, 1, 2, 0, 11, 0,
\r
171 0, 10, 2, 3, 0, 13, 0,
\r
172 0, 10, 3, 4, 0, 16, 0,
\r
173 0, 10, 4, 4, 0, 20, 0 };
\r
202 struct Hlstelem HL[]= { 6,0,1,
\r
204 struct Sgelem SL[]= { 101,-1,
\r
212 case 1: goto L1; break;
\r
213 case 2: goto L2; break;
\r
224 case 1: goto L1; break;
\r
225 case 2: goto L2; break;
\r
226 case 3: goto L3; break;
\r
227 case 4: goto L4; break;
\r
228 case 5: goto L5; break;
\r
229 case 6: goto L6; break;
\r
233 if (*Address(1,5) > *Local(1))
\r
235 if (Notmember(Address(1,1)))
\r
237 Dopen(1,0,Address(1,1));
\r
238 IC=2; Go(Address(1,1));
\r
240 *(Physical(Address(1,1))+5)= *Local(1);
\r
244 Slopen(2,Local(2),Address(1,1));
\r
245 *(Physical(Local(2))+1)= *Local(1);
\r
246 IC=3; Go(Local(2));
\r
252 if (Notmember(Address(1,3)))
\r
254 Dopen(1,0,Address(1,3));
\r
255 IC=4; Go(Address(1,3));
\r
256 L4: *(Physical(Address(1,3))+5)= *Local(1);
\r
260 Slopen(2,Local(2),Address(1,3));
\r
261 *(Physical(Local(2))+1)= *Local(1);
\r
262 IC=5; Go(Local(2));
\r
277 case 1: goto L1; break;
\r
278 case 2: goto L2; break;
\r
279 case 3: goto L3; break;
\r
280 case 4: goto L4; break;
\r
282 L1: Refmove(Local(1),Arrayelem(Global(7),*Local(-1)));
\r
284 L2: Dopen(4,3,Local(4));
\r
285 Refmove(Physical(Local(4))+1,Local(1));
\r
286 IC=3; Go(Local(4));
\r
288 Attachwith(lastcor,101,Local(4));
\r
289 *(Physical(Local(4))+5)= *Local(-1);
\r
299 case 1: goto L1; break;
\r
300 case 2: goto L2; break;
\r
301 case 3: goto L3; break;
\r
302 case 4: goto L4; break;
\r
303 case 5: goto L5; break;
\r
306 if (Member(Local(1)))
\r
307 { Dopen(4,3,Local(3));
\r
308 Refmove(Physical(Local(3))+1,Physical(Local(1))+1);
\r
309 IC=2; Go(Local(3));
\r
311 *Address(1,3)= *(Physical(Local(1))+5);
\r
312 IC=3; Attach(lastcor);
\r
313 L3: Dopen(4,3,Local(3));
\r
314 Refmove(Physical(Local(3))+1,Physical(Local(1))+3);
\r
315 IC=4; Go(Local(3));
\r
329 case 1: goto L1; break;
\r
330 case 2: goto L2; break;
\r
331 case 3: goto L3; break;
\r
332 case 4: goto L4; break;
\r
333 case 5: goto L5; break;
\r
334 case 6: goto L6; break;
\r
335 case 7: goto L7; break;
\r
339 printf("Number of trees n=2\n"); *Global(1)=2;
\r
340 Openarray(5,1,*Global(1),Global(7));
\r
341 printf("Give the values of nodes. End each tree with -1\n");
\r
345 if (*Global(2)> *Global(1)) break;
\r
346 scanf("%d",Global(3));
\r
347 if (*Global(3) > *Global(5)) *Global(5)= *Global(3);
\r
348 Dopen(1,0,Arrayelem(Global(7),*Global(2)));
\r
349 IC=2; Go(Arrayelem(Global(7),*Global(2)));
\r
350 L2: *(Physical(Arrayelem(Global(7),*Global(2)))+5)= *Global(3);
\r
353 scanf("%d",Global(3));
\r
354 if (*Global(3) == -1) break;
\r
355 if (*Global(3) > *Global(5)) *Global(5)= *Global(3);
\r
356 Slopen(2,Global(16),Arrayelem(Global(7),*Global(2)));
\r
357 *(Physical(Global(16))+1)= *Global(3);
\r
358 IC=3; Go(Global(16));
\r
364 Openarray(5,1,*Global(1),Global(9));
\r
368 { if (*Global(2) > *Global(1)) break;
\r
369 Dopen(3,0,Arrayelem(Global(9),*Global(2)));
\r
370 *(Physical(Arrayelem(Global(9),*Global(2)))-1)=
\r
372 IC=4; Go(Arrayelem(Global(9),*Global(2)));
\r
373 L4: IC=5; Attach(Arrayelem(Global(9),*Global(2)));
\r
374 L5: (*Global(2))++;
\r
379 if (*Global(4) == *Global(5) ) break;
\r
380 *Global(4)= *(Physical(Arrayelem(Global(9),1))+3);
\r
385 if (*Global(2) > *Global(1)) break;
\r
386 if (*Global(4) > *(Physical(Arrayelem(Global(9),*Global(2)))+3))
\r
387 { *Global(4) = *(Physical(Arrayelem(Global(9),*Global(2)))+3);
\r
388 *Global(3)= *Global(2);
\r
392 if (*Global(4) < *Global(5))
\r
394 printf("%d ",*Global(4));
\r
395 IC=6; Attach(Arrayelem(Global(9),*Global(3)));
\r
396 L6: (*Global(6))++;
\r
397 if (*Global(6)==10) { printf(" \n"); *Global(6)=0; };
\r
411 case 1: goto L1; break;
\r
412 case 2: goto L2; break;
\r
413 case 3: goto L3; break;
\r
414 case 4: goto L4; break;
\r
418 { Raising(102,Address(1,1));
\r
419 IC=2; Go(Address(1,1));
\r
423 if (*Address(1,5)==1) *Global(3)=2; else *Global(3)=1;
\r
425 { if (IC==0) break; /* dummy */
\r
426 printf("%d ",*(Physical(Arrayelem(Global(9),*Global(3)))+3));
\r
428 if (*Global(6)==10) { printf(" \n"); *Global(6)=0; };
\r
429 IC=3; Attach(Arrayelem(Global(9),*Global(3)));
\r
440 case 1: goto L1; break;
\r
441 case 2: goto L2; break;
\r
463 if (setjmp(buffer)!=-2) module[modulenumber]();
\r
476 for i:=1 to n do write(A[i]," "); od;
\r
492 write("Generation of all permutations. Give n=");
\r
494 A:=array[1..n] of integer;
\r
501 #include "rsdata.h"
\r
505 extern int IC; /* global control */
\r
506 extern int modulenumber; /* module number */
\r
507 extern unsigned int *DISPVIRT,*DISPDIR; /* displays' addresses */
\r
508 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
509 extern unsigned int *current,*local,*global;
\r
521 int protnum= numprot;
\r
524 int perm [] = { 0,0,1};
\r
525 int perminv [] = { 0,0,1};
\r
527 struct Prototype PROT [] =
\r
529 kind num lspn rspan ref dcl lev lst pmdd Sl DL Lsc Stat hand pref pslen*/
\r
531 {2, 0, 0, 27, 0, -1, 0, 0, 0, 27, 26, 25, 24, -1, -1, 1},
\r
532 {1, 1, 0, 9, 1, 0, 1, 0, 1, 9, 8, 7, 6, -1, -1, 1},
\r
537 int (* module [numprot]) ();
\r
540 struct Offsets OFF[]=
\r
541 { 0, 28, 0, 9, 0, 0, 0,
\r
542 0, 10, 1, 2, 0, 9, 0 };
\r
557 struct Hlstelem HL[]= { 0 };
\r
558 struct Sgelem SL[]= { 0 };
\r
565 { case 1: goto L1; break;
\r
566 case 2: goto L2; break;
\r
570 L1: printf("Generation of all permutations. Give n=");
\r
571 scanf("%d",Global(1));
\r
573 Openarray(2,1,*Global(1),Global(3));
\r
575 for (i=1; i<= *Global(1); i++)
\r
576 *Arrayelem(Global(3),i)=0;
\r
579 Dopen(1,0,Global(17)); IC=2;
\r
588 { case 1: goto L1; break;
\r
589 case 2: goto L2; break;
\r
594 if (*Global(2)== *Global(1)+1)
\r
596 for (i=1; i<= *Global(1); i++)
\r
597 printf("%d ",*(Arrayelem(Global(3),i)));
\r
603 for (i=1; i<= *Global(1);i++)
\r
605 if (*(Arrayelem(Global(3),i))==0)
\r
607 *(Arrayelem(Global(3),i))= *Global(2);
\r
609 Dopen(1,0,Global(17)); *Local(1)=i;
\r
610 IC=2; Go(Global(17));
\r
612 (*Global(2))--; i= *Local(1);
\r
613 *(Arrayelem(Global(3),i))=0;
\r
629 if (setjmp(buffer) !=-2) module[modulenumber]();
\r
635 var a,b,c,delta,x1,x2:real;
\r
637 writeln(" solution of square equation a*x**2 b*x +c=0");
\r
638 write(" give a= "); read(a);
\r
639 write(" give b= "); read(b);
\r
640 write(" give c= "); read(c);
\r
641 delta:=b**2 - 4*a*c;
\r
644 writeln(" no solutions"); endrun;
\r
646 delta:=sqrt(delta);
\r
647 x1:=(-b-delta)/2/a;
\r
648 x2:=(-b+delta)/2/a;
\r
649 writeln("x1=",x1,"x2=",x2);
\r
654 #include "rsdata.h"
\r
658 extern int IC; /* global control */
\r
659 extern int modulenumber; /* module number */
\r
660 extern unsigned int *DISPVIRT,*DISPDIR; /* displays' addresses */
\r
661 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
662 extern unsigned int *current,*local,*global;
\r
667 #define rlh sizeof(float)/sizeof(int)
\r
671 #define coff 1+2*rlh
\r
672 #define deloff 1+3*rlh
\r
673 #define x1off 1+4*rlh
\r
674 #define x2off 1+5*rlh
\r
683 int protnum= numprot;
\r
686 int perm [] = { 0,0,1};
\r
687 int perminv [] = { 0,0,1};
\r
689 struct Prototype PROT [] =
\r
691 kind num lspn rspan ref dcl lev lst pmdd Sl DL Lsc Stat hand pref pslen*/
\r
693 {2, 0, 0, 27, 0, -1, 0, 0, 0, 27, 26, 25, 24, -1, -1, 1}
\r
697 int (* module [numprot+1]) () ;
\r
700 struct Offsets OFF[]=
\r
701 { 0, 28, 0, 6, 0, 0, 0 };
\r
713 struct Hlstelem HL[]= { 0 };
\r
714 struct Sgelem SL[]= { 0 };
\r
722 { case 1: goto L1; break;
\r
723 case 2: goto L2; break;
\r
726 L1: printf(" solution of square equation a*x**2 + b*x +c=0\n");
\r
727 printf(" \ngive a=");
\r
728 scanf("%f", Flglobal(aoff));
\r
729 printf(" \ngive b=");
\r
730 scanf("%f", Flglobal(boff));
\r
731 printf(" \ngive c=");
\r
732 scanf("%f", Flglobal(coff));
\r
733 * Flglobal(deloff) =
\r
734 (* Flglobal(boff))*(* Flglobal(boff))-
\r
735 4*(* Flglobal(aoff))*(* Flglobal(coff));
\r
736 if ( * Flglobal(deloff) < 0 )
\r
738 printf(" no solutions\n");
\r
741 * Flglobal(deloff) = sqrt( (double) * Flglobal(deloff) );
\r
742 * Flglobal(x1off) = (- * Flglobal(boff) -
\r
743 * Flglobal(deloff))/2/ * Flglobal(aoff);
\r
745 * Flglobal(x2off) = (- * Flglobal(boff) +
\r
746 * Flglobal(deloff))/2/ * Flglobal(aoff);
\r
747 printf(" \n x1=%f\n",* Flglobal(x1off));
\r
748 printf(" \n x2=%f\n",* Flglobal(x2off));
\r
758 if (setjmp(buffer) !=-2) module[modulenumber]();
\r
764 type F: function(n:integer): integer;
\r
766 unit f : function(n:integer):F;
\r
779 if n=0 then result=h else result:=g fi;
\r
782 var x,y :F; n:integer;
\r
786 write("n="); readln(n); writeln(x(n));
\r
787 write("m="); readln(n); writeln(y(n));
\r
792 #include "rsdata.h"
\r
796 extern int IC; /* global control */
\r
797 extern int modulenumber; /* module number */
\r
798 extern unsigned int *DISPLAY,*DISPDIR; /* displays' addresses */
\r
799 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
800 extern unsigned int *current,*local,*global;
\r
810 int protnum=numprot;
\r
813 int perm [] = { 0,1,2};
\r
814 int perminv [] = { 0,1,2};
\r
816 struct Prototype PROT [] =
\r
818 kind num lspn rspan ref dcl lev lst pmdd Sl DL Lsc Stat hand pref pslen */
\r
820 {2, 0, 15, 27, 0, -1, 0, 0, 0, 27, 26, 25, 24, -1, -1, 1},
\r
821 {1, 1, 0, 9, 1, 0, 1, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
822 {1, 2, 0, 9, 2, 1, 2, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
823 {1, 3, 0, 9, 2, 1, 2, 0, 0, 9, 8, 7, 6, -1, -1, 1}
\r
827 int (* module [numprot]) () ;
\r
830 struct Offsets OFF[]=
\r
831 { 0, 43, 0, 11, 0, 0, 0,
\r
832 0, 10, 1, 3, 0, 11, 0,
\r
833 0, 10, 2, 2, 0, 14, 0,
\r
855 struct Hlstelem HL[]= { 0 };
\r
856 struct Sgelem SL[]= { 0 };
\r
862 { case 1: goto L1; break;
\r
863 case 2: goto L2; break;
\r
864 case 3: goto L3; break;
\r
865 case 4: goto L4; break;
\r
866 case 5: goto L5; break;
\r
869 L1: Dopen(1,0,Global(16));
\r
870 *(Physical(Global(16))+1)= 0;
\r
871 IC=2;Go(Global(16));
\r
872 L2: Procclosmove(Global(7), Physical(Global(16))+2);
\r
874 Dopen(1,0,Global(16));
\r
875 *(Physical(Global(16))+1)= 1;
\r
876 IC=3;Go(Global(16));
\r
877 L3: Procclosmove(Global(9), Physical(Global(16))+2);
\r
880 scanf("%d",Global(6));
\r
881 Slopen(*Global(8),Global(16),Global(7));
\r
882 *(Physical(Global(16))+1)= *Global(6);
\r
883 IC=4;Go(Global(16));
\r
884 L4: printf("%d\n",*(Physical(Global(16))+2));
\r
887 scanf("%d",Global(6));
\r
888 Slopen(*Global(10),Global(16),Global(9));
\r
889 *(Physical(Global(16))+1)= *Global(6);
\r
890 IC=5;Go(Global(16));
\r
891 L5: printf("%d\n",*(Physical(Global(16))+2));
\r
899 if ( *Local(1) == 0)
\r
901 *Local(2) = *current;
\r
906 *Local(2) = *current;
\r
916 *Local(2) = *Local(1) * 2;
\r
922 *Local(2) = *Local(1) +2;
\r
930 module[0]=procclostest;
\r
936 if (setjmp(buffer)!=-2) module[modulenumber]();
\r
940 program MEMORYTEST;
\r
941 var i,j,k,n: integer,
\r
968 #include "rsdata.h"
\r
971 extern int IC; /* global control */
\r
972 extern int modulenumber; /* module number */
\r
973 extern unsigned int *DISPVIRT,*DISPDIR; /* displays' addresses */
\r
974 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
975 extern unsigned int *current,*local,*global;
\r
987 int protnum=numprot;
\r
990 int perm [] = { 0,0,1};
\r
991 int perminv [] = { 0,0,1};
\r
993 struct Prototype PROT[]=
\r
996 kind num lspn rspan ref dcl lev lst pmdd Sl DL Lsc Stat hand pref pslen */
\r
998 {2, 0, 0, 27, 0, -1, 0, 0, 0, 27, 26, 25, 24, -1, -1, 1},
\r
999 {0, 1, 0, 9, 1, 0, 1, 0, 1, 9, 8, 7, 6, -1, -1, 1},
\r
1004 int (* module [numprot]) () ;
\r
1007 struct Offsets OFF[]=
\r
1008 { 0, 30, 0, 8, 0, 0, 0,
\r
1009 0, 12, 1, 3, 0, 8, 0 };
\r
1025 struct Hlstelem HL[]= { 0 };
\r
1026 struct Sgelem SL[]= { 0 };
\r
1033 { case 1: goto L1; break;
\r
1034 case 2: goto L2; break;
\r
1038 printf("\n n="); scanf("%d",Global(4));
\r
1039 printf("\n k="); scanf("%d",Global(3));
\r
1042 { if (*Global(2) > *Global(4)) break;
\r
1043 Dopen(1,0,Global(5)); IC=2;
\r
1045 L2: (*Global(1))++;
\r
1046 if (*Global(1)== *Global(3))
\r
1048 Refmove(Global(9),Physical(Global(7))+1);
\r
1053 Refmove(Global(7),Global(5));
\r
1061 Openarray(2,1,*Global(2),Local(1));
\r
1071 if (setjmp(buffer)!=-2) module[modulenumber]();
\r
1079 var left,right : node,
\r
1082 unit ins: procedure( value: integer) ;
\r
1091 call left.ins(value);
\r
1099 call right.ins(value)
\r
1106 unit traverse : coroutine (x:node);
\r
1109 unit t: procedure(y:node);
\r
1125 var n,i,j,min,m,k: integer,
\r
1127 tr: arrayof traverse;
\r
1133 read(j); write(j); if j>m then m:=j fi;
\r
1138 if j=-1 then writeln; exit fi;
\r
1140 if j>m then m:=j fi;
\r
1145 array tr dim (1:n);
\r
1149 tr(i):=new traverse(d(i));
\r
1154 if min=m then exit fi;
\r
1159 if min > tr(i).val then min:=tr(i).val; j:=i fi;
\r
1163 write(min); attach(tr(j));
\r
1164 k:=k+1; if k=10 then writeln; k:=0 fi;
\r
1173 #include "rsdata.h"
\r
1176 extern int IC; /* global control */
\r
1177 extern int modulenumber; /* module number */
\r
1178 extern unsigned int *DISPVIRT,*DISPDIR; /* displays' addresses */
\r
1179 extern unsigned int *lastcor,*mycoroutine,*myprocess;
\r
1180 extern unsigned int *current,*local,*global;
\r
1185 int displdir = -15;
\r
1189 int protnum=numprot;
\r
1193 int perm [] = { 0,1,2};
\r
1194 int perminv [] = { 0,1,2};
\r
1196 struct Prototype PROT [] =
\r
1198 kind num lspn rspan ref dcl lev lst pmdd Sl DL Lsc Stat hand pref psleng*/
\r
1200 {2, 0, 15, 27, 0, -1, 0, 0, 0, 27, 26, 25, 24, -1, -1, 1},
\r
1201 {0, 1, 0, 9, 1, 0, 1, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
1202 {1, 2, 0, 9, 2, 1, 2, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
1203 {3, 3, 0, 9, 3, 0, 1, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
1204 {1, 4, 0, 9, 4, 3, 2, 0, 0, 9, 8, 7, 6, -1, -1, 1},
\r
1209 int (* module [numprot]) () ;
\r
1212 struct Offsets OFF[]=
\r
1213 { 0, 43, 0, 11, 0, 0, 0,
\r
1214 0, 10, 1, 2, 0, 11, 0,
\r
1215 0, 10, 2, 3, 0, 13, 0,
\r
1216 0, 10, 3, 4, 0, 16, 0,
\r
1217 0, 10, 4, 4, 0, 20, 0 };
\r
1244 struct Hlstelem HL[]= { 0 };
\r
1245 struct Sgelem SL[]= { 0 };
\r
1258 case 1: goto L1; break;
\r
1259 case 2: goto L2; break;
\r
1260 case 3: goto L3; break;
\r
1261 case 4: goto L4; break;
\r
1262 case 5: goto L5; break;
\r
1266 if (*Address(1,5) > *Local(1))
\r
1268 if (Notmember(Address(1,1)))
\r
1270 Dopen(1,0,Address(1,1));
\r
1271 IC=2; Go(Address(1,1));
\r
1273 *(Physical(Address(1,1))+5)= *Local(1);
\r
1277 Slopen(2,Local(2),Address(1,1));
\r
1278 *(Physical(Local(2))+1)= *Local(1);
\r
1279 IC=3; Go(Local(2));
\r
1285 if (Notmember(Address(1,3)))
\r
1287 Dopen(1,0,Address(1,3));
\r
1288 IC=4; Go(Address(1,3));
\r
1289 L4: *(Physical(Address(1,3))+5)= *Local(1);
\r
1293 Slopen(2,Local(2),Address(1,3));
\r
1294 *(Physical(Local(2))+1)= *Local(1);
\r
1295 IC=5; Go(Local(2));
\r
1308 case 1: goto L1; break;
\r
1309 case 2: goto L2; break;
\r
1310 case 3: goto L3; break;
\r
1311 case 4: goto L4; break;
\r
1315 L2: Dopen(4,3,Local(4));
\r
1316 Refmove(Physical(Local(4))+1,Local(1));
\r
1317 IC=3; Go(Local(4));
\r
1319 *Local(3)= *Global(5);
\r
1320 IC=4; Attach(lastcor);
\r
1327 case 1: goto L1; break;
\r
1328 case 2: goto L2; break;
\r
1329 case 3: goto L3; break;
\r
1330 case 4: goto L4; break;
\r
1333 if (Member(Local(1)))
\r
1334 { Dopen(4,3,Local(3));
\r
1335 Refmove(Physical(Local(3))+1,Physical(Local(1))+1);
\r
1336 IC=2; Go(Local(3));
\r
1338 *Address(1,3)= *(Physical(Local(1))+5);
\r
1339 IC=3; Attach(lastcor);
\r
1340 L3: Dopen(4,3,Local(3));
\r
1341 Refmove(Physical(Local(3))+1,Physical(Local(1))+3);
\r
1342 IC=4; Go(Local(3));
\r
1352 case 1: goto L1; break;
\r
1353 case 2: goto L2; break;
\r
1354 case 3: goto L3; break;
\r
1355 case 4: goto L4; break;
\r
1356 case 5: goto L5; break;
\r
1357 case 6: goto L6; break;
\r
1360 printf("Number of trees n="); scanf("%d",Global(1));
\r
1361 Openarray(5,1,*Global(1),Global(7));
\r
1362 printf("Give the values of nodes. End each tree with -1\n");
\r
1366 if (*Global(2)> *Global(1)) break;
\r
1367 scanf("%d",Global(3));
\r
1368 if (*Global(3) > *Global(5)) *Global(5)= *Global(3);
\r
1369 Dopen(1,0,Arrayelem(Global(7),*Global(2)));
\r
1370 IC=2; Go(Arrayelem(Global(7),*Global(2)));
\r
1371 L2: *(Physical(Arrayelem(Global(7),*Global(2)))+5)= *Global(3);
\r
1374 scanf("%d",Global(3));
\r