Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

Vedom : Array [1..Nmax] Of Stud;

I,j : Integer;

kdv,k2,n : Integer;

Begin

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

Readln(n);

Writeln(’Вводите информацию о каждом студенте’);

For i:=1 to n Do

Begin

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

ReadLn(Vedom[i].Fam);

Write(’Имя: ’);

ReadLn(Vedom[i].Im);

Write(’Отчество: ’);

ReadLn(Vedom[i].Ot);

Write(’Номер зачетки: ’);

ReadLn(Vedom[i].Numz);

WriteLn(’Вводите оценки по одной:’);

For j := 1 to m do

Begin

WriteLn(’Введите ’,j,’ –ю оценку’);

ReadLn(Vedom[i].Otm[j]);

End;

End;

kdv := 0;

Writeln(’Фамилии и номера зачеток двоечников’);

For i:=1 to n Do

Begin

k2 := 0;

For j := 1 to m Do

If Vedom[i].Otm[j] < 3 Then

k2 := k2+1;

If k2 > 0 Then

Begin

kdv := kdv + 1;

Writeln(Vedom[i].Fam:16,Vedom[i].Numz:8)

End;

End;

Writeln(’Количество двоечников в группе - ’,kdv);

WriteLn(’Нажмите Enter...’);

ReadLn;

End.

Пример 9.6 Сформировать и вывести на экран файл, представляющий собой ведомость успеваемости студентов 1 курса ФИиТ. Данные об одном студенте имеют структуру вида:

Фамилия, Имя, Отчество, номер зачетки, оценки по 5 предметам.

Количество студентов (n) и сведения о них вводятся с клавиатуры. Программа для решения поставленной задачи может быть такой.

Program Sozd_Fil;

Const

M=5; { Количество оценок }

Type

Stud=Record

Fam, Im, Ot : String[10];

NumZ : LongInt;

Otm : Array[1..M] Of Integer;

End;

Var

Vedom : File Of Stud;

A : Stud;

FilName : String; { имя набора данных }

j,i,n : Integer;

Begin

Writeln(’Введите имя набора данных’);

Readln(FilName);

Assign(Vedom,FilName);

Rewrite(Vedom); {Открытие файла для записи}

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

Readln(n);

Writeln (’Вводите сведения о каждом студенте’);

For i:=1 to n do

Begin

With A do

Begin

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

ReadLn(Fam);

Write(’Имя: ’);

ReadLn(Im);

Write(’Отчество: ’);

ReadLn(Ot);

Write(’Номер зачетки: ’);

ReadLn(Numz);

WriteLn(’Введите оценки по одной:’);

For J := 1 to 5 do

Begin

WriteLn(’Введите ’,J,’ -ю оценку’);

ReadLn(Otm[j]);

End;

End;

Write(Vedom,A); {Запись в файл переписывается целиком}

End;

Close(Vedom);

Writeln (’Конец работы. Нажмите клавишу ENTER’);

ReadLn;

End.

Пример 9.7 Вывести на экран сведения о неуспевающих студентах из файла Vedom предыдущего примера. Соответствующая программа будет иметь следующий вид.

Program Count_2;

Const

M=5;

Dl=10;

Type

Stud = Record

Fam, Im, Ot : String[Dl];

Numz : LongInt;

Otm : Array[1..M] Of Integer;

End;

Var

Vedom : File Of Stud;

FilName : String;{имя набора данных}

A : Stud;