spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
На диске 2148, зона 0417 нашлась целая программа на АЛГОЛе - в кодировке УПП с чётностью, поэтому сразу не заметная:

_ВЕGIN _RЕАL СХР,ND,‾Т,NЕ;_INТЕGЕR ‾N,М;
INРUТ(СХР,ND,‾Т,NЕ,‾N,М);
_ВЕGIN _RЕАL СD,СХ,F1,Р1,В1;_INТЕGЕR Т,I;_АRRАУ Н[1:М,1:‾N];
_RЕАL _АRRАУ В,Х,‾Н[0:М],NН,МС,МСD,МСХ,Р2[1:М],С[1:‾N];
_INТЕGЕR У1;
INРUТ(Н,С,В);
У1:=1943;
В1:=В[0];Р1:=0;_FОR Т:=1_SТЕР 1_UNТIL М_DО Р2[Т]:=0;
_ВЕGIN _RЕАL _РRОСЕDURЕ ‾R‾А‾N‾D;_ВЕGIN У1:=3125×У1;
У1:=У1-(У1÷67108864)×67108864;‾R‾А‾N‾D:=У1/67108864_ЕND ;
_ВЕGIN _РRОСЕDURЕ ‾А1(Х,S,F);_VАLUЕ Х,S;_RЕАL Х;_INТЕGЕR S;
_ВЕGIN _INТЕGЕR К,L,J,R,R1,I;_RЕАL  Р,U;
_RЕАL NМ,NУ,NF;_INТЕGЕR _АRRАУ РЕRМ[1:2×‾N];_АRRАУ ‾Ф[1:2×‾N];
_RЕАL NS;I:=1;F:=NМ:=0;СD:=СХ:=0;
2:_FОR К:=1_SТЕР 1_UNТIL ‾N_DО РЕRМ[К]:=К;_FОR К:=‾N_SТЕР -1
_UNТIL 1_DО _ВЕGIN L:=‾R‾А‾N‾D×К+.5;J:=РЕRМ[L];РЕRМ[L]:=РЕRМ[К];
РЕRМ[К]:=J_ЕND К;_FОR К:=1_SТЕР 1_UNТIL ‾N_DО РЕRМ[‾N+К]:=РЕRМ[К];
Р:=Х;_FОR J:=1_SТЕР 1_UNТIL ‾N_DО Р:=Р-Н[S,J];NУ:=Х×(‾N+1);
‾Ф[1]:=Н[S,РЕRМ[1]];_FОR J:=2_SТЕР 1_UNТIL 2×‾N_DО ‾Ф[J]:=
‾Ф[J-1]+Н[S,РЕRМ[J]];_FОR R:=1_SТЕР 1_UNТIL ‾N_DО _ВЕGIN J:=
‾R‾А‾N‾D×‾N+.5;Р:=‾Ф[J+R]-‾Ф[J];_IF (Х-Р)>0_ТНЕN NУ:=NУ+(Х-Р)×
(‾N+1-R)_ЕND R;NУ:=NУ×СХР×‾Т/(‾N+2)/(‾N+1);NF:=0;_FОR R1:=
1_SТЕР 1_UNТIL ‾N_DО _ВЕGIN _FОR К:=1_SТЕР 1_UNТIL ‾N_DО РЕRМ[К]:=
К;_FОR К:=‾N_SТЕР -1_UNТIL 1_DО _ВЕGIN L:=‾R‾А‾N‾D×К+.5;J:=
РЕRМ[L];РЕRМ[L]:=РЕRМ[К];РЕRМ[К]:=J_ЕND К;_FОR К:=1_SТЕР 1
_UNТIL ‾N_DО РЕRМ[‾N+К]:=РЕRМ[К];U:=-Х;_IF R1>1_ТНЕN _FОR R:=1
_SТЕР 1_UNТIL R1-1_DО U:=U+Н[S,РЕRМ[R]];_FОR R:=1_SТЕР 1_UNТIL
‾N_DО _ВЕGIN U:=U-Н[S,РЕRМ[К]]+Н[S,РЕRМ[R+R1-1]];_IF U<0∧
Н[S,РЕRМ[R]]+U>0_ТНЕN NF:=NF+(Н[S,РЕRМ[R]]+U)×(‾N+2-R1)×(‾N+1-R1)×
С[РЕRМ[R]]/‾N;_IF U>0_ТНЕN NF:=NF+Н[S,РЕRМ[R]]×(‾N+2-R1)×(‾N+1-R1)×
С[РЕRМ[R1]]/‾N_ЕND R_ЕND R1;NF:=NF×‾Т/2/(‾N+2)/(‾N+1);F:=
F+NУ+NF;СХ:=СХ+NУ;СD:=СD+NF;NМ:=NМ+(NF+NУ)↑2;_IF I>10
_ТНЕN _ВЕGIN NS:=NМ/I-(F/I)↑2;
_IF I-(9×NS)/(ND×F/I)↑2>0_ТНЕN _GО
_ТО 1_ЕND ;I:=I+1;_GО _ТО 2;1:F:=F/I;СD:=СD/I;СХ:=СХ/I
_ЕND РRОСЕDURЕ ‾А1;
_РRОСЕDURЕ ‾G(F,А,В,NЕ,МIN,Z);_VАLUЕ А,В,NЕ;_RЕАL А,В,NЕ,МIN,Z;
_RЕАL _РRОСЕDURЕ F;_ВЕGIN _RЕАL Х1,Х2,У1,У2;Х2:=А+0.62×(В-А);Х1:=
А+0.38×(В-А);У1:=F(Х1);У2:=F(Х2);‾А:_IF У2>У1_ТНЕN _ВЕGIN В:=Х2;
Х2:=Х1;У2:=У1;Х1:=А+0.38×(В-А);У1:=F(Х1)_ЕND _ЕLSЕ
_ВЕGIN А:=Х1;Х1:=Х2;У1:=У2;Х2:=А+0.62×(В-А);У2:=F(Х2)_ЕND ;
_IF (В-А)≥2.5×NЕ_ТНЕN _GО _ТО ‾А;Z:=Х1;МIN:=У1;_ЕND РRОСЕDURЕ ‾G;
_RЕАL _РRОСЕDURЕ F2(У);_VАLUЕ У;_RЕАL У;_ВЕGIN _RЕАL F1;‾А1(У,1,F1);F2:=F1
_ЕND F2;‾G(F2,0,В[0],NЕ,МС[1],Х[0]);_FОR Т:=1_SТЕР 1_UNТIL
М-1_DО  _ВЕGIN _RЕАL _РRОСЕDURЕ F(У);_VАLUЕ У;_RЕАL У;_ВЕGIN
_RЕАL F1;‾А1(У,Т,F1);F:=F1+‾Т×СХР×У/2_ЕND  РRОСЕDURЕ F;
_FОR I:=1_SТЕР 1_UNТIL ‾N_DО Р2[Т]:=Р2[Т]+Н[Т,I];Р1:=Р1+Р2[Т];
В1:=В1+В[Т];‾G(F,0,В1-Р1,NЕ,МС[Т],Х[Т]);
ОUТРUТ(‘/’,‘Т’,‘Х=’,‘Е’,Х,‘Т’,‘Т=’,‘Е’,Т);
_ЕND Т;
Х[М]:=0;
ОUТРUТ(‘/’,‘Т’,‘МС=’,‘Е’,МС,‘Т’,‘Х*’,‘Е’,Х);
‾Н[0]:=0;Х[М]:=0;_FОR Т:=1_SТЕР 1_UNТIL М_DО ‾Н[Т]:=Х[Т]-Х[Т-1]+
Р2[I];_FОR Т:=1_SТЕР 1_UNТIL М_DО _ВЕGIN ‾А1(Х[Т-1],Т,F1);МС[Т]:=
F1+‾Т×СХР×Х[Т]/2;МСD[Т]:=СD;МСХ[Т]:=СХ+
‾Т×СХР×Х[Т]/2_ЕND Т;
ОUТРUТ(‘/’,‘Т’,‘ОПТИМАЛЬНЫЙНАЧАЛЬНЫЙЗАПАС’,‘Е’,Х[0],‘/’,‘Т’,‘ОПТИМАЛЬНЫЕПОСТАВКИ’,‘Е’,‾Н);
ОUТРUТ(‘/’,‘Т’,‘МС=’,‘Е’,МС,‘Т’,‘МСD=’,‘Е’,МСD,‘Т’,
‘МСХ=’,‘Е’,МСХ);
_ВЕGIN _RЕАL ЕМС,ЕСD,ЕСХ;ЕМС:=МС[1];ЕСD:=МСD[1];ЕСХ:=МСХ[1];
_FОR I:=2_SТЕР 1_UNТIL М_DО _ВЕGIN ЕМС:=ЕМС+МС[I];ЕСD:=ЕСD+МСD[I];
ЕСХ:=ЕСХ+МСХ[I]_ЕND I;
ОUТРUТ(‘/’,‘Т’,‘ИЗДЕРЖКИ=’,‘Е’,ЕМС,‘15В’,
‘Т’,‘ДЕФИЦИТ=’,‘Е’,ЕСD,‘15В’,
‘Т’,‘ХРАНЕНИЕ=’,‘Е’,ЕСХ);
_ЕND _ЕND _ЕND
_ЕND
_ЕND


