Чтение из файла в запись - PascalABC.NET
Формулировка задачи:
Во входном файле содержится информация об итогах зимней сессии на первом
курсе. Сведения о каждом студенте-первокурснике заданы в виде следующего
текста: <Фамилия_ИО>, <номер группы>, <оценка1>, <оценка2>, <оценка3>.
Фамилия_ИО - не более 15 символов, номер группы имеет формат "Lnnnn" (L -
заглавная буква Б или М, n - цифра 0..9, каждая оценка – 2, 3, 4 или 5,
причем первая оценка по матанализу, вторая – по алгебре, третья – по
программированию. Написать программу, которая читает из файла эту
информацию и печатает следующие данные:
а) фамилии студентов, имеющие задолженность хотя бы по одному предмету;
б) «качество успеваемости», т.е. % сдачи на 5 и 4;
в) название предмета, который был сдан лучше всего;
г) номера групп в порядке убывания средней успеваемости студентов
группы.
Пример данных в файле:
Иванов ИИ Б2407 3 4 5
Николаев НН А1703 2 3 3
Отличников ПП А1703 5 5 5
Сидоров СС Б2407 2 2 2
Не понимаю как сделать чтение из файла в запись.
Решение задачи: «Чтение из файла в запись»
textual
Листинг программы
// Считать и разобрать данные на записи var a := New List<tRec>; var t : Text; Reset(t, inName); while Not EOF(t) do begin var s : String; ReadLn(t, s); a.Add(parse(s)); end; Close(t);
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Создается пустой список
a
для хранения записей. - Создается объект
t
типаText
, который будет использоваться для чтения из файла. - Устанавливается позиция чтения в начало файла с помощью функции
Reset(t, inName)
. - Запускается цикл
while
, который будет выполняться до тех пор, пока не достигнут конец файла с помощью функцииEOF(t)
. - Внутри цикла создается переменная
s
типаString
, которая будет использоваться для хранения строки, прочитанной из файла. - С помощью функции
ReadLn(t, s)
из объектаt
считывается строка и сохраняется в переменнойs
. - С помощью функции
parse(s)
строкаs
преобразуется в объект типаtRec
и добавляется в списокa
с помощью методаAdd()
. - После окончания цикла все ресурсы, связанные с объектом
t
, освобождаются с помощью функцииClose(t)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д