1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- program slegpblt;
- uses
- typ,
- iom,
- sle;
- const
- c = 0;
- d = 10;
- var
- l, i, p, q, n, term, rw, vb, nvb: ArbInt;
- ca: ArbFloat;
- a: array[c..d] of ^ArbFloat;
- b, x: array[c..d] of ArbFloat;
- begin
- Assign(input, ParamStr(1));
- Reset(input);
- Assign(output, ParamStr(2));
- Rewrite(output);
- Write(' program results slegpblt');
- case sizeof(ArbFloat) of
- 4: writeln('(single)');
- 6: writeln('(real)');
- 8: writeln('(double)');
- end;
- Read(randseed);
- writeln;
- writeln(' randseed =', randseed: 6);
- writeln;
- Read(nvb);
- writeln(' number of examples:', nvb: 3);
- writeln;
- for vb := 1 to nvb do
- begin
- writeln('example', vb: 2);
- Read(p, q, n, l);
- writeln;
- writeln(' n=', n: 1, ' l=', l: 1);
- for i := 1 to n do
- begin
- if i <= l + 1 then
- rw := i
- else
- rw := l + 1;
- GetMem(a[i + p - 1], rw * sizeof(ArbFloat));
- iomrev(input, a[i + p - 1]^, rw);
- end;
- iomrev(input, b[q], n);
- slegpbl(n, l, a[p], b[q], x[q], ca, term);
- writeln;
- writeln(' A (left-under part) = ');
- for i := 1 to n do
- begin
- if i <= l + 1 then
- rw := i
- else
- begin
- rw := l + 1;
- Write('': (i - l - 1) * (numdig + 2));
- end;
- iomwrv(output, a[i + p - 1]^, rw, numdig);
- FreeMem(a[i + p - 1], rw * sizeof(ArbFloat));
- end;
- writeln;
- writeln('b=');
- iomwrv(output, b[q], n, numdig);
- writeln;
- writeln('term=', term: 2);
- case term of
- 1:
- begin
- writeln;
- writeln('x=');
- iomwrv(output, x[q], n, numdig);
- writeln;
- writeln(' ca=', ca: 12);
- end;
- 2: writeln('solution not possible');
- 3: writeln(' wrong input (l<0, r<0, l>n-1 or r>n-1)')
- end;
- writeln('---------------------------------------------');
- end; {vb}
- end.
|