Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение
Download 0.99 Mb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling