Скачиваний:
3
Добавлен:
01.05.2014
Размер:
3.55 Кб
Скачать
program Inductive_function_1;
{----------------------------------------------------------------------------}
{ ЏаЁ¬Ґа ўлзЁб«Ґ­Ёп Ё­¤гЄвЁў­®Ј® а биЁаҐ­Ёп дг­ЄжЁЁ : }
{ f( w ) = " ‘㬬  н«Ґ¬Ґ­в®ў ®в१Є  б ¬ ЄбЁ¬ «м­®© б㬬®© " , }
{ Ј¤Ґ ®в१®Є - бўп§­ п Ї®¤Ї®б«Ґ¤®ў вҐ«м­®бвм § ¤ ­­®© Ї®б«Ґ¤®ў вҐ«м­®бвЁ w. }
{ Џгбвм Ёб室­ п Ї®б«Ґ¤®ў вҐ«м­®бвм Ґбвм w = x(1)x(2)...x(n) Ё Їгбвм }
{ S(k,l) = SUM ( k <= i <= l : x(i) ), Ј¤Ґ 1 <= k <= l <= n . ’®Ј¤  }
{ f(w) = max ( S(k,l) : 1 <= k <= l <= n ) . }
{ ”г­ЄжЁп f - ­ҐЁ­¤гЄвЁў­ . ђ бᬮваЁ¬ Ё­¤гЄвЁў­®Ґ а биЁаҐ­ЁҐ F = ( f, t ), }
{ Ј¤Ґ }
{ t( w ) = max ( S(j,n) : 1 <= j <= n ). }
{ ‘®¤Ґа¦ вҐ«м­® t(w) - Ї®вҐ­жЁ «м­л© Є®­Єг७в ⥪г饣® ४®а¤  f(w) ЇаЁ }
{ Їа®¤®«¦Ґ­ЁЁ Ї®б«Ґ¤®ў вҐ«м­®бвЁ w . ‚лзЁб«Ґ­ЁҐ f Ё t : }
{ t ( w * x ) = max ( x, x + t(w) ), }
{ f ( w * x ) = max ( f(w), t(w*x) ), }
{ t ( $ ) = 0, f( $ ) = MinInt. }
{ ‡¤Ґбм $ ®Ў®§­ з Ґв Їгбвго Ї®б«Ґ¤®ў вҐ«м­®бвм. }
{ €б室­ п Ї®б«Ґ¤®ў вҐ«м­®бвм зЁв Ґвбп Ё§ д ©«  INITSEQ.DAT . }
{----------------------------------------------------------------------------}
const MinInt = -32768;
var x, { ®зҐаҐ¤­®© н«Ґ¬Ґ­в Ї®б«Ґ¤®ў вҐ«м­®бвЁ }
y, { y = f ( w ) }
z : Integer; { z = t ( w ) }
fin, { input file }
fout : Text ; { output file }

begin
Assign( fin, 'INITSEQ.DAT' );
Assign( fout, {'INFREZ.DAT'}'' );
Rewrite( fout );
WriteLn( fout, 'н«Ґ¬Ґ­в: ४®а¤: Є®­Єг७в:' );

Reset( fin ); { L(fin)=$ }
y := MinInt; { y=f($) }
z := 0; { z=t($) }
{ inv : y=f(L(fin)) & z=t(L(fin)) }
{ bound: length(R(fin)) }
while not Eof(fin) do
begin
Read( fin, x );
Write( fout, x : 8 ); ЙННННННННННННННННННННННННННННННННННННННННННННН»
{ ­®ўл© Є®­Єг७в : } єн«Ґ¬Ґ­в: ४®а¤: Є®­Єг७в: є
if z>0 then z := z + x else z := x; є 1 1 є
{ ­®ўл© ४®а¤ : } є 2 3 є
if z>y є -5 -2 є
then { ®Ў­®ўЁвм ४®а¤ } є 3 3 є
begin є 6 9 є
y := z; є -10 -1 є
WriteLn( fout, y : 9 ) є 6 6 є
end є 9 15 є
else { ®бв ўЁвм бв ал© } є 1 16 є
WriteLn( fout , z : 20 ); є -5 11 є
end { while }; є****** Њ ЄбЁ¬ «м­ п б㬬  = 16 ******є
{ y = f ( fin ) & z = t( fin ) } ИНННННННННННННННННННННННННННННННННННННННННННННј

WriteLn( fout, '****** Њ ЄбЁ¬ «м­ п б㬬  = ', y, ' ******' );
Close( fin );
Close( fout )
end { Inductive_function_1 } .

Соседние файлы в папке Индуктивное расширение функции