Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Мета роботи

РОБОТА З ФАЙЛАМИ ДАНИХ.

ВИКОРИСТАННЯ ФОРМАТНОГО ВВЕДЕННЯ/ ВИВОДУ

 

Метою лабораторної роботи є ознайомлення з правилами використання операторів опису файлів, способами роботи з файлами даних (запис в файл і зчитування з файлу), способами форматного введення/виводу, повторюваними форматами.

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

2. Провести налагодження програми та її тестування.

3. Скласти звіт про роботу.

Вказівки до виконання завдання

У всіх лабораторних роботах, які виконувались раніше, використовувалось введення даних з клавіатури. Цей спосіб не дуже зручний при введенні великої кількості даних: зростає ймовірність помилки і збільшуються витрати часу на введення даних. Тому уведення великої кількості значень краще організовувати з окремого файлу даних. Вивід інформації також зручно здійснювати в файл даних. Це дозволяє використовувати її для подальшої обробки.

Для роботи з файлом даних попередньо необхідно установити зв'язок з ним за допомогою оператора OPEN, що має вигляд:

OPEN(ON),

де ON – список параметрів, що визначає вид файлу і роботу з ним. У цьому списку обов'язковим є один параметр – ідентифікатор пристрою,

OPEN(UNIT=1)

Ідентифікатор пристрою задається цілим виразом, ключове слово UNIT може бути опущено. Далі в списку параметрів можуть бути:

IOSTAT = ціла перемінна - у цьому виразі ціла перемінна має позитивне значення, якщо виявлена помилка при роботі з файлом; негативне значення у випадку досягнення кінця файлу і дорівнює нулю в тому випадку, якщо при роботі з файлом не допущені помилки і не досягнутий кінець файлу;

ERR = мітка – задає мітку оператора, на який передається керування при виникненні помилки;

FILE = символьний вираз – задає ім'я зовнішнього файлу;

ACCESS = символьний вираз – визначає спосіб доступу до файлу. Символьний вираз ’DIRECT’ позначає приєднання файлу для прямого доступу, ’SEQUENTIAL’ – послідовного доступу. За замовчуванням діє значення ’SEQUENTIAL’;

STATUS = символьний вираз – задає стан приєднаного файлу. Символьний вираз може приймати значення ‘OLD’ (файл вже існує), ’NEW’ (файл буде створений), ’SCRATCH’ (тимчасовий, буде вилучений після завершення програми) і ’UNKNOWN’ (якщо файл вже існує, те він буде відкритий, якщо ні, буде створений новий файл). За замовчуванням значення параметра STATUS для іменованих файлів буде ‘UNKNOWN’;

FORM = символьний вираз – задає тип записів файлу. Символьний вираз може приймати значення ’FORMATTED’ – у файлі використовуються форматні записи, і ’UNFORMATTED’ – у файлі використовуються неформатні записи. За замовчуванням для файлів послідовного доступу встановлюється ’FORMATTED’, для файлів прямого доступу - ’UNFORMATTED’;

RECL = цілий вираз – задає довжину запису в байтах. Цей параметр обов'язковий для файлів прямого доступу;

BLANK = символьний вираз – задає спосіб інтерпретації пробілів при введенні числових даних. Символьний вираз може мати значення ’NULL’ (використовується за замовчуванням), у цьому випадку всі пробіли при введенні ігноруються, і ’ZERO’ – при цьому параметрі пробіли сприймаються як нулі.

Параметри файлу використовуються тільки в разі потреби. Найбільш розповсюджена форма запису оператора OPEN має вид:

OPEN(m, FILE = ’ім'я.DAT’, STATUS=’OLD’)

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

READ(m,*) a

Цей оператор зчитує окремий запис з файлу, що має ідентифікатор пристрою UNIT=m і привласнює значення запису змінній а.

Ідентично перетворюється оператор WRITE для запису у файл:

OPEN(n, FILE = ’ім'я.REZ’, STATUS=’NEW’)

WRITE(n,*) z

Для введення/виводу даних можуть використовуватися формати. У цьому випадку введення/вивід можна організувати наступним чином:

1. З використанням оператора FORMAT, що містить список форматів:

WRITE (*, m) список введення / виводу

m FORMAT (список форматів)

Оператор FORMAT може знаходитися в будь-якому місці програми, так як передача управління на нього не відбувається. Також на нього можна посилатися кілька разів. Список форматів повинен відповідати списку введення/виводу.

2.З використанням символьного виразу, значенням якого є список форматів, укладений в дужки:

WRITE (*, ‘(список форматів)’) список введення / виводу

Перший варіант організації форматного введення/виводу краще застосовувати при довгому списку введення/виводу, другий - при одиничних даних.

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

§ Iw - формат для перетворення цілих змінних;

§ Fw.d - формат для перетворення речових змінних без експоненти;

§ Ew.d[Ee] формат для перетворення речових змінних в експоненціальній формі;

§ A[w] - формат для перетворення символьних змінних.

У наведених форматах w - розмір поля вводу/виводу для даного у зовнішньому поданні, d - кількість знаків дробової частини числа, e - кількість цифр у поле введення/виводу для експоненти.

 

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

Файл данихФайл результатів

_14.57_1.0 _ _48.47 Вихідні дані

Вихідні дані _ _56_ _47_459

_ _ 56 _ _ 47 _ _ 459 Результати

Результати а=14.57 _ b=1 _ с=48.5

(Символ «_» вказує на наявність пробілів)

 

PROGRAM EXAMPLE

REAL A, B, C! опис змінних

INTEGER K, L, M! для роботи с даними

CHARACTER Z! в файлах

С Опис вихідного файлу послідовного доступу

OPEN(1, FILE=’IN.DAT’, STATUS=’OLD’)

С Опис нового файлу прямого доступу

OPEN(2, FILE=’REZ.DAT’, STATUS=’NEW’, ACCESS=’DIRECT’,

* FORM=’FORMATTED’, RECL=30)

С Зчитування першої строки

READ(1,10) A, B, C

10 FORMAT(F6.2, F4.1, F7.2)

С Зміна типу даних

K=B

С Запис першої строки

WRITE(2, 20, REC=4) ‘A=’, A, ‘B=’, K, ‘C=’, C

20 FORMAT(A2, F5.2, A3, I1, A3, F4.1)

С Друга строчка

READ(1, ‘(A)’) Z

WRITE(2, ’(A)’, REC=1) Z

С Третя строчка

READ(1, 30) K, L, M

30 FORMAT(I4, I4, I5)

WRITE(2, 40, REC=1) K,L,M

40 FORMAT(3I4)

С Четверта строчка

READ(1, ‘(A)’) Z

WRITE(2, ’(A)’, REC=3) Z

END

 

Коментарі до програми: в програмі використовуються два типи файлів: послідовного і прямого доступу. Файл послідовного доступу, який використовується як вихідний, дозволяє зчитувати інформацію построчно. Файл прямого доступу, використовуваний як файл результатів, дозволяє вказати номер рядка, на який виводиться інформація (REC).

 

Звіт про лабораторну роботу повинен містити короткий опис роботи та текст програми.

 

Лабораторна робота № 6

ОБЧИСЛЕННЯ ВИЗНАЧЕНОГО ІНТЕГРАЛА

 




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.