Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Индуктивное расширение функции / INDFUN2
.TXT 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;
{ ®ўл© ४®а¤ : }
if z>y
then { ®Ў®ўЁвм ४®а¤ }
begin
y := z;
WriteLn( fout, y : 9 )
end
else { ®бв ўЁвм бв ал© }
WriteLn( fout , z : 20 );
end { while };
{ y = f ( fin ) & z = t( fin ) }
WriteLn( fout, '****** Њ ЄбЁ¬ «м п б㬬 = ', y, ' ******' );
Close( fin );
Close( fout )
end { Inductive_function_1 } .
ЙННННННННННННННННННННННННННННННННННННННННННННН»
єн«Ґ¬Ґв: ४®а¤: Є®ЄгаҐв: є
є 1 1 є
є 2 3 є
є -5 -2 є
є 3 3 є
є 6 9 є
є -10 -1 є
є 6 6 є
є 9 15 є
є 1 16 є
є -5 11 є
є****** Њ ЄбЁ¬ «м п б㬬 = 16 ******є
ИНННННННННННННННННННННННННННННННННННННННННННННј
{----------------------------------------------------------------------------}
{ ЏаЁ¬Ґа ўлзЁб«ҐЁп Ё¤гЄвЁў®Ј® а биЁаҐЁп дгЄжЁЁ : }
{ 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;
{ ®ўл© ४®а¤ : }
if z>y
then { ®Ў®ўЁвм ४®а¤ }
begin
y := z;
WriteLn( fout, y : 9 )
end
else { ®бв ўЁвм бв ал© }
WriteLn( fout , z : 20 );
end { while };
{ y = f ( fin ) & z = t( fin ) }
WriteLn( fout, '****** Њ ЄбЁ¬ «м п б㬬 = ', y, ' ******' );
Close( fin );
Close( fout )
end { Inductive_function_1 } .
ЙННННННННННННННННННННННННННННННННННННННННННННН»
єн«Ґ¬Ґв: ४®а¤: Є®ЄгаҐв: є
є 1 1 є
є 2 3 є
є -5 -2 є
є 3 3 є
є 6 9 є
є -10 -1 є
є 6 6 є
є 9 15 є
є 1 16 є
є -5 11 є
є****** Њ ЄбЁ¬ «м п б㬬 = 16 ******є
ИНННННННННННННННННННННННННННННННННННННННННННННј
Соседние файлы в папке Индуктивное расширение функции