Предмет: Информатика, автор: Дeниc


решите задание 3

Задание 2. Создайте файл
информации по итогам сессии result.dat. Для каждой группы каждого курса в файл заносится
информация(количество курсов и групп на курсе фиксировано, сами номера курсов и
групп в записи не хранятся):



Количество студентов
в группе;
Количество
допущенных к сессии;
Количество сдавших
на «отлично»;
Количество сдавших
на «хорошо» и «удовлетворительно»;
Количество
получивших «неудовлетворительно».


 

Задание 3. Используя прямой
доступ к файлу result.dat. (см. задание 2), выведите информацию о результатах сессии по
заданному курсу и номеру группы.

Ответы

Автор ответа: Аноним
0
На всякий случай, программа обрабатывающая типизированные файлы.

type
RC=record
Kol:integer;
Dop:integer;
Kol5:integer;
Kol43:integer;
Kol2:integer
end;
var
n:integer;
r:RC;
f:file of RC;
begin
Assign(f,'result.dat');
Reset(f);
// так делается проход по всему файлу
while not Eof(f) do begin
  read(f,r);
  Writeln(r.Kol,',',r.Dop,',',R.Kol5,',',r.Kol43,',',r.Kol2);
  end;
// а так впрямую выбирается запись с указанным номером n (нумерация от 0)
  n:=1;
  seek(f,n);
  read(f,r);
  Writeln(r.Kol,',',r.Dop,',',R.Kol5,',',r.Kol43,',',r.Kol2);
  n:=FileSize(f);
  Writeln('Число записей в файле- ',n);
Close(f)
end.

Автор ответа: Дeниc
0
а после type это чего все.... я програмировании плохо разбираюсь... но мне придется все это объяснить, преподавателю
Автор ответа: Аноним
0
В нашем случае запись содержит пять значений целого типа integer, т.е. имеет длину 2*5=10 байт. За одну операцию чтения read(f,r) мы считываем в запись типа r 10 байт, а структура записи (Kol,Dop,Kol5,Kol43,Kol2) позволяет разделить эти 10 байт на пять осмысленных переменных r.Kol, r.Dop и т.д, называемых полями записи. Указание перед именем поля отделенное от него точкой имя записи позволяет показать, что это не простая переменная, а именно поле.
Автор ответа: Дeниc
0
примерно понял, спасибо
Похожие вопросы
Предмет: Русский язык, автор: maner63
Предмет: Математика, автор: Аноним