Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение


Download 0.99 Mb.
Pdf ko'rish
bet98/103
Sana05.05.2023
Hajmi0.99 Mb.
#1432201
TuriУчебно-методическое пособие
1   ...   95   96   97   98   99   100   101   102   103
Bog'liq
Osnovy algoritmizacii i programmirovaniya

 
Пример 2. Ранее был создан файл данных в каталоге Other 
с именем masc.dat. Найдите сумму элементов этого файла. 
Program Primer_2; 
Type celchisla=file of Integer; 
Var F:celchisla; 
I,n,m,s:Integer; 
Begin 
Assign(f, ‘c:\Other\masc.dat’); 
Reset(f); { Открываем файл для чтения} 
Read(f,n); { Читаем первый элемент файла – это количество 
чисел в массиве и записываем это количество в переменную n} 
S:=0; 
For i:=1 to n do
Begin 
Read(f,m); { Читаем очередной элемент файла и записываем 
его значение в переменную m} 
S:=s+m; 
End; 
Close(f); 
Writeln(‘ Сумма элементов файла =’,s); 
End. 
Файл, из которого берутся данные, называется входным файлом, 
а в который они записываются – выходным файлом. 
Необходимо отметить, что нельзя одновременно записать информа-
цию в файл данных и прочитать ее. Сначала полностью создайте файл 
данных и только после этого данными можно пользоваться. 


177 
Пример 3. Постройте типизированный файл данных, в котором 
представлены сведения об оценках, полученных студентами группы 
на сессии. Это такой файл, который состоит из записей со следую-
щими полями: фамилия студента, математика, информатика, фи-
лософия. Выведите все фамилии студентов, которые имеют задол-
женности, и их оценки. 
Program Primer_3_1; 
{Сначала объявляем тип запись, только после этого объявим тип 
массив из записей} 
Type sesia=Record 
fio:String[15]; 
matem, infor, filos:Integer; 
end; 
mas=File of sesia; 
Var f:mas; i,n,m:Integer; z:sesia;
Begin 
{создадим файл данных} 
Assign(f,’c:\masc2.dat’);
Rewrite(f);
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); 
End. 
{Записанные данные будут хранится в файле и их можно ис-
пользовать сколько угодно раз. Для этого необходимо составить 


178 
новую программу. Используем данные из файла и выведем то, что 
требуется по условию задачи} 
Program Primer_3_2; 
Type sesia=Record 
fio:String[15]; 
matem, infor, filos:Integer; 
end; 
mas=File of sesia; 
Var f:mas; i,n,m:Integer; z:sesia;
Begin 
Assign(f,’c:\masc2.dat’);
Reset(f);
{Пока не конец файла, будем читать из файла запись, проверять, 
сдал ли студент все экзамены, и, если нужно, выводить сообщения о 
нем на экран} 
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);
End. 

Download 0.99 Mb.

Do'stlaringiz bilan baham:
1   ...   95   96   97   98   99   100   101   102   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling