slegpbte.pas 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. program slegpbte;
  2. uses
  3. iom,
  4. sle,
  5. typ;
  6. const
  7. c = 0;
  8. d = 100;
  9. e = 0;
  10. f = 10;
  11. var
  12. l, i, p, q, n, term, ind, rw, vb, nvb: ArbInt;
  13. ca: ArbFloat;
  14. a: array[c..d] of ArbFloat;
  15. b, x: array[e..f] of ArbFloat;
  16. begin
  17. Write(' program results slegpbte');
  18. case sizeof(ArbFloat) of
  19. 4: writeln('(single)');
  20. 6: writeln('(real)');
  21. 8: writeln('(double)');
  22. end;
  23. Read(randseed);
  24. writeln;
  25. writeln(' randseed =', randseed: 6);
  26. writeln;
  27. Read(nvb);
  28. writeln(' number of examples:', nvb: 3);
  29. writeln;
  30. for vb := 1 to nvb do
  31. begin
  32. writeln('example', vb: 2);
  33. Read(p, q, n, l);
  34. ind := p;
  35. writeln;
  36. writeln(' n=', n: 1, ' l=', l: 1);
  37. for i := 1 to n do
  38. begin
  39. if i <= l + 1 then
  40. rw := i
  41. else
  42. rw := l + 1;
  43. iomrev(input, a[ind], rw);
  44. ind := ind + rw;
  45. end;
  46. iomrev(input, b[q], n);
  47. slegpb(n, l, a[p], b[q], x[q], ca, term);
  48. ind := p;
  49. writeln;
  50. writeln(' left-under part of A = ');
  51. writeln;
  52. for i := 1 to n do
  53. begin
  54. if i <= l + 1 then
  55. rw := i
  56. else
  57. begin
  58. rw := l + 1;
  59. Write('': (i - l - 1) * (numdig + 2));
  60. end;
  61. iomwrv(output, a[ind], rw, numdig);
  62. ind := ind + rw;
  63. end;
  64. writeln;
  65. writeln('b=');
  66. iomwrv(output, b[q], n, numdig);
  67. writeln;
  68. writeln('term=', term: 2);
  69. case term of
  70. 1:
  71. begin
  72. writeln;
  73. writeln('x=');
  74. iomwrv(output, x[q], n, numdig);
  75. writeln;
  76. writeln(' ca=', ca: 12);
  77. end;
  78. 2: writeln('solution not possible');
  79. 3: writeln(' wrong input (l<0 or l>n-1)')
  80. end;
  81. writeln('---------------------------------------------');
  82. end; {vb}
  83. end.