Главная » Просмотр файлов » Основы программирования

Основы программирования (947332), страница 33

Файл №947332 Основы программирования (Иванова Г.С. Основы программирования) 33 страницаОсновы программирования (947332) страница 332013-09-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Однако следует помнить, что с этой цельюможно использовать только параметры-переменные, например:Туре FF ^file of integer;Procedure Print (Var F1:FF);...1926. Файловая система, ФащыРабота с файлом включает:• инициализацию файловой переменной - установление связи файловойпеременной с файлом;• открытие файла - подготовку файла для выполнения операций вво­да/вывода;• обработку компонентов ф а ш а - выполнение операций ввода-вывода;• закрытие файла (при повторном открытии файл закрывается автома­тически).Инициализация файловой переменной. Связь между физическим ус­тройством (дисководом или внешним устройством) и файловой переменнойустанавливается специальной процедурой.Процедура Assign (Var f; sUstring) - инициализирует файловую пере­менную f, связывая ее с файлом или логическим устройством, определеннымстрокой St.Если файл находится в текущем каталоге, то достаточно указать имяфайла и его расширение.

В противном случае необходимо указать полноеимя файла, например:Туре FI1 = text;Var flfifi:FIl;Assign (fl, Tl.dat'); {связывание файловой переменной с файломв текущем каталоге}Assign (f2, 'd:\iva\a.dat'): {связывание файловой переменной с файломв указанном каталоге}Assign(f3, VON'); {связывание файловой переменной с консолью}Открытие файла. Открытие файла предполагает указание направленияпередачи данных. В Borland Pascal файл можно открыть для чтения и для за­писи. Текстовый файл можно открыть также для добавления строк.

В типи­зированный файл, открытый для чтения, можно дописывать новые записиили писать в нем новые записи на место старых.1. Процедура ReSet(VarJ) - открывает файл, определенный файловойпеременной f для чтения. При выполнении этой процедуры указатель файлаустанавливается на первый компонент файла (физически первый блок запи­сей считывается в буфер). Логическое устройство в этом случае готовится квыполнению операций ввода.При открытии для чтения несуществующего файла регистрируетсяошибка выполнения, а функция lOResult типа Word возвращает значение, от­личное от О (см. далее описание функции). Отключив контроль операцийввода-вывода и используя функцию lOResult, можно организовать проверкуналичия файла с указанным именем на диске:193Часть 1.

