Лекции по "Языкам и методам программирования" (PascalABC)

Автор: Пользователь скрыл имя, 07 Марта 2013 в 02:12, курс лекций

Описание работы

Лекция 1. Представление алгоритмов на языке Программирования ПаскальАВС.
Лекция 2. Построение линейных алгоритмов
Лекция 3. Алгоритмы, содержащие структуру ветвления.
Лекция 4. Алгоритмы, содержащие структурные операторы циклов.
...
Лекция 9. Файловый тип данных

Работа содержит 10 файлов

Лекция 1.Представление алгоритмов на языке программирования Паскаль..doc

— 120.50 Кб (Открыть, Скачать)

Лекция 10. Интуитивное понятие алгоритма.doc

— 366.50 Кб (Открыть, Скачать)

Лекция 2. Построение линейных алгоритмов.doc

— 209.50 Кб (Открыть, Скачать)

Лекция 3. Алгоритмы, содержащие структуру ветвления..doc

— 68.00 Кб (Открыть, Скачать)

Лекция 4. Алгоритмы, содержание циклы.doc

— 343.50 Кб (Открыть, Скачать)

Лекция 5.Процедуры и функции пользователя..doc

— 95.50 Кб (Открыть, Скачать)

Лекция 6. Символьные и строковые переменные.doc

— 69.00 Кб (Открыть, Скачать)

Лекция 7.Структурный тип данных (массивы).doc

— 128.50 Кб (Открыть, Скачать)

Лекция 8.Комбинированный тип данных.doc

— 62.00 Кб (Открыть, Скачать)

Лекция 9.Файловый тип данных.doc

— 114.50 Кб (Скачать)

f:mas;

{Имя файлового  типа mas,который состоит из записей типа sesia, имя файловой переменной f. Пункт 1}

I,n,m:Integer;

Z:sesia;   {простые переменные}

 

Begin

{создадим файл данных}

  Assign(f,’c:\Other\masc.dat’); { Пункт 2}

  Rewrite(f); { Пункт 3}

  Writeln(‘Ввести количество студентов’);

  Readln(n);

  For i:=1 to n do

    Begin

    Writeln(‘Ввести фамилию ’,I,’ студента’);

    Readln(z.fio);

   Writeln(‘Ввести оценку по математике ’,I,’ студента’);

    Readln(z.matem);

    Writeln(‘Ввести оценку по информатике ’,I,’ студента’);

    Readln(z.infor);

    Writeln(‘Ввести оценку по философии ’,I,’ студента’);

    Readln(z.filos);

    Write(f,z); {Записали всю запись в файл f}

    End;

Close(f);

 

{Используем  данные из файла и выведем  то, что требуется по условию задачи}

Assign(f,’c:\Other\masc.dat’); { Пункт 2}

Reset(f); { Пункт 3}

{Пока не конец  файла будем читать из файла  запись, проверять сдал ли студент  все экзамены и если нужно  выводить сообщения о нем на  экран}

While not(eof(f)) do {пока не конец файла f}

   Begin

   Read(f,z); {читаем запись из файла и отправляем ее в переменную z}

   If (z.matem<4) or (z.infor<4) or (z.filos,4)

       Then Writeln(z.fio:15, z.matem:5, z.infor:5, z.filos:5);

   End;

Close(f);

Readln;

End.

 

8.Понятие текстового  файла данных.

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

 

EOLN(имя файловой переменной)


Это, как правило, пара символов CR (перевод строки – код 13) и LF (возврат каретки – код 10).

Весь текстовый файл, как и  любой другой, заканчивается маркером CTRL+Z, который определяет функция

 

EOF(имя файловой переменной)


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

 

9.Объявление типа текстового  файла.

Текстовые файлы можно объявить двумя способами:

1 способ

Type   TEXT =  FILE   OF   CHAR;

Var   имя файловой переменной : TEXT;


Поскольку ТЕХТ – это стандартный  идентификатор, такой же как  Integer и другие, то описание файловой переменной текстового типа будет иметь следующий вид:

2 способ

Var   имя файловой переменной : Text;


 

10.Создание текстового файла данных.

Все пункты создания текстового файла совпадают с пунктами создания типизированного файла. Отличием является пункт 4, где данные записываются в  файл. Вместо процедуры Write  используется процедура    Writeln, так как окончание Ln говорит о начале новой строки.

Чтобы создать текстовый  файл данных необходимо выполнить следующие  действия:

1. Объявить файловый  тип с помощью следующих строк:

Var имя файловой переменной : Text;


 

2. Установить связь  между файловой переменной в  программе и файлом данных на диске. Это делает процедура

Assign (имя файловой переменной, ‘ имя диска: путь к имени файла данных на диске ‘);


 

 

3. Открыть файл для  записи с помощью процедуры

Rewrite(имя файловой переменной);


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

 

4. Записать необходимую  информацию в файл с помощью  оператора

WriteLn(имя файловой переменной, список записываемых переменных);


 

5. Закрыть файл с  помощью процедуры 

Close(имя файловой переменной);


 

Задача. Создать текстовый  файл, который состоит из строк  делового письма. Если строка будет состоять из 5 пробелов, то запись строк в файл прекратить.

Пусть письмо будет следующего содержания:

«Уважаемый _____________________________

На ваш запрос №______ от ____________ 2009г.

