Лекция: Примеры выполнения задания 11

Пример 1. Создать файл f.dat из целых чисел. Переписать в файл g.dat из файла f.dat отрицательные элементы.

Первая программа создает файл f.dat.

program lab10_1;

uses CRT;

var f :file of integer;

i, n, x :integer;

begin clrscr;

assign{f, ‘f.dat’);

rewrite(f);

writeln(‘введите число элементов в файле’);

readln(n);

for i := 1 to n do

begin

writeln(‘введите значение’, i,‘ –го элемента’);

readln(x);

write(f,x)

end;

close(f)

end.

 

Следующая программа будет читать элементы файла f.dat, выбирать только те элементы, значения которых отрицательны, переписывать их в файл g.dat. Выводить элементы файла g.dat на экран ПК.

program lab10_11;

uses CRT;

var f ,g: file of integer;

i, x: integer;

begin clrscr;

assign{f, ‘f.dat’);

reset(f);

assign{g, ‘g.dat’);

rewrite(g);

while not eof (f) do

begin

read(f, x);

if x<0 then write (g, x)

end;

{вывод элементов файла g.dat на экран}

reset (g);

while not eof (g) do

begin

read(g, x);

writeln(x)

end;

close(f);

close(g)

end.

Пример 2. Содержимое файла f.dat не изменилось. Заменить элементы данного файла с отрицательными значениями на -1. Остальные элементы оставить без изменения.

program lab10_2;

uses сrt;

var f: file of integer;

i, x: integer;

begin clrscr;

assign(f, ‘f.dat’);

reset(f);

while not eof (f) do

begin

read(f, x);

if x<0 then

begin

x := -1;

seek(f, filepos (f) -1);

write(f, x)

end

end;

{вывод элементов файла f.dat на экран}

reset (f);

while not eof (f) do

begin

read(f, x);

writeln(x)

end;

close(f)

end.

 

Пример 3. На диске в файле с именем FV размещены вектора, каждый из которых содержит по 8 действительных элементов. Вычислить максимальные значения для каждого из векторов, записать их в файл GM и вывести на экран ПК.

program file12;

type vect = array [ 1..8 ] of real;

fil1 = file of vect;

fil2 = file of real;

var a: vect;

i: integer;

аmax, b: real;

f1: fil1;

f2: fil2;

begin clrscr;

assign ( f1, ' FV.DAT ');

assign ( f2, ' GM.DAT ');

reset ( f1 );

rewrite ( f2 );

while not eof ( f1 ) do

begin

read ( f1, a); amax := a[1];

for i := 1 to 8 do

if a[i] > amax then amax := a[i];

write( f2, amax );

end;

close( f2 );

reset( f2 );

while not eof ( f2 ) do

begin read ( f2, b );

writeln ( b: 7: 2 )

end;

close(f1);

close(f2);

end.


ОГЛАВЛЕНИЕ

Тема 1. Основы построения программы. Вычисление значения арифметического выражения  
Тема 2. Логические выражения. Условный оператор
Тема 3. Использование циклических структур. Операторы цикла с предусловием и с постусловием.
Тема 4. Использование циклических структур. Оператор цикла с параметром.
Тема 5. Использование и обработка одномерного массива.
Тема 6. Использование и обработка двумерного массива.
Тема 7. Организация программ с использованием функций.
Тема 8. Организация программ с использованием процедур.
Тема 9. Текстовые файлы.
Тема 10. Работа с комбинированными типами данных (записями)
Тема 11. Типизированные файлы.

 

Редактор Н.Н. Калинина

 

Изд. лиц. ИД №02558 от 18.08.2000 г.

Подписано в печать 2010 г. Формат 60*84 1/16

Бумага офсетная. Объем п. л. Уч.-изд. л.

Тираж 350 экз. Заказ

 

 

 

Редакционно-издательский отдел СПбГУКиТ

192102. Санкт-Петербург, ул. Бухарестская, 22

 

Подразделение оперативной полиграфии СПбГУКиТ

192102. Санкт-Петербург, ул. Бухарестская, 22

еще рефераты
Еще работы по информатике