Лекции (984123), страница 4

Файл №984123 Лекции (Лекции) 4 страницаЛекции (984123) страница 42015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

В заклн! !ение этого 1еазд('.ла отметя!! что ло! и Е(ская структура, позволяющая реализовать данное функциональное описание, редко бывает единственной. точно так же. как и соответствующее физическое представление. Выбор может осуществляться по нескольким критериям, в частности по критерию общности: деланЕт гак, чтобы одно и то же логическое описание могло обслужи!зать сразу несколько функциональных спецификаций (72~. Рас(мотрим (щс раз исрархик! Описаний на п1ЕЛЕм(р( т. н.

длинной арифмлстики. На абстрактном математическом уровне вся арифметика сколь угодно длинная, никаких количественных ограничений нс накладывается. При отображении на средства языка программирования может не найтись соответствую(пего типа данных, например, .вещественного. В последнем случае его придется моделировать программным путем. Или может быть, что подходящий тип есть, но его точность недостаточна. В таком случае подключается длинная арифметика, которая может быть встроенной (Ру(1!Оп, РЕ,('ВС~Е), ил(л библиотечной (С; + с библиотекой 1»ооа1, дага), или созданной программистом вручную.

На уровне физического представления некоторые длинные типы могут иметь аппаратнуео поддержку, либо эмулироваться микропрограммно и даже, как это было па первых процессорах 1п1е1, иметь чисто программную интерпретацию па традиционном машинном уровне. 203 5 2 Файл Динамические объекты могут размегцаться не только в основной, но и во внешней памяти ;-.>ВХ1 ~43~. Динамические объекты, размещаемые на устройствах внешней памяти (магнитных, оптических, флэш и др.), обычно имеют структуру классического последовательного файла-картотеки (линейное медленное последовательное движение ленточного носителя) или массива (в случае дисковых устройств с высокой скоростью вращения позиционирование головки и сектора, выполняется хоть и тоже последовательно, но очень быстро).

Файл, как и любой другой динамический обьект, может быть пустым; количество составляющих его компонент может меняться в процессе выполнения программьь Однако, в отличие от динамических обьектов в основной памяти, файл должен иметь собственное имя, по которому его можно оонаружить в огй>еделенном месте конкретного внешнего запоминающего устройства. Это является следствием большей долговремеппости файлов как динамических обьектов на внешней памяти: время жизни файла, как правило, превышает время жизни программы, в пределах которого существуют все ес резидентные динамические объектьь Следовательно, имя файла и его характеристики должны быть известны операционной системе до начала выли>лнения программы обработки этого файла, хотя с общей точки зрения безымянные файлы как указатели на фай:к>выс переменные вполне правомерны.

Отметим некоторую несистемати шость динамических объектов Паскаля: создать или уничтожить файл средствами стандартного Паскаля (пе»»', с1!ярояе) нельзя. Файлы играют важнук> роль в любой вычислительной системс )721. При этом операции, которые вычислительная система может выполнять над ними, определяются пр>ии!ипамп, заложенными в конструкции тех устройств памяти, на которых эти файлы хранятся ~бЗ!. Например, для файлов, хранягцихся на МЛ и МД, определены чтс ние, .запись и стирание; для принтера .. только запись, а для СП-КОМ и сканера —. только чтение.

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

Другие компоненты становятся доступными по мере продвижения по файлу. Длина файла (число компонент) не фиксируется: в процессе выполнения программы файл может стать пустым, а люжет быть догюлнен новыми компонентами. Мы уже знакомы с лептой машины Тьюринга последовательностью ячеек со строго последовательным доступом. По отношению к программе файлы люгут быть внртренни>ии и внешниат, Внутренними (локальными) являются файлы, которые описаны в разделе маг Паскаль-программы и имена которых не указаны в заголовке этой программы.

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

Имена таких файлов необходимо нс только описывать в разделе айаг Паскаль-программы, но и обязательно указывать в заголовке программы. Концепция файлов Си более общая, чем в Паскале, она испытала большое влияние ОС ПМХ. Наряду с традиционными файлами в Си файлами являются стандартные потоки (аГс1ш, эФс1он1, эМегг), конвейеры, физические устройства вроде принтеров или датчиков температуры процессора, виртуальные устройства типа «черной дыры» /с1еч/пи11. В отличие от Паскаля в Си есть функция быстрого подвода, к нужному месту файла,, которая при соответствующей аппаратной поддержке может обеспечивать прямой доступ, моделируя массивы.

Работа с файлами в Си, также как и в Паскале, организована на процедурном уровне. Но соответствующий набора функций библиотеки языка Си существенно более динамичен и прагматичен. Возможно создание, переименование, удаление постоянных и временных файлов, имена которых задаются строковыми константами или переменными. В отличие от Паскаля каждый файл в Си может быть открыт и использован как в текстовом, так и в двоичном режимах. Такая дуалистическая интерпретация файлов естественна для языка системного программирования. 5.2.1 Функциональная спецификация.

Обозначим через Гт файловый тип с компонентами типа Т. Для задания функшюнальной спецификации файлового типа необходимо, во-первых, указать множество значений, множество изображений значений этого типа, правила интерпретации изображений и, вовторых, определить базовое множество атрибутов этого типа (множество операций над значениями этого типа и их свойства, множество отношений и их свойства, выделенные функции и т. п.) ~43~. Значениями типа Рт являются сколь угодно длинные, но конечные последователыюсти компонент типа Т (изображаемые по правилам интерпретации типа компонент Т). Такое бесконечное множество значений можно определить формально с помощью операции конкатенаиии (слияния, склеивания., сцепления) двух файлов, состоящих из компонент одного и того же типа: если ~, = ~то.....,х ) и Ь = (уп ° у4: то Л~~Ь ~ г м ° ° ~ гвсо уп ° ~ 9п~: где !! знак операции конкатенации, Тогда множество значений файлового типа строго определяется следуклцими порождающими правилами ~72~: 1.

11 есть файл типа Р'т (пустая последовательность, пустой файл); 2. если ~ есть файл типа Гг и 1 есть объект типа Т> то 1" ~~ ~Ц есть файл типа Гт, 3. никакие другие значения не являются файлами типа 1'т. Это определение является конструктивным, т. к. позволяет постепенно построить лнь бой файл, начиная с пустого, последовательным дописыванием его компонент в необходимом порядке, как мы это уже делали раньше при нисходящей разработке схем Тьюринга, путем уточнения цели (точки -- пустой схемы).

Базовое множество атрибутов файлового типа: 1. операция конкатенации, определенная выше; ее свойство несимметричность; 205 2, операция присваивания определяется как покомпонентное копирование одного фай- ла в другой с сохранением порядка и количества компонент. 3. отношение равенства: два файла, состоящие из компонент одного и того же типа, равны тогда и только тогда, когда они имеют одинаковую длину, а их соответствутощие компоненты равные значения; отношение равенства симметрично; 4, функции: создание (1юрождение пусто1о файла), доступ (последовательный доступ к каждой компоненте, причем только для чтения значения: чтобы прочитать значение Ь:-той компоненты файла, надо прочитать предварительно Й вЂ” 1 компоненту от начала файла), модификация (дозагп1сь компоненты того же типа в конец файла фактически это конкатенация файла и новой компоненты типа 1 ), уничтожение (стирание) файла.

5.2.2 Логическое описание и физическое представление В 11аскаль-программе может быть использован как именованный, так и неименованный файловый тип )43~. Именованный файловый тип должен быть описан в разделе описания типов: Суре Т вЂ” ...; 1' тав квмпоневтьс файла 1 < имя файлового типа ' — 61е оГ Т; Тогда объект-файл должен быть описан в разделе переменных таким образом: айаг <имя объекта — файла>: <имя файлового тина>: 11ри использовании неименованного файлового типа описание такого же объекта выглядит следующим образом: айаг <имя файловой переменной.: 61е оГ Т; При обраооткс описания обьекта;файла ~ транслятор должен выделить память в генерируемой программе под буфер файла, достаточную для размещения значения одной компоненты этого файла (тем самым порождая буферную переменную типа Т). Обозначается буфер файла таким образом: <имя файловой переменной> 1 Например, если имя файла, Х ~11с, то его буфер Х ~йс ~, то после прочтения трех его компонент возникнет следующая ситуация: ХЯе1: С1 Х Г11е: 206 Е1ЬЕ, < имя объекта — файла>; Создание и модификацию файла можно реализовать в Паскаль-программе, используя стандартную функцию ео1® и процедуры гевеС1 ! ), геътГСеГ ! ).

деС® и рнС®, где ! имя файла (о((Ораторов ввода/вывода пи в Паскале, ни в Си пег, что объясняется большим разнообразием вн(шних устройств). Алгоритмы выполнения этих процедур приведены в (9(. Известные нам процедуры геасГ и ъ((гГСе выра,жаются через низкоуровневьк( средства, ввода (вывода Паскаля ( ледующим образом: х: — !"; й;еС!!); геасГ(Г, х); Е:=х; ъъ(г!Се!1, х); рпСЯ; Процедура гевеС готовит указанный файл для чтения начиная с ллервого элемента. Если файл не >(уст, то в результате геяеС в буфернук> переменную л" ! заносится значение первой компонент(.л файла и функция ео1 получает значение 1а1яе, Вторым параметром процедуры геяеС во многих расширениях Паскале является строка с именем реального файла ОС, сопоставляемого данной фай:лавой переменной Паскаля.

Характеристики

Тип файла
DJVU-файл
Размер
188,89 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее