Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






ЧИТАННЯ ТА ЗАПИС ФАЙЛІВ.

Над файлами можна виконувати різні дії. Іноді необхідно читати з одного

файлу, а записувати в другий.

Наприклад:

Дані вводяться із файла (f1) та виводяться в файл (f2). Змінна х приймає значення одного символу із файла. Значення деякої змінної y записується в файл (f2).

 

Program k1;

Type f=Text;

Var f1, f2:f;;

x,y:char;

begin

reset (f1);

rewrite(f2);

read(f1,x);

.

. {дії над змінними х та у}

.

write(f2,y);

close (f2);

close(f1);

end.

 

При використанні послідовних файлів не можна одночасно відкривати один і той самий для читання і запису. Якщо є така необхідність, то спочатку відкривається файл, обробляються його дані і закривається. Потім відкривають цей же файл заново, обробляють його та закривають.

Задача:Є відомість результатів екзаменів у групі. Будемо вважати її вхідним файлом з ім'ям kol. Скласти програму створення вихідного файлу з ім'ям rez, в який потрібно записати вихідну відомість і обчислити середній бал.

Прізвище Оцінка
Іванов Пєтров Сідоров :5 :4 :3
Середній бал :4
Кіл. студентів :3

 

Program ABC;

Var f1,f2: text; {файлові змінні}

l1,l2:integer; {кількість блоків}

n: integer; {лічильник кіль кості студентів}

sum:real;

sim: char; {симв. змінна}

с: integer; {оцінка}

sr:real; {середній бал}

Begin

l2: =1; {один блок для f1}

l1:=1;

reset(f1, ‘kol’, ‘pas’, l1);

rewrite (f2,’rez’, ‘pas’, l2);

n:=0; sum:=0;

while not eof(fl) do

begin

while not eoln(fl) do

begin

read(fl,sim); {чит. симв. із f1}

write(f2, sim); {запис симв. в f2}

if sim= ‘:’ then

begin

read(fl,c); {читаєм оцінку iз f1}

write(f2,c:3); {запис оцінки в f2}

sum: =sum+c;

n=n+1;

end;

end;

readln(f1);

writeln(f2);

end;

sr:=sum/n;

writeln(f2, 'cep.6= ', sr:5:2);

witeln(f2, 'кіл-ть cm. = ', n:2);

writeln(f2, 'результат в файлі kol.pas');

close (f2);

close (f1);

end.

 

В розділі операторів спочатку задається число блоків l2 для вихідного файлу. Далі визивається стандартна процедура Reset з параметрами

f1 - файлова змінна;

‘kol’ - ім'я фізичного вхідного файла;

'pas' — розширення імені kol;

l1 - змінна, що отримує значення в результаті виконання процедури Reset. Це значення = числу блоків які займає вхідний файл kol на диску. Потім визивається процедура Rewrite з параметрами:

f2 - вихідний файл;

'rez' - ім'я фізичного вихідного файлу;

'pas' - розширення;

l2 - змінна, що резервує кількість блоків на диску для вихідного файлу.

Вхідний файл являє собою послідовність рядків. Читання, обробка та запис відомості виконується за допомогою складного циклу: зовнішнього, в якому виконується перевірка на кінець файлу даних та внутрішнього, в якому виконується перевірка на кінець поточного рядка файла. Зовнішній цикл буде виконуватись до тих пір, поки не досягне кінця файлу. Внутрішній цикл використовується для обробки символів в рядку. Стандартна функція EOLN визначає кінець поточного рядка. Внутрішній цикл виконується до тих пір, поки не будуть прочитані всі символи рядка. У внутрішньому циклі зчитують поточний символ із вхідного файлу в символьну змінну sim та записують його в вихідний файл. При цьому, якщо поточний символ =:, то наступний символ оцінка зчитується в цілочислену змінну с та сумується. В зовнішньому циклі Readln(f1) означає перехід на наступний рядок вхідного файлу, а Writeln(f2) - перехід на новий рядок в вихідному файлі. Після закінчення обробки всього файлу обчислюється середній бал і одержані результати виводяться в вихідний файл.

Приклад:Дано: Туре серія=Filе of real;

Описати функцію, яка підраховує суму від'ємних чисел елементів серії S.

 

program fa 1;

function summa:real;

type ser=file of real;

var s:ser;

a: array[1..10] of real;

sum: real; i: integer;

begin

assign(s, 'c: \text.txt');

rewrite (s);

writeln('введіть числа');

for i: =1 to 10 do

begin

read(a[i]);

write(s,a[i]);

end;

close(s);

reset(s);

sum: =0;

while not eof(s) do

begin

read(s,a[i]);

if a[i]<0 then sum: =sum+a[i];

end;

summa: =sum;

close(s);

end;

begin

write (summa: 3:1);

end.

 




Переглядів: 460

<== попередня сторінка | наступна сторінка ==>
ЗАПИС ФАЙЛУ. | ФАЙЛОВА СИСТЕМА.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.