Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Команды для типизированных файлов





 

Чтение из типизированного файла осуществляется по одной компоненте в переменную или переменные, которые должны совпадать по типу с типом компонент файла.

 

Read (f, x); - чтение из типизированного файла одной компоненты в переменную x.

Read (f, x1, x2, x3, ... xn); - чтение из файла нескольких компонент в переменные.

Write (f, x); - запись в файл значения x. Запись начинается с того места, где был

установлен указатель файла.

Seek (f, n); - для типизированных файлов (прямого доступа) устанавливает

указатель файла на компоненту с номером n.

Eof (f) - функция, определяющая признак конца файла. Принимает значение True,

если указатель текущей позиции файла находится за последним элементом

файла либо файл пустой

Eoln – функция, определяет признак конца строки при считывании строк из

текстовых файлов

Truncate (f); - удаление части файла, начиная с места, где установлен указатель файла.

FilePos (f); - функция, определяет позицию указателя файла.

FileSize (f); - функция, определяет размер файла (число компонент).

 


Задача 13.1.

Определить сумму нечетных по значениям компонент типизированного файла, и записать полученную сумму вместо максимального значения в файле.

 

Текст программы к задаче 13.1.


Program Ex_12_1;

Uses Crt;

Label A;

Var f2: file of integer;

x: integer; {компонента}

i: integer; {счетчик цикла}

S: integer; {сумма}

Max: integer; {максимум}

k: integer; {номер максимума}

Begin

ClrScr;

Randomize;

Assign(f2, ‘g: \f2.dat’);

{Запись чисел в файл}

Rewrite(f2);

Writeln(‘Исходный файл: ’);

Writeln;

For i: =0 to 15 do begin

x: =random(100)-50;

Write(f2, x);

Write(x: 3);

End;

{Подсчет суммы нечетных компонент}

Reset(f2);

For i: =0 to 15 do begin

Read(f2, x);

If x mod 2< > 0 then

S: =S+x;

End;

{Примем первую компоненту за Max}

Reset(f2);

Read(f2, x);

Max: =x;

{Поиск Max в файле}

For i: =1 to 15 do begin

Read(f2, x);

If x> Max then begin

Max: =x;

k: =i

End;

{Запись суммы вместо Max в файле}

Seek(f2, k);

Write(f2, S);

{Вывод результатов}

Writeln(‘Измененный файл: ’);

Writeln;

Reset(f2);

While not Eof(f2) do begin

Read(f2, x);

Write(x: 3);

End;

Close(f2);

Readln;

End.



Задача 13.2.

Найти первое отрицательное и последнее отрицательное значения среди компонент типизированного файла, и поменять местами эти компоненты в файле. Найти произведение компонент файла, стоящих между первым отрицательным и последним отрицательным значением.


Текст программы к задаче 13.2.


Program Ex_12_2;

Uses Crt;

Label A;

Var

f1: file of integer;

x: integer; {компонента}

Otr1, Otr2: integer; {отрицательные}

k1, k2: integer; {номера отриц.}

i: integer; {счетчик цикла}

Begin

ClrScr;

Randomize;

Assign(f1, ‘g: \f1.dat’);

 

{Запись чисел в файл}

Rewrite(f1);

Writeln(‘Исходный файл: ’);

Writeln;

For i: =0 to 15 do begin

x: =random(100)-50;

Write(f1, x);

Write(x: 3);

End;

 

{Поиск первого отрицательного}

Reset(f1);

For i: =0 to 15 do begin

Read(f1, x);

If x< 0 then begin

Otr1: =x;

k1: =i;

Goto A;

{Как только нашли, выходим из цикла}

End;

End;

{Поиск последнего отрицательного}

A: Reset(f1);

For i: =0 to 15 do begin

Read(f1, x);

If x< 0 then begin

Otr2: =x;

k2: =i;

End;

End;

{Обмен в файле значений местами }

Seek(f1, k1);

Write(f1, Otr2);

Seek(f1, k2);

Write(f1, Otr1);

 

{Подсчет суммы ком. между k1 и k2}

i: =k1+1;

Repeat

Seek(f1, i);

Read(f1, x);

S: =S+x;

i: =i+1;

Until i< k2;

 

{Вывод результатов}

Writeln(‘Измененный файл: ’);

Writeln;

Reset(f1);

While not Eof(f1) do begin

Read(f1, x);

Write(x: 3);

End;

Close(f1);

Readln;

End.



Схема программы к задаче 13.2








Дата добавления: 2014-11-12; просмотров: 589. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия