.


:




:

































 

 

 

 


-




: . :

{$I+} ;

{$I-} .

 

$I+. . , {$I+} {$I-}, . : , . , , . IOResult: Integer , . , 0.

, Reset

 

Assign (f, file1);

{$I-} Reset (f) {$I+};

If IOResult <> 0 Then Writeln( )

Else...

 

, , .

 

3. . , . : , , , .

:

1 .

2 .

3 .

4 .

5 .

i Seek(f, i). , , Seek(f, i - 1). Seek(f, Filesize(f)).

:

 

. 2. 3

 

:

Sklad . , : Name ; Data ; Price ; Count .

FileName .

code .

f .

Sk .

 

.

Program Task3;

Uses CRT;

Type

Tf = String[20];

Date = Record day: 1..31; Mon: 1..12; Year: 1..99; End;

Sklad = Record { }

Name: Tf;

Data: Date;

Price: Real;

Count: Integer

End;

Var FileName: Tf; R: Byte;

{ }

Procedure Vvod(fname: Tf); { }

Var f: File Of Sklad;{ }

Sk: Sklad; { }

Begin

Clrscr;

Assign (f, fname); {

}

Rewrite(f); { }

{ 1- }

Write( ); Readln(Sk.Name);

Writeln( - .);

While sk.Name <> do

Begin

With Sk Do

Begin { }

Writeln( );

Write( ); Readln(Data.Day);

Write( ); Readln(Data.Mon);

Write( ); Readln(Data.Year);

Write( ); Readln(Price);

Write( . ); Readln(Count);

End;

Write(f, Sk); { }

{ }

Write( ); Readln(Sk.Name);

End;

Writeln( <Enter>);

Repeat Until keypressed;{ }

Close (f);

End;

{ }

Procedure Look (fname: Tf); { }

Var f: File Of Sklad; Sk: Sklad; i, code: Integer;

Begin

Clrscr;

Assign (f, fname);

{ }

{$i-} {

}

Reset(f);

{$i+} {

}

code:= IOResult;{ }

If code <> 0 Then Begin { , 0}

Writeln( !);

Delay(2000); { }

End;

i:=0;

While Not eof(f) do {, }

Begin

Read(f, sk); { }

With Sk Do { }

Begin

i:= i + 1;

Writeln( , i);

Writeln( , Name);

Writeln( , Data.Day, /, Data.Mon, /, Data.Year);

Writeln( , Price:9:2);

Writeln( . , Count);

Delay(1000); {

}

End;

End;

Writeln( <Enter>);

Repeat Until keypressed;

Close (f);

End;

{ }

Procedure Correct(fname: Tf);

Var f: File Of Sklad; i, code: Integer; Sk: Sklad;

Begin

Clrscr;

Assign (f, fname);

{ }

{$i-}

Reset(f);

{$i+}

code:= IOResult;

If code <> 0 Then Begin

Writeln( !);

Delay(2000);

End;

i:= Filesize(f); { }

Writeln( , i, .);

Write( ? (0 - ));

Readln(i); { , }

While i > 0 Do { , 0}

Begin

Seek(f, i - 1); {

}

Read(f, Sk); {C c i}

With Sk Do

Begin

{ }

Writeln( , i);

Write( , Name,?); Readln(Name);

Writeln( ,Data.Day,/,Data.Mon,/,Data.Year);

Write(? ); Readln(Data.Day);

Write(? ); Readln(Data.Mon);

Write(? ); Readln(Data.Year);

Write( ,Price: 9: 2,?); Readln(Price);

Write( ., Count,?); Readln(Count);

End;

Seek(f, i-1); { }

Write(f, Sk); { }

Write( ? (0 - ));

Readln(i); { }

End;

Writeln( <Enter>);

Repeat Until keypressed;

Close (f);

End;

{ }

Procedure AppenF(fname: Tf);

Var f: File Of Sklad; Sk: Sklad; code: Byte;

Begin

Clrscr;

Assign (f, fname);

{ }

{$i-}

Reset(f);

{$i+}

code:= IOResult;

If code <> 0 Then Begin

Writeln( !);

Delay(2000); Exit;

End;

Seek(f, Filesize (f));

Writeln( - .);

Write( ); Readln(Sk.Name);

While sk.Name <> do

Begin

With Sk Do

Begin

Writeln( );

Write( ); Readln(Data.Day);

Write( ); Readln(Data.Mon);

Write( ); Readln(Data.Year);

Write( ); Readln(Price);

Write( . ); Readln(Count);

End;

Write(f, Sk);

Write( ); Readln(Sk.Name);

End;

Writeln( <Enter>);

Repeat Until keypressed;

Close(f);

End;

{ }

Begin

Clrscr;

{ }

Repeat

