Стандартная библиотека АЛГОЛа
Jan. 13th, 2022 08:27 amЯ выяснил, как обращаться к стандартной библиотеке АЛГОЛ-БЭСМ-6:
_биб : список имён процедур; _begin ...
Например, при вводе программы
получаем
и выдаётся какой-то разумный результат.
_биб : список имён процедур; _begin ...
Например, при вводе программы
$АЛГО _биб : лагранж2; _begin _real _array a[1:10], x[1:10], y[1:100]; _real r; _integer i; _for i := 1 _step 1 _until 10 _do x[i] := a[i] := i; _for i := 1 _step 1 _until 100 _do y[i] := i; r := лагранж2(a, x, y, 5.5, 5.5, 10, 10, 10); output(`e', r) _end
получаем
CЧET БEЗ KOHTPOЛЯ
1. _BEGIN _REAL _PROCEDURE ЛAГPAHЖ2(A,X,Y,X1,X2,P,П,П1);_REAL X1,X2;_INTEGER P,П,П1;_ARRAY A,X,Y;_BEGIN _REAL S,Z,Z1;_INTEG
ER I,J,J1,K;_ARRAY S1[0:20];_INTEGER Я,Я1;_IF X2<A[1]_THEN _BEGIN Z:=X2;_GO _TO M3;_END ;_IF X1<X[1]_THEN _BEGIN Z:=X1;_GO _TO M
3;_END ;S:=0;_FOR J1:=1_STEP 1_UNTIL П1_DO _IF X2≥A[J1]∧X2≤A[J1+1]_THEN _GO _TO M1;Z:=X2;_GO _TO M2;M1:_FOR I:=1_STEP 1_UNTIL П_
DO _IF X1≥X[I]∧X1≤X[I+1]_THEN _GO _TO M;Z:=X1;_IF X1≤X[П]_THEN _GO _TO M;M2:_IF X2≤A[П1]_THEN _GO _TO M;M3:OUTPUT(‘T’,‘ПPИ OБPA
ЩEHИИ K ПPOЦEДYPE ЛAГPAHЖ2 APГYMEHT=’,‘E’,Z,‘T’,‘BЫШEЛ ЗA ПPEДEЛЫ TAБЛИЦЫ. PAЗБEPИCЬ B ЧEM ДEЛO, A Я ПPEPЫBAЮ CЧET.
ДO BCTPEЧИ!’);OUTPUT(‘×’);S:=S/0;M:_IF I≤П-P_THEN J:=I_ELSE J:=П-P;_IF J1>П1-P_THEN J1:=П1-P;Я1:=J1;_FOR Я:=0_STEP 1_UNTIL P_D
O _BEGIN S:=0;_FOR I:=0_STEP 1_UNTIL P_DO _BEGIN Z:=Z1:=1;_FOR K:=0_STEP 1_UNTIL P_DO _BEGIN _IF K≠I_THEN Z:=Z×(X1-X[K+J])/(X[I+
J]-X[K+J]);_END ;S:=S+Y[I+J+(J1-1)×П]×Z;_END ;S1[Я]:=S;J1:=J1+1;_END ;S:=0;_FOR I:=0_STEP 1_UNTIL P_DO _BEGIN Z:=Z1:=1;_FOR K:=0
_STEP 1_UNTIL P_DO _BEGIN _IF K≠I_THEN Z:=Z×(X2-A[K+Я1])/(A[I+Я1]-A[K+Я1]);_END ;S:=S+S1[I]×Z;_END ;ЛAГPAHЖ2:=S;_END ;
2.
3. _REAL _ARRAY A[1:10], X[1:10], Y[1:100];
4. _REAL R; _INTEGER I;
5. _FOR I := 1 _STEP 1 _UNTIL 10 _DO X[I] := A[I] := I;
6. _FOR I := 1 _STEP 1 _UNTIL 100 _DO Y[I] := I;
7. R := ЛAГPAHЖ2(A, X, Y, 5.5, 5.5, 10, 10, 10);
8. OUTPUT(‘E’, R)
9. _END
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
.5049710695⏨+02
и выдаётся какой-то разумный результат.