spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Я выяснил, как обращаться к стандартной библиотеке АЛГОЛ-БЭСМ-6:
_биб : список имён процедур; _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





и выдаётся какой-то разумный результат.

Date: 2022-01-13 05:13 pm (UTC)
paserbyp: (Default)
From: [personal profile] paserbyp
АЛГОЛ был мой первый язык на котором я писал программы. В то время было три языка: ALGOL, FORTRAN и COBOL.

COBOL был в СССР практически не доступен, а популярность ALGOL и Fortran была большая.

Прошло более 50 лет и ALGOL давно приказал долго жить, особенно после неудачной попытки ALGOL68, а на COBOL в США написано столько программ, что государство и вся банковская система до сих пор не может избавиться от него и уже существуют программы по автоматическому переписыванию существующего COBOL кода на Java. Особенно это актуально при переходе на облачные технологии.

Единственным долгожителем оказался Fortran и только потому, что это был основной язык для ученых. Особенно он популярен у геологов, метеорологов и я даже встречал иерархические базы данных написанные бывшими учеными на Fortran.

Конечно же сегодня в универcитетах никто Fortran и не учит и этот язык давно при смерти, но похороны, в отличии от давно умершего ALGOL и умирающего в конвульсиях COBOL, пока откладываются, но не надолго...
Edited Date: 2022-01-13 05:17 pm (UTC)

Date: 2022-01-14 02:05 pm (UTC)
paserbyp: (Default)
From: [personal profile] paserbyp
Паскаль появился несколько позже. Что касается смерти ALGOL, то для меня она наступила с приходом машин серии ЕС, которые были клоном IBM 360 и на них был бесплатный транслятор PL/1, очень мощный язык от IBM, который позволял делать практически все и поэтому из-за отсутствия транслятора ALGOL, который появился несколько позже, когда все уже работали на PL/1 и не было времени ждать, пока кто-то напишет транслятор ALGOL для ЕС ЭВМ, а надо при этом понимать, что ALGOL - это европейский язык как и Паскаль, и американцы на нем не работали… так что убийца ALGOL в СССР был PL/1, который скомуниздили у Индии, вместе с IBM/360, с которой передрали компьютеры серии ЕС ЭВМ.

Естественно, что те кто работал на компьютерах БЭСМ - у них была другая история. Я же про тех кто переходил с машин серии Минск-22 и Минск-32, где были трансляторы ALGOL(назывались по русски - АЛГАМС) на только что появившиеся машины серии ЕС ЭВМ. Отдельно интересная история о том, как я столкнулся с машинами серии СМ ЭВМ, которых передрали с PDP/11 американской компании DEC…
Edited Date: 2022-01-14 02:10 pm (UTC)

Date: 2022-01-16 02:56 pm (UTC)
paserbyp: (Default)
From: [personal profile] paserbyp
Да, умер так как американцы сначала написали оптимизирующийся транслятор для PL/1, а потом создали такого монстра как язык ADA, который оказался тупиком, так как к тому времени ЕС ЭВМ и СМ ЭВМ вытеснили персональные компьютеры, а там был dBase с транслятором для него - Clipper, а самое главное там был TurboPascal компании Borland. И когда наконец на IBM PC появился транслятор PL/1, то было уже поздно, так как потом возник Internet, который убил Паскаль и dBase, и все языки вдруг стали ООП(с классами и методами) и в 90-х годах прошлого столетия возникла Java, как попытка упростить жизнь тем кто сходил с ума программируя на С++ и история продолжается, скача галопом, не приходя в сознание…
Edited Date: 2022-01-16 03:00 pm (UTC)

Date: 2022-01-13 05:34 pm (UTC)
vak: (Default)
From: [personal profile] vak
Ага, было волшебное слово БИБ!
Нам преподавали Алгол на первом курсе, и мы даже считали что-то конкретно на Алгол-БЭСМ. Но до библиотек не доходило.

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 12th, 2026 05:21 pm
Powered by Dreamwidth Studios