Она компилируется, и если ей дать на вход какие-то значения, она что-то печатает.
Например, в ответ на
1; 2; 3; 4; 2; 2;
1; 2; 4; 8;
3; 5;
7;
она отвечает
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

          Х= .9424000000e+00   .7068000000e+00  <<<<<<<<<<<<<<<<<<Т= .1000000000e+01
          МС= .2048418182e+01  <<<<<<<<<<<<<<<<<<Х* .9424000000e+00   .7068000000e+00   .0000000000e+00
          ОПТИМАЛЬНЫЙ НАЧАЛЬНЫЙ ЗАПАС .9424000000e+00
          ОПТИМАЛЬНЫЕ ПОСТАВКИ .0000000000e+00   .7644000000e+00   .2932000000e+00
          МС= .2178709091e+01   .1060200000e+01  МСD= .1975272727e+00   .0000000000e+00  МСХ= .1981181818e+01
           .1060200000e+01
          ИЗДЕРЖКИ= .3238909091e+01                 ДЕФИЦИТ= .1975272727e+00                 ХРАНЕНИЕ= .3041381818e+01

                                                                                                                             1
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

Что это такое было, кто-нибудь понимает? В обычной задаче оптимизации грузоперевозок, вроде, никаких "дефицита" и "хранения" не было.
Что нужно было говорить АЛГОЛу, чтобы он читал текст программы с диска, неизвестно.

Нужно добавить
ШИФР 419999^
ФИЗО МБ21^
ТРАК 32^
ЛИСТ 0-27^
ВХОД 37^
ВРЕМ 240^
АЦПУ 3^
ЛЕНТ 57(2148-300)^
ЛЕНТ 30(1С)^
РОСП 0^
АВОС^
СПЕЦ^
Е
В 37
К 00 010 0042
К 15 24 00100
К 00 066 0011 00 000 0100
С 0000 0000 0057 0002
EВ1A3
$АЛГО

перед текстом программы, и
$2
1; 2; 3; 4; 2; 2;
1; 2; 4; 8;
3; 5;
7;
``````
ЕКОНЕЦ


после. Открывающая кавычка в первой позиции строки имеет специальное значение для эмулятора, поэтому выше в текст программы в 3 строки добавлены пробелы, отсутствующие в оригинале.

Чтобы программа не печаталась как кирпич, к концам строк нужно добавить символы CR (ctrl-M).
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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. 13th, 2026 10:39 pm
Powered by Dreamwidth Studios