рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ЕOLN (<ФЗ>) : boolean

ЕOLN (<ФЗ>) : boolean - раздел Философия, ТЕМА 1 Основні поняття мови Паскаль Функція Повертає Значення True, Якщо Досягнутий Кінець Рядка (Або Кінець Файл...

Функція повертає значення true, якщо досягнутий кінець рядка (або кінець файлу) або false у протилежному випадку.

SeekEOLN (<ФЗ>);

Пересуває файловий покажчик на кінець рядка.

SeekEOF (<ФЗ>);

Пересуває файловий покажчик на кінець файлу.

Стандартні процедури і функції зчитування/ запису даних

Для зчитування і запису даних у типізованих та текстовий файлів використовується процедури Read та Write.

Read (< ФЗ >, < список введення > );

Write (< ФЗ >, < список виведення > );

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

Для текстових файлів можливо використання процедур

ReadLn (< ФЗ >, < список введення > );

WriteLn (< ФЗ >, < список виведення > );

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

Особливості використання текстового файлу

Як вже було сказано вище текстовий файл містить набір рядків символів. Здавалось би, що це накладає певні обмеження на тип інформації, що передається з файлу та в файл (тобто передаються тільки рядки символів). Але для текстового файлу такого обмеження не існує!

При виконанні операцій зчитування та запису текстового файлу дозволяється передача даних чисельних і нечисельних типів без попередньої конвертації (перетворення) у рядок. Таке перетворення відбувається автоматично при передачі даних.

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

Розглянемо приклад: скласти програму для обчислення

,

де a, b – цілі, x – дійсне зберігаються у файлі.

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

Var

a, b: integer;

y, x: real;

f: text;

begin

{відкриття файлу}

Assign (f, ‘c:datafile.dat’);

Reset (f);

{зчитування змінних}

Read (f, a, b, x);

y:=srt ( abs(a+b*x) );

WriteLn(‘y=’, y:9:4);

Close (f);

end.

При зчитуванні вважається, що файл містить всю необхідну інформацію, яка подана у форматі, що відповідає типу заданих змінних, тобто для правильного виконання процедури Read (f, a, b, x) у файлі f записані два цілочисельних значення (для змінних a і b) та одне дійсне для змінної x. Ці значення вказуються у файлі через прогалину. Наприклад, якщо файл містить таку послідовність:

5 5 4.0

то змінна а дорівнюватиме 5, b теж дорівнюватиме 5, а х=4.0. Тоді значення у буде 5.0.

Для нетипізованихфайліввикористовуються процедури:

BlockRead (< ФЗ >, Buf, N, Result);

яка зчитує з файлу, з яким пов’язана файлова змінна < ФЗ > N блоків і записує їх в змінну Buf. Вважається, що змінна Buf достатня за розміром і у файлі вистачить даних. Змінна Result не є обов’язковим параметром. Якщо вона використовується, то повертає кількість реально зчитаних блоків. Після виконання операції зчитування файловий покажчик пересувається на відповідну кількість блоків.

Для запису даних у нетипізований файл використовується процедура:

BlockWrite (< ФЗ >, Buf, N, Result);

яка записує в файл, з яким пов’язана файлова змінна < ФЗ > N блоків зі змінної Buf. Змінна Result також не є обов’язковим параметром. Якщо вона використовується, то повертає кількість реально зчитаних блоків.

Розглянемо приклад: зчитати з нетипізованого файлу ‘c:DataFile.dat’ цілочисельні дані для масиву А(100). Звести елементи масиву в квадрат та записати знову до файлу.

Var

F: file;

A: array [1..100] of integer;

i: byte;

begin

{зв’язування файлу з ФЗ}

Assign (F, ‘c:DataFile.dat’);

{відкриття файлу для зчитування}

Reset (F, SizeOf(A));

{зчитування даних з файлу до масиву А}

BlockRead (F, A, 1);

Close (F); {закриття файлу}

{обробка елементів масиву}

for i:=1 to 100 do

A[i]:=sqr(A[i]);

{відкриття файлу для запису}

Rewrite(F, SizeOf(A));

{запис даних з масиву А до файлу}

BlockWrite(F, A, 1);

Close(F); {закриття файлу}

end.

На початку програми нетипізований фай відкривається для зчитування (дивися розд. “Відкриття нетипізованого файлу”). Другим параметром процедури Reset є розмір блока файла. Для зручності розмір блока файла призначається рівним розміру масиву А.

Функція SizeOf (Х) повертає розмір заданого аргументу Х, яким може бути будь-яка змінна або тип даних.

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

5. Закриття файлу

Після закінчення роботи необхідно закрити файл процедурою:

close (<ФЗ>);

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

Після закриття файлу, у разі необхідності, файлова змінна може бути зв’язана з іншим файлом.

Зовнішні пристрої і стандартні текстові файли

Зовнішні пристрої операційної системи такі як клавіатура, дисплей, принтер, послідовні та паралельні порти можуть бути описані та використані у програмі як файли зі стандартними іменами:

CON – стандартний текстовий файл консолі. В залежності від напряму передачі даних пов’язаний з клавіатурою або екраном;

PRN – стандартний файл принтера;

LPT1, LPT2 – стандартні файли паралельних портів;

COM1, COM2– стандартні файли послідовних портів;

AUX – синонім СОМ1;

NUL – неіснуючий пристрій.

Крім цього для введення та виведення можуть використовуватися стандартні текстові файли:

Input – стандартний текстовий файл, що пов’язаний з буфером клавіатури;

Output – стандартний текстовий файл, що пов’язаний з буфером виведення на екран;

Контрольні запитання за темою

1. Що таке файл? Коли доцільно зберігати у файл дані з програми?

2. Форми подання файлу у Паскаль - програмі? Що таке типізований, нетипізований та текстовий файл?

3. Моделі типізованого, нетипізованого та текстового файлу як лінійної послідовності компонентів?

4. Для чого потрібна у програмі файлова змінна? Типи файлових змінних. Наведіть приклади їх оголошення.

5. Організація доступу до файлу з програм мовою Паскаль. Призначення процедур Assign, Reset, Rewrite, Append, Close.

6. Процедури і функції роботи з типізованим файлами FilePos, FileSize, Seek, EOF.

7. Як здійснюється файлове введення виведення даних з типізованого та нетипізованого файлу?

8. Особливості структури текстового файлу. Процедури і функції роботи з текстовими файлами. Чи можна у текстовий файл записати чисельні значення? Наведіть приклади.

9. Стандартні текстові файли введення виведення Input та Output.

10. Як здійснюється доступ до портів з програми мовою Паскаль?

 


ТЕМА 9 Структура типів даних мови Паскаль

Загальна характеристика типів даних мови Паскаль


Всю множину типів мови Паскаль можна розділити на декілька груп (рис. 23).

До простих типів даних відносяться порядкові та дійсні типи.

Порядкові типи відрізняються тим, що кожний з них має обмежену кількість можливих значень. Наприклад, змінні цілочисельного типу byte може змінюватися в діапазоні від 0 до 127 і приймає тільки цілі значення. Таким чином кількість можливих значень обмежена. Тип char включає 256 символів, тобто кількість можливих значень, що приймає змінна цього типу також кінцеве. Не говорячи вже про логічний тип boolean, для якого змінна може приймати тільки 2 значення: true або false.

На відміну від порядкових типів для дійсні типи неможливо перелічити всі значення, які може приймати змінна. Довести це дуже просто. Розглянемо інтервал від 0.1 до 0.2. До нього входять 0.11, 0.111, 0.1111 і так далі. Хіба можна перелічити всі дійсні числа, що потрапляє у цей маленький інтервал?

Але треба пам’ятати те, що при поданні в ЕОМ кількість припустимих значень дійсних типів все ж таки обмежена внутрішнім форматом, але навіть це не дає можливості перелічити всі можливі значення.

В темі №2 цього лекційного курсу детально були розглянуті цілочисельні, символьні, логічні та дійсні типи даних. Тема №7 присвячена масивам та рядкам, також в ній розглядаються тип перелічення та діапазон. Тема №8 стосується файлового типу. Об’єктний тип даних буде розглянутий при вивченні теми “Об’єктно-орієнтований підхід до розробки програмного забезпечення”, типи покажчиків в темі “Динамічний розподіл пам’яті”, процедурний тип після теми “Підпрограми”, що не ввійшли до першої частини конспекту.

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

Тип запис мови Паскаль

Дуже часто у програмах необхідно обробляти набори даних різних типів як єдине ціле. Наприклад, якщо вводити у програму дані з екзаменаційної відомості: прізвище студента (описується типом string), номер залікової книжки (цілочисельний тип), екзаменаційна оцінка (тип-діапазон 2..5 на базі цілочисельного). Всі ці дані пов’язані між собою і повинні оброблятися як єдине ціле. Враховуючи те, що студентів в групі не більше 30, можна було би використовувати масив, але дані різнотипні, тому простий масив використати неможна.

У таких випадках для найдоцільнішим буде використання типу запис.

Запис – це складний тип даних, що включає декілька частин – полів запису і кожне поле описується певним типом. Змінна – запис описується типом record , після якого задаються назви полів запису та їх тип. Опис закінчується ключовим словом end:

– Конец работы –

Эта тема принадлежит разделу:

ТЕМА 1 Основні поняття мови Паскаль

ТЕМА Основні поняття мови Паскаль... Алфавіт мови... Ідентифікатори та правила їх утворення...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЕOLN (<ФЗ>) : boolean

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

FOR <парам_циклу > := <почат _знач > DOWNTO <кінц _знач > DO
< тіло циклу > ; <почат _знач > має бути більшим за <кінц _знач >. Крок зміни параметру циклу дорівнює –1.  

Еоf (<ФЗ>) : boolean
Функція повертає значення true, якщо досягнутий кінець файлу або false у протилежному випадку. Дуже зручно використовувати цю функцію при організації циклічного зчитування з файлу. Розглян

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги