Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
02.01.2020
Размер:
237.1 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИИ

Новосибирский государственный технический университет

ЛАБОРАТОРНАЯ РАБОТА № 8

по курсу «Информатика и программирование»

«Комбинированные типы»

Факультет бизнеса

Группа: ФБИ-11

Студенты: Рыбаченко А.А.

Преподаватель: Зайцев М.Г.

Новосибирск

2012г.

Практическая работа. Текстовый файл

Цель: Сформировать практические навыки обработки данных хранящихся в файлах на внешних запоминающих устройствах с помощью средств Object Pascal.

Задание

  1. Просмотреть коды символов, записанных в текстовый файл.

Рекомендации к выполнению: Создайте новое консольное приложение и сохраните его в отдельной папке под именем PTextFile1. Создайте текстовый файл в редакторе Delphi с помощью команды File|New|Other|Text. Введите с клавиатуры в него первые семь строк из представленных ниже:

Сохраните файл в той же папке, где хранится ваше приложение под именем File1.txt. Закройте в редакторе страницу с файлом с помощью правой кнопки мыши. В вашем приложении откройте этот файл как текстовый и выведите его содержимое на экран. Затем откройте его же, как файл типизированный file of byte. Выведите его содержимое, так как показано на рисунке выше. Проанализируйте результат. Затем откройте его же, как файл типизированный file of char. Выведите его содержимое, чтобы оно совпадало с тем, что показано на рисунке выше. Проанализируйте результат.

  1. Посчитать количество вхождений заданной строки в файл. Рекомендации к выполнению: для подсчёта возьмите файл проекта вашего приложения (файл с расширением dpr). Для подсчёта числа вхождений напишите функцию. Перед подсчётом числа вхождений выведите содержимое файла на экран для тестирования работы программы.

  2. Удалить все вхождения заданной строки в файл.

Текст работы:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

const n = 5;

type

fileint = file of integer;

function MinInFile(var f:fileint; var pos:integer):integer;

var min:integer;

begin

reset(f);

pos:=1;

if filesize(f) = 0

then

result:=0

else

begin

read(f,result);reset(f);

while eof(f) <> true do

begin

read(f,min);

if result>min

then

begin

pos:=filepos(f);

result:=min;

end;

end;

end;

end;

procedure FindAndChangeFile( var f:fileint; var a,b:integer);

var p:integer;

begin

reset(f);

while eof(f) <> true do

begin

read(f,p);

if p=a then

begin

seek(f,filepos(f)-1);

write(f,b);

end;

end;

end;

// Нужно будет отсиртировать с помощь процедур swar и min

var f:fileint; i,v,pos,a,b:integer;

begin

AssignFile(f,'MyDat.txt');

rewrite(f);

for i:=1 to n do

begin

write('Integer: ');

read(v);

write(f,v);

end;

reset(f);

while eof(f) <> true do

begin

read(f,v);

writeln('New Integer: ',v);

end;

writeln('Minimanlnoe ', MinInFile(f,pos),' v pozicii ', pos);

Write('Vvedite a = '); readln(a);

write('Vvedite b = '); read(b);

FindAndChangeFile(f,a,b);

reset(f);

while eof(f) <> true do

begin

read(f,v);

writeln('New New Integer: ',v);

end;

readln; readln;

end.

Соседние файлы в папке Зайцев М. Г.