Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KR AIO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
69.38 Кб
Скачать
  1. Спільне використання файлів. Типи доступу до відкритого файлу.

Совместное использование файлов

Программирование приложений для баз данных стремительно смещается в сторону их сетевой реализации. Поскольку все большее число фирм подключают свои персональные компьютеры (ПК) к Локальным Вычислительным Сетям (ЛВС), то автономные приложения дорабатываются для их применения в многопользовательских средах. С появлением распределенных и многозадачных операционных систем для ПК даже для автономных компьютеров необходимо создавать приложения с учетом требований коллективного доступа. В этой лекции речь пойдет о средствах языка Clarion, которые позволяют создавать приложения, предназначенные для применения в многопользовательской среде.

Методы доступа

Записи в файлах данных располагаются, вообще говоря, в том порядке, в каком они туда добавляются (это обычно так, но не всегда). Порядок, в котором записи расположены в файле, называется “физическим” или “по номеру”. Совсем необязательно, чтобы такой порядок нес в себе какую-либо смысловую нагрузку.

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

Если требуется извлекать записи из файла в их физической последовательности – по номеру, - то для этого достаточно только файла данных. Если требуется произвольно извлечь запись и точно известно ее местоположение в файле (ее номер), то и для этого также достаточно только файла данных. Однако для большинства приложений такая однобокость была бы слишком большим ограничением.

  1. Довільний доступ до файлу. Форми доступу до файлу.

Оператор GET - единственный в языке оператор, с помощью которого осуществляется произвольный доступ к файлу. В отличие от оператора SET, оператор GET либо считывает запись из файла, либо выдает сообщение об ошибке. Для оператора GET не используется механизм “нечеткой логики”. Существует три формы оператора GET. С их помощью можно считывать записи по значению ключа, по номеру записи и по номеру ключа.

Sam:Field1 = 15

Sam:Field2 = ‘ABC’

GET(Sample,Sam:FieldsKey) !Считать; номер ключа=6, номер записи=2

GET(Sample,1) !Считать; номер записи=1, номер ключа=3

GET(Sam:FieldsKey,1) !Считать; номер ключа=1, номер записи=7

В первом случае оператор GET считывает первую (по значению ключа) запись файла, ключевое значение которой совпадает со значением ключа, заданного к моменту исполнения оператора GET. Во втором случае считывается первая (по номеру записи) запись файла. В третьем - считывается первая (по номеру ключа) запись файла. Когда запись с заданным значением ключа не найдена в файле, оператор GET выдает сообщение об ошибке. Поэтому для сложного ключа до исполнения оператора GET должны быть заданы все компоненты.

Оператор GET не влияет на последовательную (SET/NEXT или SET/PREVIOUS) обработку файла. Это означает, что исполнение оператора GET в процессе последовательной обработки не приводит к изменению указателя записи для последовательной обработки.

  1. Взаимная блокировка. Два пользователя пытаются в разном порядке заблокировать одну и ту же групу файлов(А и Б). Как путем простого соглашения на програмном уровне недопустить взаимной блокировки и получить контроль над файлами применяя фрагмент програмы:

б)

Білет 11

  1. Методи доступу. Послідовний доступ до файлів. Механізм нечіткої логіки.

Метод доступа - действия, выполняемые при сохранении или извлечении записей из файла.

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

Последовательный доступ к файлу в языке Clarion осуществляют три оператора: SET, NEXT и PREVIOUS. Оператор SET инициирует последовательную обработку; он не производит считывания записи файла. Операторы NEXT и PREVIOUS считывают записи, порядок доступа к которым задан оператором SET, в возрастающем (NEXT) или убывающем (PREVIOUS) порядке. Оператор SET является “отправным пунктом” в последовательной обработке файла. Чтобы установить порядок доступа и начало для считываемых записей операторам NEXT или PREVIOUS должен предшествовать оператор SET. Как правило, оператор SET является последним исполняемым оператором перед структурой LOOP, в которой осуществляется последовательная обработка записей файла. Оператор NEXT или PREVIOUS будет тогда первым оператором в цикле LOOP.

В Описании языка приведены семь форм оператора SET. По существу, они распадаются на две группы, в зависимости от порядка доступа к записи: по физическому номеру – три формы; по ключу - четыре формы.

Оператор SET инициализирует - посредством механизма “нечеткой логики” – указатель записи для последовательной обработки. Тот же механизм “нечеткой логики” задействован при выборе начальной записи по значению ключа. Если запись, удовлетворяющая значению ключа, найдена, то оператор SET выставляет на нее указатель записи для последовательной обработки.

Если же запись, удовлетворяющая значению ключа, не найдена, то оператор SET выставляет указатель записи для последовательной обработки “между” последней записью, у которой ключ меньше (больше) заданного значения, и первой, у которой ключ больше (меньше) заданного значения. Преимущество механизма “нечеткой логики” проявляется при использовании составного ключа.

Системы на основе нечеткой логики основаны на использовании нечетких множеств, позволяющих отвести степень принадлежности конкретных физических величин к определенным термам-понятиям. Нечеткая логическая система производит однозначное преобразование вектора входных сигналов в вектор выходных сигналов. Для этого преобразования используется механизм нечеткого вывода, основанный на знаниях, заложенных экспертом (т.е. человеком).

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