Смекни!
smekni.com

Модули, записи и файлы (стр. 4 из 4)

Разумеется, две введенные процедуры носят в основном подготови­тельный характер, однако можно указать практически важные случаи их вполне самостоятельного использования. Так, процедура Rewrite может применяться для стирания содержимого файла без его удаления с диска или для создания нового файла.

Процедура close завершает действия с файлом, который указывается в качестве ее единственного параметра. При этом буфер, образованный при открытии файла, ликвидируется. После этого файловую переменную можно связать посредством процедуры Assign с каким-либо другим дис­ковым файлом. Заметим, что при окончании работы всей программы происходит автоматическое закрытие всех файлов, открытых в программе. Однако хорошим правилом является явное закрытие файлов процедурой close после окончания работы с ними.

Помимо закрывающей процедуры close, в системе Turbo Pascal также имеется дополнительная процедура Flush (ее параметр - файловая пере­менная). Flush используется для завершения обменов с файлом без его закрытия. Обмены с файлами всегда реализуются через некоторый буфер в оперативной памяти, поэтому в процессе записи на файл последние записываемые элементы могут еще находиться ("застрять") в буфере. Процедура Flush вызывает принудительный сброс этих элементов в файл. Эта процедура имеет смысл в том случае, если с файлом проводились операции записи, и используется редко, так как процедура close произ­водит такие же действия.

Глава 8. Задание по второй части курсовой работы

В файле содержаться справочные сведенья о предприятиях-задолжниках по уплате налогов

ИНН

Наименование предприятия

Средство на начало года

Начислено налогов в отчет. период

Уплачено налогов в отч. Период

……...

…………..

………………

…………….

………………

…………..

……...

…………..

………………

…………….

………………

…………..

Сведенья на конец отчетного периода

…………………..

……………….

……………

………………

………….

…………………..

……………….

…………….

……………..

………….

Тип полей:

№ - тип INTEGER[3]

ИНН – тип STRING[12]

Наименование

Предприятия – тип STRING[20]

Остальные поля – INTEGER

Разработать алгоритм и программу для обработки файла согласно варианту задания

Вариант №26

Выдать информацию о предприятиях, которые не начисляют налоги в отчетном периоде.

Сведенья выдать в виде таблицы с соответствующим заголовком.

НАПРИМЕР :

СВЕДЕНЬЯ О ЗАДОЛЖНИКАХ > 20 тыс.

Глава 9. Алгоритм второй части курсовой работы



Глава 10. Основная программа

program part2;

uses crt;

type table = record

n : integer ;

inn : string[12];

Name : string[20];

Sng : integer;

Nop : integer;

Uop : integer;

Skop : integer;

End;

Var

f : file of table;

x : table;

begin

clrscr;

window(45,2,75,7);

textcolor (5) ;

writeln (‘Курсовая работа по информатике ’) ;

writeln (‘Факультет АЭС группа А-92 ’) ;

writeln (‘студента: Грязина Д.’) ;

window (1, 1, 80, 25) ;

gotoxy (30, 5) ;

writeln (‘Часть 2’) ;

window(10, 8, 80, 20) ;

writeln (‘В файле table.txt содержатся справочные сведения’) ;

writeln (‘о предприятиях-задолжниках по уплате налогов ’) ;

writeln ;

writeln (‘Задание’) ;

writeln (‘Выдавать полные сведения о предприятиях, которые не ’) ;

writeln (‘начисляли налоги в отчетный период.’) ;

window(1, 1, 80, 25);

gotoxy(10, 24);

textcolor (4 + blink);

writeln (‘Для продолжения нажмите Enter ’) ;

readln ;

textcolor (10) ;

clrscr ;

assign (f, table.txt) ;

reset (f) ;

writeln (‘Cведения о предприятиях, которые не начисляли ’) ;

writeln (‘налоги в отчетный период ’) ;

writeln (‘+----------------------------------+’) ;

writeln (‘| № | ИНН | Наименование | 1 | 2 | 3 | 4 |’) ;

writeln (‘ | ---+----------+----------------+----+----+----+-----| ’) ;

while not Eof(f) do

begin

read (f, x) ;

with x do

if Nop = 0 then

begin

writeln (‘| ‘№ : 3’ | ‘,Inn : 12,’ | ’,Name : 20,’ | ’ ,Sng :4,’ | ’,Nop : 4,’ | ’,Uop : 4,’|’ ) ;

writeln (Skop : 4, ‘ | ’) ;

end;

end;

writeln (‘+-----------------------------------------------------------------------+’) ;

writeln ;

writeln (‘1- Сведения на начало года ’) ;

writeln (‘2 – Начислено налогов в отчетный период ’) ;

writeln (‘3 – Уплачено налогов в отчетный прериод ’) ;

writeln (‘4 – Сведения на конец отчетного преиода ’) ;

writeln ;

readln ;

end.
Глава 11. Результаты второй части курсовой работы

Сведения о предприятиях которые не начисляли

налоги в отчетный период.

+-----------------------------------------------------------------------+

¦ № ¦ ИНН ¦ Наименование ¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦

¦-----+-----------------+------------------------+----+----+----+-----¦

¦ 3 ¦ 54090903618 ¦ Детский сад №275¦ -8 ¦ 0 ¦ 8 ¦ 0 ¦

¦ 10 ¦ 54091032618 ¦ Школа №25 ¦ -7 ¦ 0 ¦ 7 ¦ 0 ¦

+------------------------------------------------------------------------+

1 - Сведения на начало года

2 - Начислено налогов в отчетный период

3 - Уплачено налогов в отчетный период

4 - Сведения на конец отчетного периода

Заключение

Полученный мною практический опыт применительно к программированию на ПАСКАЛЕ позволяет использовать эффективное модульное программирование. Кроме того, изучив представленный в курсовом проектировании материал, я приобрел практические навыки использования процедур, функций. Наряду с этим я научился правильно использовать файловые функции операционной системы MS-DOS, что является одним из основных вопросов программирования.

Список использованных источников:

Фаронов В. В., Турбо Паскаль 7.0., Учебное пособие. – М.: «Нолидж», 1999.

Бляшкин И. И. Буров А. А. Новые возможности Турбо Паскаля 6.0. – СПб.: Издательство «Макет»,1992.

Фаронов Н.Н. Програмирование на персональных ЭВМ в среде Турбопаскаль. – М.: Издательство МГТУ, 1990.