Write( .); Readln(FileName);

Clrscr;

Gotoxy(20,8); Write(1 - );

Gotoxy(20,10); Write(2 - );

Gotoxy(20,12); Write(3 - );

Gotoxy(20,14); Write(4 - );

Gotoxy(20,16); Write(5 - );

Gotoxy(20, 18); Write(? );Readln(R);

Case R Of

1: Vvod (FileName); { }

2: Look (FileName); { }

3: Correct (FileName); { }

4: AppenF (FileName); { }

End;

Until R = 5;

End.

 

. , , , , .

Erase (f) f. Close. Rename (F, S) F S. . f Close.

 

4. Sklad, . , < 95.

 

{ }

Procedure DelF(fname: Tf);

Var f, f1: File Of Sklad; Sk: Sklad; code: Byte; God: 1.. 99;

{ f1}

Begin

Clrscr;

Assign (f, fname);

{ }

{$i-}

Reset(f);

{$i+}

code:= IOResult;

If code <> 0 Then Begin

Writeln( !);

Delay(2000); Exit;

End;

Assign(f1, Temp); Rewrite(f1) { }

Writeln( < 95 );

While Not Eof (f) do

Begin

Read (f, Sk); { .}

If Sk.Data.Year >= 95 Then Write(f1, Sk); { .}

End;

Close (f); Close (f1);

Erase(f); Rename (f1, fname);

{ . .}

End;

 

(, , . .) , . , , , , . . .

, , . , .

. , . . , . . .

 

5. , , . .

:

Ind .

p , .

Min, i, j, k, nn, c .

 

.

Program Task5;

Uses CRT;

Const n = 100;

Type

Tf = String[20];

Date = Record day: 1..31; Mon: 1..12; Year: 1..99; End;

Sklad = Record

Name: Tf;

Data: Date;

Price: Real;

Count: Integer

End;

Var FileName: Tf; code: Byte; Ind: Array [1..n] Of Integer;

f: File Of Sklad; Sk: sklad; p: Array [1..n] Of Real;

Min: Real; i, j, k, nn, c: Integer;

{}

Begin

Repeat

Write( .); Readln(FileName);

Clrscr;

Assign (f, FileName);

{ }

{$i-}

Reset(f);

{$i+}

code:= IOResult;

If code <> 0 Then Begin

Writeln( !);

Delay(2000);

End;

Until code = 0;

{ }

i:= 0;

While Not eof(f) do

Begin

i:= i + 1;

Read(f, sk);

p[i]:= Sk.price; { }

End;

nn:= Filesize(f);

For i:= 1 To nn Do Ind[i]:= i; { }

{ }

For i:= 1 To nn - 1 Do

Begin

Min:= p[i]; k:= i;

For j:= i To nn do

If p[j] < Min Then Begin k:= j; Min:= p[j]; End;

p[k]:= p[i]; p[i]:= Min;

{ Ind}

{ }

c:= Ind[k]; Ind [k]:= Ind[i]; Ind[i]:= c;

End;

Reset(f);

For i:= 1 To nn do

Begin

Seek(f, Ind[i] - 1); { }

Read(f, sk);

With Sk Do

Begin

Writeln( , Name);

Writeln( , Data.Day,/,Data.Mon,/,Data.Year);

Writeln( ,Price: 9: 2);

Writeln( . ,Count);

Delay(1000);

End;

End;

Writeln( <Enter>);

Repeat Until keypressed;

Close (f);

End.

, :

1) ASCII;

2) . #13 ( 13 CR). #10 ( 10 LF);

3) ^Z ( 26);

4) , () ;

5) .

:

 

[13][10]

, [13][10]

[13][10]

. [13][10]

: [13][10]

123 456 789 0[13][10]

234 567 890 1[13][10]

1.2 3.4 5.60 4[13][10]

-100.254[13][10]

[13][10]

[26]

 

, .. [13] = #13. ( ).

, . Eoln (End of line). . . #26.

( ):

 

Var f: Text;

 

Assign, .

n- , n 1 . , , . :

Reset (f) ;

Rewrite (f) ;

Append (f) .

f .

Write Writeln, Read Readln.

. , , , (#9), (#13).

Read , , . . . , . Read String, . ( , ), . , . , .

Readln , . . Readln (f) , , . , f :

 

12.3 13.4 14.5 15.6

 

Readln(f, r1, r2) r1 r2 12.3 13.4, , (14.5 15.6) .

Write Writeln , , , , . Write , .. . Writeln #13 #10 . , , . , Writeln (f, a: 8: 3, S=, S: 4). Writeln(f) , .





:


: 2016-11-18; !; : 1329 |


:

:

- , .
==> ...

1550 - | 1349 -


© 2015-2024 lektsii.org - -

: 0.111 .