Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

While NOT(EOF(baza)) Do




Begin

End.

Repeat

Begin

End.

Begin

End.

Begin

ClrScr;

Assign(f_text, ‘d:\User\f_text.txt’);

ReWrite(f_text); открываем файл для записи

Write(‘Номер группы:’);

ReadLn(nomer); вводим номер группы

WriteLn(f_text, nomer); записываем его в файл

Write(‘Фамилия:’);

ReadLn(name); вводим фамилию

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

Write(‘Имя:’);

ReadLn(name); вводим имя

WriteLn(f_text, name); записываем его в файл с новой строки

Write(‘Оценка:’);

ReadLn(ocenka); вводим оценку

WriteLn(f_text, ocenka:3); записываем ее в файл с новой строки в 3 позициях

Write(‘Ср. балл:’);

ReadLn(sr_ball); вводим средний балл

WriteLn(f_text, sr_ball:6:2); записываем его в файл с новой строки в 6 позициях

Close(f_text); закрываем файл

ReadLn;

 

Структура созданного файла:

ИС-09

Иванов

Иван

4.12

Внимание! Все данные желательно записывать в текстовый файл форматным
способом.

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

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

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

Во втором случае после чтения из файла значения переменной текстовый курсор переходит в начало новой строки (как на экране терминала).

Внимание! Переменная, указанная в операторах чтения, должна совпадать по типу со считываемым из файла значением.

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

Программа:

Program File_3;

Uses CRT;

Var ocenka: 2..5; оценка

sr_ball: Real; средний балл

name: String[15]; фамилия или имя

nomer: String[10]; номер группы

f_text: Text; текстовый файл

ClrScr;

Assign(f_text, ‘d:\User\f_text.txt’);

ReSet(f_text); открываем файл для чтения

ReadLn(f_text, nomer); читаем из файла номер группы

WriteLn(nomer); выводим его на экран

ReadLn(f_text, name); читаемиз файла фамилию

WriteLn(name); выводим ее на экран

ReadLn(f_text, name); читаем из файла имя

WriteLn(name); выводим его на экран

ReadLn(f_text, ocenka); читаем из файла оценку

WriteLn(ocenka:3); выводим ее на экран

ReadLn(f_text, sr_ball); читаем из файла средний балл

WriteLn(sr_ball:6:2); выводим его на экран

Close(f_text); закрываем файл

ReadLn;

На экран будет выведено:

ИС-09

Иванов

Иван

4.12

Внимание! Функции и процедуры, используемые при работе с типизированными файлами (FileSize, FilePos, Seek, Truncate), для текстовых файлов не используются.

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

Пример: создать текстовый файл baza.txt, в каждой строке которого хранить следующие данные:

1. номер учебной группы

2. фамилию студента

3. имя студента

4. его оценку по информатике

5. средний балл сдачи сессии

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

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

Интерфейс:

Номер группы: ИС-09

Фамилия: Иванов

Имя: Иван

Оценка:4

Ср. балл:4.12

Номер группы: ПО-09

Фамилия: Петров

Имя: Петр

Оценка:5

Ср. балл:4.27

Номер группы: ЗИ-09

Фамилия: Сидоров

Имя: Сидор

Оценка:3

Ср. балл:3.42

Номер группы:

Программа:

Program File_4;

Uses CRT;

Var ocenka: 2..5; оценка

sr_ball: Real; средний балл

name: String[15]; фамилия или имя

nomer: String[10]; номер группы

baza: Text; текстовый файл

ClrScr;

Assign(baza, ‘d:\User\baza.txt’);

ReWrite(baza); открываем файл для записи

Write(‘Номер группы:’);

ReadLn(nomer); вводим номер группы

If (Length(nomer) = 0) если длина строки с номером группыравна нулю (сразу нажата клавиша ENTER ),

Then Break; то выходим из цикла ввода

Write(baza, nomer:10); если нет, тозаписываем его в файл в 10 позициях (по описанию переменной nomer )

Write(‘Фамилия:’);

ReadLn(name); вводим фамилию

Write(baza, name:15); записываем ее в файл в той же строке в 15 позициях

Write(‘Имя:’);

ReadLn(name); вводим имя

Write(baza, name:15); записываем его в файл в той же строке в 15 позициях

Write(‘Оценка:’);

ReadLn(ocenka); вводим оценку

Write(baza, ocenka:3); записываем ее в файл в той же строке в 3 позициях

Write(‘Ср. балл:’);

ReadLn(sr_ball); вводим средний балл

WriteLn(baza, sr_ball:6:2); записываем его в файл в 6 позициях и переходим на новую строку

Until (False); псевдобесконечный цикл с постусловием

Close(baza); закрываем файл

ReadLn;

Структура созданного файла:

ИС-09 Иванов Иван 4 4.12

ПО-09 Петров Петр 5 4.27

ЗИ-09 Сидоров Сидор 3 3.42

10 позиций 15 позиций 15 позиций 3 поз. 6 поз.

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

В данном случае для записи в файл выделяется

1. для номера группы - 10 позиций,

2. для фамилии или имени - 15 позиций,

3. для оценки - 3 позиции,

4. для среднего балла - 6 позиций.

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

1. строки читаются в соответствии с их описанием: если строка описана как String[10], то будут прочитаны ровно 10 позиций,

2. числа читаются до разделителя (пробела, запятой, признака конца строки),

3. в списке ввода оператора чтения Read (ReadLn) формат переменных не указывается.

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

Программа:

Program File_3;

Uses CRT;

Var ocenka: 2..5; оценка

sr_ball: Real; средний балл

fam, name: String[15]; фамилия или имя

nomer: String[10]; номер группы

baza: Text; текстовый файл

ClrScr;

Assign(baza, ‘d:\User\baza.txt’);

ReSet(baza); открываем файл для чтения




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 317; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.122 сек.