Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Razdel_1_2007.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
421.96 Кб
Скачать

11. Файлові типи даних. Файли послідовного доступу.

ТП вводит особый файловый тип, являющийся обобщенным файловым типом. Его обозначение состоит только из слова File без указания типа компонент.

Задание файловой переменной Файловый тип или переменную можно задать одним из трех способов:          <имя> = FILE OF <тип> <имя>     &nbsp- имя файлового типа (правильный идентификатор); FILE OF &nbsp- зарезервированные слова; <тип>     &nbsp- любой тип Turbo Pascal кроме файлов.

В зависимости от способа объявления можно выделить три вида файлов: А) типизированные файлы (задаются предложением FILE OF);

Б) текстовые файлы (определяются типом TEXT);

В) нетипизированные файлы (определяются типом FILE).

Файл последовательного доступа, последовательный файл (sequential file). Файл, записи которого можно читать только последовательно, друг за другом, в порядке их расположения. В Ф. п. д. определены начальная и конечная записи, а относительно любой другой записи введены понятия "текущая" запись, "предыдущая" и "последующая" записи. Ф. п. д. являются, например, файлы, хранящиеся на магнитных лентах.

Последовательный доступ характерен для медленных устройств, напрмер, данные на ленте (стриммер). Это существенно для программиста: методы сортировки данных отличаются для файлов прямого и последовательного доступа.

12. Алгоритмічна конструкція розгалуження та її графічне подання. Оператори розгалуження (умовний оператор та оператор вибору). Оператори зміни порядку виконання програми.

Повне розгалуження

Скорочене – якщо відсутня дія 1 або дія 2

Команда розгалуження if (якщо). Команда розгалуження if має дві форми: повну такоротку. Повна така: if (<логічний вираз>) <команда 1>; else <команда 2>.

Дія команди. Обчислюється значення логічного виразу. Якщо це значення істине, то виконується команда 1, у протилежному випадку – команда 2. Команда 1 та команда 2 можуть бути порожніми, простими або складеними.

Коротка команда розгалуження if має вигляд: if (<логічний вираз>) <команда 1>.

Дія команди. Обчислюється значення логічного виразу. Якщо воно істинне, то виконується команда 1, інакше виконується команда, яка записана після команди if .

Команда?. Команда ? є аналогом команди розгалуженя if. Загальний вигляд команди ? такий: <логічний вираз> ? <команда або вираз 1> : <команда або вираз 2>.

Дія команди. Обчислюється значення логічного виразу. Якщо воно істинне, то виконується команда 1 або обчислюється вираз 1, інакше – команда або вираз 2.

Команда ? у разі потреби трактується компілятором як вираз, тому її зручно використовувати у дериктивах препроцесора.

Команда вибору (switch). Команда вибору має вигляд.

switch (<вираз>); {

case <ознака 1> : <команда 1> : break;

case <ознака N> : <команда N> : break;

default : <команда N+1> ; } Вираз та ознаки мають бути цілочисельні. Оск. Транслятор моми С++ може розглядати значення змінних типу char i enum як цілі дані, то на місці виразу та ознак можуть бути сталі цілого, символьного або перераховного типів. На місці команд 1 – N може бути одна команда, декілька абл не бути жодної команди. Команда break не є обовязковою і записується у разі потреби. Вона слугує для виходу команди switch. Складова частина default : <команда N+1> також може бути відсутня – тоді матимемо коротку форму команди вибору switch.

Дія команди. Якщо значення виразу збігається зі значенням ознаки n, то виконується команда з номером n і розглядається наступний за нею рядок case і т. д..

Команда безумовного переходу goto. Ця команда змінює послідовність виконання інших команд шляхом переходу до виконання команди, що має позначку (мітку). Команда переходу має вигляд goto <позначка> ;. Позначка може розташовуватися перед командою у програмі. Вона відокремлюється від команди двокрапкою (:) а саме:

<позначка> : <команда>;. Позначкою може бути лише ідентифікатор, тобто набір допустимих символів, який починається з букви або символу підкреслення (_).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]