Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по методике и информатикеВсё в одном.doc
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
1.09 Mб
Скачать

Утилиты сервисного обслуживания (усо)

К УСО относятся все виды сервисных программ, такие как утилиты по: дефрагментации, проверке и исправлению структуры разделов жёсткого диска, исправлению системных зависимостей, тонкой настройке системы и т. д..

Утилиты расширения функциональности

Расширяют функциональность существующих прикладных или системных средств, например, утилиты автоматизации и переконвертации медиа-тегов (mp3 id3, Ogg tags), безопасного (невосстановимого) удаления файлов, утилиты переконвертирования файлов различных форматов, утилиты системного менеджмента.

Информационные утилиты

Включают в себя мониторы, бенчмарки, и утилиты общей (статической) информации.

  1. Работа с дисковыми файлами в языках программирования.

Каждый файл на диске имеет обозначение, кот. состоит из 2 частей: имени-это выражение строкового типа (м. б. от 1 до 8 символов: пропис. и строч. ла­тин-е буквы, цифры и символы: !, @, #, %, ^, &, (,), ‘, ~, —, _) и расширения (начинается с точки (ей отделяется от имени), за которой следуют от 1 до 3 символов, описывает содержание файла и не является обяз-ым, т.е. по нему можно узнать, какая программа создала файл), н-р: command.com, turbo.exe, autoexec.bat, turbo.tph, proba.pas. Н-р: com, exe - готовые к исполнению программы; bat - командные (Batch) файлы; txt, doc - текстовые файлы

Устройства в Турбо Паскале. Входящие в комп-р компоненты принято наз. устройствами. Некоторые из них наряду с файлами во внеш. памяти Турбо Паскаль использует как файлы. При этом для указания этих файлов используются спец-ые имена (которые не могут иметь "настоя­щие" файлы), н-р: А: , В: - накопители на гибких магнитных дисках; C: , D: , E: и т.д.- винчестер; LPT1, LPT2, LPT3 - устройства, подключенные к || портам 1,2,3 (портом называют многоразрядный вход или выход в устройстве; PRN – принтер и др. Характеристика каждого файла - размер (число входящих в него байтов), дата и время (изменяются при изменении файла, создания файла). Имена файлов регистрируются на магнитных дисках в каталогах (или директо­риях) — спец-ое место на диске, в котором хранятся име­на файлов, сведения о размере файлов, дате и времени их последнего обновления, атрибуты (свойства) файлов. На магнитном диске м.б. несколько каталогов. Их имена задаются по таким же правилам, как имена файлов. Каждый магнитный диск обязательно имеет главный (корневой) каталог, в котором зарегистрированы файлы пользователей и подкаталоги 1 ур-ня, в кот-х зарегистрированы файлы пользователей, и подкаталоги 2 ур-ня, и т.д. Структура оглавлений:

Послед-сть оглавлений, ведущая от корневого каталога к файлу, наз. путем. Путь к файлу в сочетании с именем представляет строку символов, полностью идентифицирующую файл, и наз. спецификацией (или полным именем), например: E:\WORK\PASCAL\TURBO.EXE или d:\program\proba.pas. Т.о., обобщенный вид полного имени файла выглядит так: Диск:\ИмяКаталога\.ИмяКаталога\ИмяФайла, где идентификатор <Диск> задается литерой логического устройства от А: до Z:, и если он опущен, то подразу­мевается логическое устройство, принятое по умолчанию. Если опущены иденти­фикаторы <ИмяКаталога>, то по умолчанию принимается, что файл находится в те­кущем каталоге.

Описание файлового типа. Любой файл имеет три харак-ые особ-сти. 1) у него есть имя, что дает возможность программе работать одновременно с несколькими файлами, 2) он содержит компоненты одного типа (любой тип Турбо Паскаля, кроме файлового). Н-р, допускается файл запи­сей или файл строк, но нельзя создать "файл файлов". 3) длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти. В большинстве случаев файлы состоят из текстовых строк, или записей. Для его описания используется словосочетание file of. Для доступа к файлу опис-ся спец-ая файловая переменная, которая считается представителем файлов в Паскаль-программе (обозн. F). Если файл состоит из записей, дополнительно описывается переменная для доступа к полям записи (обозн. R). Формат:

type

<имя типа> = <тип компонентов>;

var

<F> : file of <имя типа>;

<R> : <имя типа>;

В любой момент времени программе доступен только один эл-нт файла, на который ссылается текущий указатель (указатель обработки). Позиция размещения доступного эл-та наз. текущей позицией. Все действия с файлом (чтение из файла, запись в файл) произво­дятся поэлементно, с эл-нта файла, который обозн-тся текущим указателем. По способу доступа к эл-ам различают файлы последов-ого (файл, к эл-там кот-го обеспечивается доступ в такой же послед-сти, в какой они запи­сывались) и прямо­го (файл, доступ к эл-ам которо­го осуществляется по адресу эл-та) доступа. Н-р, для поиска нужного эл-та в посл-ом файле необходимо, начиная с нулевого, перемещать указатель обработки до тех пор, пока он не будет указывать на искомый эл-нт, а при поис­ке нужного эл-та в файле прямого доступа достаточно указать номер его пози­ции. Компилятор Турбо Паскаля поддерживает 3 типа файлов: текстовые, типизи­рованные, нетипизированные.