отвечаем, что выполнить ваш  заказ на данный момент

мы не можем из-за отсутствия запасных деталей.» 

 

Program a1;

Uses Crt;

Type   dl = String[60];

Var pismo:Text;  {текстовая  файловая переменная}

    st:dl;     {одна строка делового письма}

Begin

Assign(pismo, 'd:\aaa.doc'); {деловое письмо будет находиться  на диске d в файле aaa.doc}

Rewrite(pismo); {открыть  файл pismo для записи}

st:='';   {сначала  строка делового письма пустая}

Writeln('Набирать  строки письма, в конце каждой  строки нажимать клавишу Enter');

Repeat

   Writeln(pismo,st);  {записать строку в файл}

   Readln(st);  {ввести следующую строку письма}

Until st='     ';

Close(pismo);   {закрыть файл pismo }

end.

 

Таким образом, можно создать трафарет некоторого письма, а затем им пользовать нужное количество раз. Трафарет письма будет находиться на диске d под именем aaa.doc.

 

11.Дополнение текстового файла новыми данными.

Чтобы в конец текстового файла добавить данные необходимо выполнить  следующие пункты.

1. Объявить файловый  тип с помощью следующих строк:

Var имя файловой переменной : Text;


 

2. Установить связь  между файловой переменной в  программе и файлом данных  на диске. Это делает процедура

Assign (имя файловой переменной, ‘ имя диска: путь к имени файла данных на диске ‘);


 

3. Открыть уже созданный  текстовый файл для записи  с помощью процедуры

Append(имя файловой переменной);


Эта процедура устанавливает  указатель в конец файла, после последней строки письма и позволяет заносить новые данные.

 

4. Записать необходимую  информацию в файл с помощью  оператора

WriteLn(имя файловой переменной, список записываемых переменных);


 

5. Закрыть файл с  помощью процедуры 

Close(имя файловой переменной);


 

Задача. Дополним предыдущее деловое письмо следующими фразами: «Если Вы хотите, мы можем заказать нужные детали за границей за дополнительную плату.»

Program a2;

Uses Crt;

Type   dl = String[60];

Var pismo:Text;  {текстовая  файловая переменная}

    st:dl;     {одна строка делового письма}

Begin

Assign(pismo, 'd:\aaa.doc'); {деловое письмо будет находиться  на диске d в файле aaa.doc}

Append(pismo); {открыть уже созданный файл pismo для дополнения}

st:='';   {сначала  строка делового письма пустая}

Writeln('Набирать  строки письма, в конце каждой  строки нажимать клавишу Enter');

Repeat

   Writeln(pismo,st);  {записать строку в файл}

   Readln(st);  {ввести следующую строку письма}

Until st='     ';

Close(pismo);   {закрыть файл pismo } end.

12.Использование  данных из файла.

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

1. Объявить файловый  тип с помощью следующих строк:

Var имя файловой переменной : Text;


 

2. Установить связь  между файловой переменной в программе и файлом данных на диске. Это делает процедура

Assign (имя файловой переменной, ‘ имя диска: путь к имени файла данных на диске ‘);


 

3. Открыть уже созданный  текстовый файл для чтения  с помощью процедуры

Reset(имя файловой переменной);


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

 

4. Записать необходимую  информацию в файл с помощью  оператора

WriteLn(имя файловой переменной, список записываемых переменных);


 

5. Закрыть файл с помощью процедуры

Close(имя файловой переменной);


 

Задача. Прочитать письмо созданное в предыдущей задаче.

Program a3;

Uses Crt;

Type   dl = String[60];

Var pismo:Text;  {текстовая  файловая переменная}

    st:dl;     {одна строка делового письма}

Begin

Assign(pismo, 'd:\aaa.doc'); {деловое письмо  находится на  диске d в файле aaa.doc}

Reset (pismo); {открыть уже созданный файл pismo для чтения}

Writeln(‘текст пиьма:’);

While not(eof(pismo)) do

   Begin

   Readln(pismo,st);  {прочитать строку из файла}

   Writeln(st);  {вывести строку письма на экран}

End;

Close(pismo);   {закрыть файл pismo }

end.

 

Вопросы для  самопроверки.

1.Что такое логический  файл?

2.Какого типа бывают  файлы данных?

3.Чем отличается файл  данных последовательного доступа  от файла данных прямого доступа?

4.Какая особенность  у типизированных файлов?

5.Как объявить тип  файловой переменной в программе?

6.Как объявить файловую  переменную в программе?

7.Что делает процедура Assign?

8.Что делает процедура Rewrite?

9.Что делает процедура Reset?

10.Что делает процедура Write?

11.Что делает процедура Read?

12.Что делает процедура Close?

13.Что обозначает процедура Seek?

14.Что обозначает функция  Eof?

15.Что такое текстовый  файл данных?

16.Как объявить в  программе переменную текстового  файла данных?

17.К файлам какого  доступа относятся текстовые  файлы?

18.Какая особенность  у текстовых файлов?

19.Как объявить тип  текстовой файловой переменной  в программе?

20.Как объявить текстовую  файловую переменную в программе?

21.Что делает процедура Writeln?

22.Что делает процедура Readln?

23.Что обозначает процедура Append?

24.Что обозначает функция  Eof?

   

 

 




Информация о работе Лекции по "Языкам и методам программирования" (PascalABC)