Четверг, 25.04.2024, 13:45
Блог учителя информатики и математики
О блогеМой профильРегистрацияВыходВход
Вы вошли как Гость · Группа "Гости" Приветствую Вас, Гость · RSS
Меню блога
Погода в нашем районе.

НАГРАДА

Как Вы считаете, должны ли дети ходить в школу в школьной форме?
Всего ответов: 2806
 
 Блог учителя
Главная » Статьи » Информатика » В помощь ученику

Работа с файлами в Pascal (18 урок, часть 1).

Работа с файлами в Pascal.

Файл — это самостоятельная последовательность символов, расположенных на внешнем носителе. Это определенная выделенная область информации.

Файлы могут хранить в себе различную информацию. Это тексты, программы, картинки, интернет страницы, файлы программы вирусов, антивирусов и т.д. 

Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами. Использование файлов целесообразно в случае:

долговременного хранения данных ;

доступа различных программ к одним и тем же данным;

обработки больших массивов данных, которые невозможно целиком размещать в оперативной памяти компьютера.

Существование файлов не зависит от  работы какой-либо программы и они никуда не исчезают.

Когда и зачем нужно использовать файлы? 

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

 Так вот в этих и некоторых других случаях к нам на помощь приходит умение работать с файлами. 

Описание файловых переменных.

В разделе описания следующая запись 

var f1, f2: text;  // говорит о том, что переменные f1 и f2 это текстовые файлы. 

Как установить связь между файловой переменной и самим фалом?   

Для ответа на этот вопрос есть специальная процедура  

assign(f,'имя_файла');  // устанавливает связь между файловой переменной и самим файлом. Фактически мы говорим, что переменной f соответствует такое-то имя файла. Например, текстовый файл input.txt   

Здесь подразумевается, что файл с самой программой находится в той же папке, что и текстовый файл input.txt. Если же он в другой папке, то нам нужно указать относительное расположение этого файла.  

‘Имя_файла’ — полный путь к указанному файлу, записанный в относительной или абсолютной форме. 

После того как мы установили соответствие файловой переменной и самого файла мы можем:

 Открыть для чтения  reset(f);

Создать или перезаписать  rewrite(f);

Создать или открыть и дописать в конец файла  append(f);  

Сохранить и закрыть файл close(f);  

Для того что бы делать какие-либо внутренние изменения  в самом файле так же существуют команды:

read(f,a,b);  —  читать из файла f две переменные a и b. После выполнения этой процедуры указатель в файле передвинется за переменную b;

readln(f,a,b,c);  — читать из файла f три переменные a, b и c.

write(f,a,b,c);  —  записать в файл f переменные a,b и c;

writeln(f,a,b);  —  записать в файл f переменные a и b, а затем записать туда же символ переход к следующей строке.

Append (f ) - процедура, открывающая файл f для добавления строк в конец файла;

Eoln (st )- логическая функция, результат выполнения которой равен TRUE, если достигнут маркер конца строки st.

 

Файл, не содержащий ни одного элемента, называется пустым. Создается файл путем добавления новых записей в конец первоначально пустого файла. Длина файла, т.е. количество элементов, не задается при определении файла.

Пример 1.  Создать текстовый файл, в который записать 4 предложения. Прочитать этот файл. Определить длину каждого предложения после вывода его содержимое на экран.

 

Program File_text;

var

f1 : text;

st : string;

n: byte;

begin

assign   (f1, 'file1.txt'); //связывает с файлом file1.txt  файловую переменную f1

rewrite  (f1); // создаёт новый файл  с именем file1.txt

writeln ( f1, 'Ученики нашего класса '); // записывает предложения в файл

writeln ( f1, ' понимают ');

writeln (f1, '  необходимость ответственного ответственного отношения к учёбе  ');

writeln (f1, ' и умения программировать ');

close (f1);   // закрывает файл для записи

reset (f1); // открытвает файл для чтения

while not eof (f1) do // пока не конец файла  f1

begin

readln (f1, st);    //читаем строку из файла f1

writeln(st);         // выводим на экран

n:= length (st);     //определяем длину строки

writeln ('  длина предложения =',n);

end;

close (f1);  // закрыть файл  для чтения

end .

 

Какая длина предложения ' понимают '? Почему?


ДЗ.1.Составить программу создание файла и чтение данных из него.

2.Перевернуть строку текстового файла , т.е. последние символы должны стать первыми, а первые последними.



 

