План лекций по курсу ОП 2008/09 — весенний семестр — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Лекция 2 ( 18.02.09 ))
(Лекция 2 ( 18.02.09 ))
Строка 42: Строка 42:
 
==Лекция 2 ( 18.02.09 ) ==
 
==Лекция 2 ( 18.02.09 ) ==
  
===Подпрограммы для работы с типизированными файлами
+
===Подпрограммы для работы с типизированными файлами===
 
  Truncate
 
  Truncate
 
  FileSize
 
  FileSize
Строка 73: Строка 73:
 
end;
 
end;
 
</source>
 
</source>
 +
 +
Подпрограммы для работы с текстовыми файлами
 +
 +
Append
 +
Eoln
 +
SeekEof
 +
SeekEoln
 +
Read, Write - особенности
 +
Readln, Writeln
 +
 +
Пример 1. Дан текстовый файл, содержащий целые числа. Найти их сумму.
 +
 +
<source lang="Pascal">
 +
var f: text;
 +
    s,x: integer;
 +
begin
 +
  Assign(f,'a.txt');
 +
  Reset(f);
 +
  s := 0;
 +
  while not SeekEof(f) do
 +
  begin
 +
    read(f,x);
 +
    s += x;
 +
  end
 +
  Close(f);
 +
end.
 +
</source>
 +
 +
Пример 2. Обработка строк в текстовых файлах.
  
 
==Лекция 3 ( 24.02.09 ) ==
 
==Лекция 3 ( 24.02.09 ) ==

Версия 22:27, 17 февраля 2009

Лекция 1 ( 17.02.09 )

Файлы

Введение

Определение. Преимущества файлов.

Классификация файлов

по типу компонент (текстовые, двоичные (типизированные,бестиповые))
по способу доступа (последовательный, произвольный)

Понятие файловой переменной, файлового указателя Буферизация в файлах

Подпрограммы для работы с закрытыми файлами

procedure Rename(f, name);
procedure Erase(f);
function FileExists(name): boolean;
function DeleteFile(name): boolean;
function RemoveDir(name): boolean;
function GetCurrentDir: string;
function SetCurrentDir(name): boolean;
function CreateDir(name): boolean;
function ExtractFileName(name): string;
function ExtractFileExt(name): string;
function ExtractFilePath(name): string;

Ошибки ввода-вывода при работе с файлами

  1. файл открыли, но забыли выполнить Assign
  2. открыли, но файла нет на диске (или нет прав доступа на чтение)
  3. попытка считывания за концом файла

Пример. Попытка считывания за концом файла.

Assign(f,'a.dat');

try
  Reset(f);
  try
    read(f,x);
  finally
    Close(f);
  end;
except
  writeln('Произошла ошибка ввода-вывода');
end;

Лекция 2 ( 18.02.09 )

Подпрограммы для работы с типизированными файлами

Truncate
FileSize
FilePos
Seek

Варианты использования:

Seek(FileSize(f)) - переместить файловый указатель за конец файла (Eof(f)=True)
Seek(FilePos(f)-1) - вернуться на 1 позицию назад

Пример 1. Добавление 0 в конец файла

Пример 2. Возведение всех элементов файла в квадрат.

Пример 3. Использование в базах данных - перевод Иванова в 10 группу в виде наказания

Пример 4. Сортировка файла

for var i:=FileSize(f)-1 downto 1 do
for var j:=0 to i-1 do
begin
  Seek(f,j);
  read(f,x,y);
  if x>y then
  begin
    Seek(f,j);
    write(f,y,x);
  end;
end;

Подпрограммы для работы с текстовыми файлами

Append
Eoln
SeekEof
SeekEoln
Read, Write - особенности
Readln, Writeln

Пример 1. Дан текстовый файл, содержащий целые числа. Найти их сумму.

var f: text;
    s,x: integer;
begin
  Assign(f,'a.txt');
  Reset(f);
  s := 0;
  while not SeekEof(f) do
  begin
    read(f,x);
    s += x;
  end
  Close(f);
end.

Пример 2. Обработка строк в текстовых файлах.

Лекция 3 ( 24.02.09 )

Лекция 4 ( .09 )

Лекция 5 ( .09 )

Лекция 6 ( .09 )

Лекция 7 ( .09 )

Лекция 8 ( .09 )

Лекция 9 ( .09 )

Лекция 10 ( .09 )

Лекция 11 ( .09 )

Лекция 12 ( .09 )

Лекция 13 ( .09 )

Лекция 14 ( .09 )

Лекция 15 ( .09 )