Основы алгоритмизации и процедурное программированиеVar f: file of char;BeginAssign(f, *a. dat * ) ; {инициализация файловой переменной}{$ I'} {отмена контроля ошибок ввода-вывода}ReSet (f); {открытие файла для чтения}{$ /+/ {включение контроля ошибок}iflOResult оО then WriteLn ('Файл не существует *);else WriteLn('0awi существует *);...2. Процедура ReWrite(VarJ) - открывает файл, определенный файловойпеременной f, для записи.

При открытии для записи существующего файластарый файл уничтоэюается без предварительной проверки и выдачи предупреэюдения пользователю. Если файла с таким именем не существовало, тоон создается и подготавливается к записи (физически ~ очищается буфер).Логическое устройство при этом подготавливается к приему информации.3.

Процедура AppEnd(Var fiiext) - открывает текстовый файл, опреде­ленный файловой переменной f, для добавления строк.При открытии для добавления строк указатель файла устанавливаетсяна конец файла, и, соответственно, все строки, выводимые в файл, дописы­ваются к уже существующему файлу.Любой программе без объявления, инициализации файловой перемен­ной и открытия доступны два файла со стандартными файловыми перемен­ными:INPUT - чтение со стандартного устройства ввода;OUTPUT - вывод на стандартное устройство вывода.Это текстовые файлы, используемые для выполнения элементарныхопераций ввода-вывода. В операторах ввода-вывода файловые переменныеэтих файлов обычно не указывают (см.

параграф 2.6). Остальные файлы ста­новятся доступными только после связывания файловой переменной с фай­лом или логическим устройством и открытия файла.Стандартным устройством ввода MS DOS по умолчанию является кла­виатура. Стандартным устройством вывода - экран дисплея.Примечание. При необходимости эти устройства можно переназначить средствами опе­рационной системы.

Так, для организации ввода данных из файла вместо ввода с клавиатурынеобходимо запустить программу из командной строки MS DOS, указав после имени програм­мы символ «<» и имя файла, а для организации вывода в файл вместо вывода на экран - сим­вол «>» и имя файла. Можно перенаправить только ввод или только вывод или и то и другоесразу.Например:A:\>example.exe <a.dat >a.res - ввод из файла a.dat, а вывод в файл a.rez.194б.

Файловая система. ФайлыТакое переназначение будет выполнено, если в программе не используется модуль crt(см. парафаф 8.1), который организует операции ввода-вывода напрямую, непосредственновзаимодействуя с устройством.Обработка компонентов файла. Основные операции над компонента­ми - это операции записи и чтения. На базе этих операций выполняют болеесложные операции:• создание файла - занесение в файл требуемых записей;• модификация файла - изменение всех или нескольких записей, добав­ление и удаление записей;• поиск нужной информации в файле.Выполнение этих операций осуществляется по-своему для каждого ти­па файла (см.

параграфы 6.3 - 6.5).Закрытие файла. Закрытие файла, открытого для записи или чтения,осуществляется процедуройClose(VarJ).При этом вновь созданный файл регистрируется в каталоге. Посколькулюбое обращение к диску осуществляется через буферную память, частьданных, выводимых в файл, может остаться в буфере. Процедура закрытияфайла обеспечивает вывод оставшихся компонентов из буфера в файл. Связьфайловой переменной с файлом при закрытии сохраняется, и при повторномиспользовании этого же файла процедуру Assign применять еще раз не тре­буется.Стандартные процедуры и функции обслуживания файлов. Для вза­имодействия с файловой системой MS DOS в Borland Pascal определеныстандартные процедуры и функции, которые применимы к файлам любыхтипов.1.

Процедура ReName(Varf; name:string) - осуществляет переименова­ние файла, определенного файловой переменной f. Новое имя файла задает­ся параметром name. Если в процессе работы программы требуется переиме­новать файл, открытый для чтения или записи, необходимо предварительнозакрыть этот файл. При совпадении нового имени файла с каким-либо ужесуществующим выдается сообщение об ошибке.2.

Процедура Erase(Var J) - осуществляет удаление созданного или на­ходящегося в процессе формирования файла. Перед уничтожением файлдолжен быть закрыт, так как разрешается удалять только закрытые файлы.3. Функция EOF(Var J):boolean - определяет конец файла. Как было от­мечено выше, размер файла при его создании не фиксируется. Поэтому впроцессе работы требуется проверка достижения конца файла. Функция при­нимает значение TRUE, если указатель стоит в конце файла (после послед­ней записи).

При этом, если производится чтение, то это означает, что файлисчерпан, а если идет запись, то новая запись дописывается в конец файла.Функция принимает значение FALSE, если конец файла еще не достигнут.195Часть 1. Основы алгоритмизации и процедурноепрограммированиеПримечание, Функция EOF по-разному работает с дисковыми файлами и логическимиустройствами. Для логического устройства невозможно предвидеть, каким будет результатчтения очередного символа. Поэтому при работе с логическим устройством функция EOFвозвращает TRUE, если последним символом был маркер конца файла, а при чтении с диска если следующим считываемым символом будет маркер конца файла.

Физически это выража­ется в том, что при выполнении функции EOF запрашивается ввод информации с клавиатуры.В качестве маркера конца файла используется символ ASCII с кодом 26 (#26). При рабо­те с клавиатурой этот код формируется при вводе комбинации CTRL-Z. Считается, что при­знак конца файла физически присутствует в файле, однако, как правило, такой символ в кон­це дискового файла отсутствует, и конец файла в системе определяется другим способом.4.

Функция IOResult(Var J): word - возвращает код правильности вы­полнения операций ввода/вывода. Если ошибок не зафиксировано, то функ­ция возвращает 0. Информация об ошибках может быть получена и обрабо­тана в режиме компилятора {$!-}- отключение контроля ошибок ввода/вы­вода.5.

Процедура Truncate(Var/) - обрезает файл, оставляя компоненты дотого, на который ссылается указатель файла (кроме текстовых файлов).6. Процедура ChDir(path:string) - изменяет текущий каталог: назначаеттекущим каталог, указанный параметром path.7. Процедура GetDir(drive:word: Var dir:string) - возвращает имя теку­щего каталога на указанном устройстве, где устройство drive: О - устройст­во по умолчанию; 1 - диск А; 2 - диск В и т.д.8.

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

Тип файла
PDF-файл
Размер
13,06 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

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