Категория: В помощь ученику | Добавил: Harchev (15.12.2013)
Просмотров: 3899 | Комментарии: 10 | Теги: паскаль, работа с файлами, pascal | Рейтинг: 3.9/48
Всего комментариев: 10
1 Настя  
var
f1 : text;
st : string;
n: byte;
begin
assign(f1, 'file1.txt');
rewrite(f1);
writeln( f1,'С наступающим Новым годом!');
close(f1);
reset(f1);
while not eof(f1) do
begin
readln(f1,st);
writeln(st);
n:= length(st);
writeln('Длина предложения равна', ' ', n);
end;
close(f1);
end.

2 Анастасия  
var
f1 : text;
st : string;
n: byte;
begin
assign (f1, 'file1.txt');
rewrite (f1);
writeln ( f1, 'С наступающим');
writeln ( f1, ' Новым годом');
writeln (f1, ' И Рождеством ');
close (f1);
reset (f1);
while not eof (f1) do
begin
readln (f1, st);
writeln(st);
n:= length (st);
writeln (' длина =',n);
end;
close (f1);
end .

3 Катерина  
var f : text;
d : string;
n: byte;
begin
assign(f, 'file1.txt');
rewrite(f);
writeln( f,'Счастливого Нового года и Рождества!');
close(f);
reset(f);
while not eof(f) do
begin
readln(f,d);
writeln(d);
n:= length(d);
writeln('Длина предложения = ', ' ', n);
end;
close(f);
end.

4 Марго  
program fail;
var
f1 : text;
st : string;
n: byte;
begin
assign(f1, 'file1.txt');
rewrite(f1);
writeln( f1,'С праздничком!');
close(f1);
reset(f1);
while not eof(f1) do
begin
readln(f1,st);
writeln(st);
n:= length(st);
writeln('Длина предложения =', ' ', n);
end;
close(f1);
end.

5 анюта  
Program File_text;
uses crt;
var
f1 : text;
st : string;
n: byte;
begin
textbackground(10);
assign (f1, 'file1.txt');
rewrite (f1);
writeln ( f1, 'Кристина, спасибо большое');
reset (f1);
while not eof (f1) do
begin
readln (f1, st);
writeln(st);
n:= length (st);
writeln (' длина предложения =',n);
end;
close (f1);
end .

6 Ангелина  
Program File_text;
uses crt;
var
f1 : text;
st : string;
n: byte;
begin
textbackground(14);
assign (f1, 'file1.txt');
rewrite (f1);
writeln ( f1, 'УВАЖАЕМЫЙ Сергей Филиппович , желаю успехов в следующем году!');
reset (f1);
while not eof (f1) do
begin
readln (f1, st);
writeln(st);
n:= length (st);
writeln (' длина предложения =',n);
end;
close (f1);
end .

7 Кристина  
Program File_text;
uses crt;
var
f1 : text;
st : string;
n: byte;
begin
textbackground(12);
assign (f1, 'file1.txt');
rewrite (f1);
writeln ( f1, 'Желаю счастья и здоровья!');
reset (f1);
while not eof (f1) do
begin
readln (f1, st);
writeln(st);
close (f1);
end;
end.

8 Анастасия и Катерина  
2.Перевернуть строку текстового файла , т.е. последние символы должны стать первыми, а первые последними
var
s: string;
i,n: byte;
c: char;
begin
write('Введите слово: ');
readln(s);
n := length(s) div 2;
for i:=length(s) downto 1 do
write(s[i]);
end.

9 Кристина  
Program prog;
uses crt;
var d,d1:string;
i:integer;
begin
writeln ('Введите слово или предложение');
readln(d);
d1:='';
for i:=length(d)
downto 1 do d1:=d1+d[i];
d:=d1;
writeln(d);
end.

10 Даниил  
ПОМОГИТЕ! отдельно процедура работает, а в программе НЕТ!
program dz;
var t:text;
t1, t2:string;
n:integer;
procedure Naoborot (i:integer; t1:string; var t2:string);
begin
for i:=length(t1) downto 1 do
begin
t2:=t2+t1[n];
writeln(t2);
end;
end;
begin
assign(t, 'input.txt');
rewrite(t);
writeln('Hello, world!');
close(t);
reset(t);
while not eof(t) do
begin
readln(t, t1);
writeln(t1);
end;
n:=length(t1);
naoborot(n, t1, t2);
close(t);
end.

Имя *:
Email *:
Код *:
Copyright MyCorp © 2024
Блог учителя Учительский портал