Средства обработки файлов. Каждому файлу в языке Паскаля ставится в соответствие файловая переменная определенного типа, поэтому перед началом работы с файлом необходимо установить данное соответст­вие. Для этого в языке используется процедура Assign (var F; Name: string); где F — переменная любого файлового типа, а строковое выражение Name содержит полное имя файла, удовлетворяющее требованиям операционной системы. Процедура Assign всегда предшествует другим процедурам работы с файлами, т.к. ставит в соответствие конкретному файлу на внешнем устройстве

логическую файловую переменную языка, к которой впоследствии будут обращаться все другие файловые процедуры. Недопустимо использование процедуры Assign для уже открытого файла, значит необходимо его закрыть с помощью процедуры Close(var F) (логическое окончание работы с любым открытым файлом). Для работы с файлом прежде всего необходимо его открыть. В языке Паскаль предусмотрены для этого две процедуры: Reset(var F : file ); - открывает существующий файл; Rewrite(var F : file ); - создает и открывает новый файл. Открытие внешнего файла с помощью процедуры Reset в случае его отсутствия на диске может привести к ошибке при выполнении программы. Использование процедуры Close позволяет устранить связь файловой перемен­ной с внешним файлом, установленную с помощью процедуры Assigp. Н-р: полная цепочка команд для создания простого текстового файла с именем WORK.TXT:

var

F: text;

begin

Assign(F, 'WORK.TXT')";

Rewrite(F);

Write(F, 'Простой текстовый файл');

Close(F);

end..

К языковым средствам обслуживания файлов необходимо отнести процедуры переименования (Rename(var F; NewName : string); - переим-ет неоткр-й файл F любого типа. Новое имя зада­ется строкой NewName) и удаления (Erase(var F); - удаляет неоткрытый внешний файл любого типа, задаваемый пере­менной F) неоткрытых файлов. Если использовать для открытых файлов, возникнут нежелательные последствия со стороны ОС. Для того чтобы файловые операции выполнялись четко и без ошибок, необхо­димо использовать специальную функцию IOresult. Она работает без парамет­ров и возвращает значение типа integer, представляющее статус последней выпол­ненной операции вв/в. Исп-ние этой функции в программах воз­можно лишь в том случае, если на время выполнения файловых операций отключе­на стандартная проверка операций вв/в. После корректного выполнения операции вв/в функция IOresult воз­вращает значение, = 0, в остальных случаях функция возвращает соответ­ствующий код ошибки.

Текстовые файлы. Текстовый файл можно рассматривать как последовательность символов, раз­битую на строки длиной от 0 до 256 символов. Для описания исп-тся стан­д-ый тип Text:

var

F: text; {F — файловая переменная}

Открытие текстового файла можно произвести 2 станд-ми способами: 1) поставить в соответствие файловой переменной имя файла (процедура Assign), открыть новый текс-й файл (процедура Rewrite); 2) поставить в соответствие файловой переменной имя файла (процедура Assign), открыть уже существующий файл (процедура Reset). Текс-й файл во время работы допускает к-л 1 вид операции: чтение или запись. В связи с этим для работы с текстовыми файлами появляется еще 1 процедура открытия файла: Append(var F : text); - открывает уже сущ-щий файл и позиционирует указатель обработки на конец файла. После такого открытия текстовый файл можно только дополнять информацией, начиная с конца строки. Для обработки текстовых файлов используются процедуры Read и Write, обеспечивающие соответственно чтение и запись одной строки и более в текстовый файл. Процедуры: Readln и Writeln приводят к обязательному переходу к следующей строке текстового файла, т.е. вв/в данных осуществляется из различных строк. Общий вид представления процедур следующий:

Readln(var F : text; VI [ ,V2 , . . .Vn]) ;

Writeln(var F : text; VI [,V2,...Vn]);

где V1...Vn переменные разных типов. При организации операций вв/в используются специальные языковые средства в виде функций Eoln(var F: text)- возвращает булевское значение True, если текущая файловая позиция находится на маркере конца строки); Eof(var F: text)- возвр-ет булевское значение True, если указатель конца файла находится сразу за последним компонентом, и False — в противном случае; SeekEoln(var F: text)- возвращает булевское значение True при дости­жении маркера конца строки, причем указатель файла пропускает все пробелы и знаки табуляции, предшествующие маркеру. В противном случае SeekEof(var F: text) возвращает значение True, если указатель файла находится на маркере конца файла, пропускает все пробелы и знаки табуляции, предшествующие маркеру, и выполняет автоматический пропуск маркера конца строки. Харак-ым прмером использования этих функций может служить чтение числовых величин из текс-го файла, когда необходимо пропус­тить обработку разделяющих эти числа пробелов или знаков табуляции. Н-р: Прочитать посл-сть длиной 6 символов из первой строки тек-го файла EXAMPLE.PAS.

var

F: text;

St: string[6];

begin

Assign(F,'EXAMPLE.PAS'); {Файл EXAMPLE.PAS должен существо­вать }

Reset(F);

while not Eoln(F) do begin {Проверка конца строки}

Read(F, St) ;

Writeln('St = ', St); {Вывод на экран}

end;

Readln(F);

Close(F);

end.

Типизированные файлы. К типизированным файлам относятся файлы строго определенного типа. Чаще всего это файлы, состоящие из записей. Они применяются для создания различных БД. Единицей измерения набора данных является сама запись. Длина записи оп­ределяется как SizeOf(FileRec). Так как длина любого компонента типизированного файла строго постоянна, это дает возможность организовать прямой доступ к лю­бому компоненту по его порядковому номеру, поэтому типизированные файлы час­то называют файлами прямого доступа. Типизированные файлы позволяют организовать работу в режиме чтения-запи­си. Эта возможность играет решающую роль при определении, каким типам фай­лов отдать предпочтение для большинства прикладных задач.