Читайте также:
|
|
ClrScr;
assign(f,'file.dat');{связываем файловую переменную f с физическим файлом file.dat}
reset(f);{открываем файл для чтения}
Summa:=0;{обнуление суммы}
while not Еof(f) do{просматриваем файл до конца}
begin
read(f,Element);{считываем из файла очередной элемент в переменную Element}
Inc(Kol);{увеличиваем счетчик количества элементов файла}
Inc(Summa,Element);{увеличиваем переменную Summa на Element}
end;
SrAriph:= Summa/Kol{вычисляем среднее арифметическое чисел}
write('Среднее арифметическое элементов файла равно ',SrAriph:5:2);
close(f);{закрываем файл}
readln;
End.
Задача 2. Наберите на компьютере текст программы. Сформулируйте решаемую в ней задачу. Дополните необходимыми операторами и комментарием.
Program FileString;
Uses Crt;
Var f, g: file of string;
str1, str: string;
i: integer;
Begin
ClrScr;
assign(f,'f'); rewrite(f);
assign(g,'g'); rewrite(g);
repeat
readln(str); write(f,str);
for i:=length(str) downto 1 do str1:=str1+str[i];
write(g,str1);
str1:='';
until str='';
close(f); close(g);
assign(f,'f'); reset(f);
assign(g,'g'); reset(g);
while not eof(f) do
begin
read(f,str);
writeln(str);
end;
while not eof(g) do
begin
read(g,str); writeln(str);
end;
close(f); close(g);
readln;
End.
Задача 3. Создать типизированный файл, содержащий информацию о работниках института.
Задание. Дополнить текст программы нахождением среднего стажа работы в институте; выводом фамилий работников, работающих инженерами; выводом фамилий работников, начинающихся с заданной пользователем буквы; выводом фамилий работников, у которых оклад больше заданного пользователем числа; выводом фамилий работников предпенсионного возраста.
Program TipRecord;
Uses Crt;
Type Dann=record
stag: byte;
Surname, WorkName: string;
Oklad, Year: integer;
End;
Var Spisok: file of Dann; {файл типа записи Dann}
Man: Dann; {переменная типа записи Dann для работы с файлом}
Name: string[12]; {строка для хранения имени физического файла}
Procedure VvodZap (Nomer: integer);
Begin
with Man do
begin
writeln('Введите данные ',Nomer,'-го работника');
write('Фамилия: ');
readln(Surname);
write('Год рождения:');
readln(Уear);
write('Стаж работы:');
readln(stag);
writeln('Должность:');
readln(WorkName);
write('Оклад');
readln(oklad);
write(Spisok,Man); {записать в файл созданный элемент Man}
end;
End;
Procedure FileVvod;
Var
i, count: Integer;
Begin
write('Введите имя файла данных:');
readln(Name); {имя физического файла}
assign(Spisok,Name); {связываем файловую переменную с файлом}
rewrite(Spisok); {открываем файл для записи}
write('Введите количество работников:');
readln(count);
for i:=1 to count do
VvodZap(i); {вызов процедуры ввода очередной информации в файл}
close(Spisok); {закрываем файл}
readln;
End;
Begin
ClrScr;
FileVvod;
readLn;
End.
Контрольные вопросы
1. Дать определение типизированному файлу и файловой переменной. Опишите формат файловой переменной для типизированных файлов.
2. Перечислить процедуры и функции для работы с файлами. Опишите стандартные процедуры и функции обработки данных типизированного файла.
Доступ к системным ресурсам
Системным программированием называют разработку программ, которые выполняют действия, возлагаемые на ОС. Это операции с файлами, управление выполнением программ, работа с устройствами и т.д.
Операционная система представляет собой программный комплекс (набор взаимосвязанных программ), который выполняет две основные функции:
обеспечение удобного интерфейса (взаимодействия) между пользователем или его программой и компьютером;
эффективное управление ресурсами компьютера, в число которых входят процессор, оперативная память, массив жестких дисков, периферийные устройства.
ОС MS-DOS работает только в реальном режиме. Во всех модернизациях своего микропроцессора (МП) фирма Intel поддерживает этот режим, в котором:
пространство оперативной памяти делится на сегменты по 64 килобайта;
страничное преобразование адреса запрещено, т.е. физический адрес = линейному и формируется как сумма 2-х составляющих;
максимальное значение физического адреса = 1Мб.
Основными элементами системного программирования являются регистры, сегменты и прерывания.
Регистр – это внутреннее запоминающее устройство процессора для временного хранения обрабатываемой или управляющей информации. В Паскале имеется специальный тип Registers, который описывается следующим образом:
type Registers = record {Registers record used by Intr and MsDos}
Дата добавления: 2014-12-18; просмотров: 113 | Поможем написать вашу работу | Нарушение авторских прав |