Refbank.Ru - рефераты, курсовые работы, дипломы по разным дисциплинам
Рефераты и курсовые
 Банк готовых работ
Дипломные работы
 Банк дипломных работ
Заказ работы
Заказать Форма заказа
Лучшие дипломы
 Место и роль Центрального банка в системе банковских и небанковских кредитных организаций в РФ
 Пособия при деторождении
Рекомендуем
 
Новые статьи
 Почему темнеют зубы и как с этом...
 Иногда полезно смотреть сериалы целыми...
 Фондовый рынок идет вниз, а криптовалюта...
 Как отслеживают частные...
 Сочинение по русскому и литературе по тексту В. П....
 Компания frizholod предлагает купить...
 У нас можно купить права на...
 Сдать курсовую в срок поможет Курсач.эксперт. Быстро,...
 Размышления о том, почему друзья предают. Поможет при...
 Готовая работа по теме - потеря смысла жизни в современном...
 Рассуждения о проблеме влияния окружающего шума на...
 Рассуждения по тексту Владимира Харченко о роли науки в...
 Проблема отношений человека с природой в сочинении с...
 Рассуждение по теме ограниченности...
 Описание проблемы отношения людей к природе в сочинении по...


любое слово все слова вместе  Как искать?Как искать?

Любое слово
- ищутся работы, в названии которых встречается любое слово из запроса (рекомендуется).

Все слова вместе - ищутся работы, в названии которых встречаются все слова вместе из запроса ('строгий' поиск).

Поисковый запрос должен состоять минимум из 4 букв.

В запросе не нужно писать вид работы ("реферат", "курсовая", "диплом" и т.д.).

!!! Для более полного и точного анализа базы рекомендуем производить поиск с использованием символа "*".

К примеру, Вам нужно найти работу на тему:
"Основные принципы финансового менеджмента фирмы".

В этом случае поисковый запрос выглядит так:
основн* принцип* финанс* менеджмент* фирм*
Информатика

контрольная работа

Начальная загрузка DOS, организация файлов данных последовательного доступа, задача



СОДЕРЖАНИЕ
1. Начальная загрузка DOS (необходимые условия и последовательность). Назначение и содержание файла конфигурации системы CONFIG.SYS и файла автозапуска AUTOEXEC.BAT. 3
1.1. Начальная загрузка DOS 3
1.2. Написание файла CONFIG.SYS 4
1.3. Написание файла AUTOEXEC.BAT 5
2. Организация файлов данных последовательного доступа средствами языка BASIC. Операторы работы с файлами данных. 11
2.1. Способы доступа к данным. 11
2.2. Использование дисковых файлов данных. 11
2.3. Имена и номера файлов. 12
2.4. Последовательные дисковые файлы. 13
2.5. Запись и чтение файлов с последовательным доступом. 14
2.6. Разделение значении в файлах с последовательным доступом. 14
2.7. Распознавание конца файла. 15
2.8. Использование файлов данных с последовательным доступом. 15
Задача к контрольной работе. Вариант 7. 17
ЛИТЕРАТУРА 22
1. Начальная загрузка DOS (необходимые условия и последовательность). Назначение и содержание файла конфигурации системы CONFIG.SYS и файла автозапуска AUTOEXEC.BAT.
1.1. Начальная загрузка DOS.
Начальная загрузка DOS выполняется автоматически в следующих случаях:
• при включении электропитания компьютера;
• при нажатии на клавишу "Reset" на корпусе компьютера (такая клавиша есть не у всех моделей компьютеров);
• при одновременном нажатии клавиш [Ctrl], [Alt] и [Del] на клавиатуре.
Для выполнения начальной загрузки DOS необходимо, чтобы на дисководе А для гибких дисков (первого дисковода для дискет, подсоединенного к компьютеру) была установлена дискета с записанной операционной системой DOS или чтобы компьютер имел жесткий диск (винчестер) с записанной на нем операционной системой DOS. Как правило, на жесткие диски операционная система DOS записывается фирмой-поставщиком компьютеров.
В начале загрузки работают программы проверки оборудования, находящиеся в постоянной памяти компьютера. Если они находят ошибку, то выводят код ошибки на экран. Если ошибка не критическая (т.е. дающая возможность продолжения работы), то пользователю предоставляется возможность продолжить процесс загрузки, нажав клавишу [F1] на клавиатуре. Если же неисправность критическая, то процесс загрузки прекращается. При серьезных ошибках о возникшей ситуации и о выданном коде ошибки следует сообщить специалистам по техническому обслуживанию компьютеров.
После окончания работы программ тестирования оборудования программа начальной загрузки пытается прочесть с дискеты, установленной на дисководе А, программу-загрузчика операционной системы. Если на дисководе А нет дискеты, то загрузка операционной системы будет производиться с жесткого диска (винчестера). Если на дисководе А находится не дискета с операционной системой, а какая-либо другая дискета, то будет выдано сообщение об ошибке:
Non-system disk or disk error Replace and strike any key when ready (Несистемный диск или ошибка на диске.
Замените диск и нажмите любую клавишу)
Следует поставить на дисковод А дискету с операционной системой, если Вы хотите загрузить компьютер с дискеты, либо вынуть дискету из дисковода, если Вы хотите загрузить компьютер с жесткого диска (винчестера). После этого следует нажать любую буквенно-цифровую клавишу, пробел или [Enter] для продолжения процесса загрузки.
После того как с диска, с которого загружается операционная система (т.е. дискеты или винчестера), прочитана программа-загрузчик операционной системы, эта программа считывает в память компьютера модули операционной системы (для MS DOS - файлы IO.SYS и MSDOS.SYS) и передает им управление.
Далее с того же диска читается файл конфигурации системы CONFIG.SYS и в соответствии с указаниями, содержащимися в файле CONFIG.SYS, загружаются драйверы устройств и устанавливаются параметры операционной системы. Если файл CONFIG.SYS отсутствует, все параметры устанавливаются по умолчанию.
После этого с диска, с которого загружается операционная система, читается командный процессор (файл COMMAND. СОМ) и ему передается управление. Командный процессор выполняет командный файл AUTOEXEC.BAT, если этот файл имеется в корневом каталоге диска, с которого загружается операционная система. В файле AUTOEXEC.BAT указывают команды и программы, выполняемые при каждом запуске компьютера. Например, там можно указать запуск программы, обеспечивающей работу с русскими буквами на клавиатуре.
Если файл AUTOEXEC.BAT не найден в корневом каталоге диска, с которого загружается операционная система, то DOS запрашивает у пользователя текущую дату и время.
После выполнения файла AUTOEXEC.BAT процесс загрузки операционной системы заканчивается. DOS выдает приглашение, показывающее, что она готова к приему команд.
1.2. Написание файла CONFIG.SYS
В корневом каталоге диска, с которого загружается операционная система, может находиться файл CONFIG.SYS, задающий параметры операционной системы DOS, а также указывающий, какие программы, расширяющие возможности операционной системы, необходимо загружать в оперативную память (эти программы называются драйверами устройств, хотя они не обязаны управлять работой каких-либо устройств).
Если файл CONFIG.SYS в корневом каталоге диска, с которого загружается операционная система, отсутствует, то параметры операционной системы будут установлены по умолчанию.
Замечание. При изменении файла CONFIG.SYS соответствующие параметры конфигурации системы изменятся только после перезагрузки DOS.
Файл CONFIG.SYS должен представлять собой текстовый (ASCII) файл. Каждая строка этого файла имеет вид:
имя-команды = значение
Ниже перечисляются наиболее часто используемые команды файла CONFIG.SYS:
Break = on - установить режим проверки нажатия [Ctrl-Break] при операциях ввода-вывода с диском. Это позволяет прерывать выполнение программ, которые иначе бы выполнялись до своего завершения;
Buffers = число-буферов - установка числа буферов для операций ввода-вывода с диском. ;
Country = 049 (для DOS версий до MS DOS 3.2);
Country = 049,437,полное-имя-файла-COUNTRY.SYS (для DOS версий, начиная с MS DOS 3.3) - установка удобного формата выдачи информации о дате и времени;
Files = 20 - установка максимального числа одновременно открытых файлов. Многие программы требуют для своего выполнения, чтобы значение параметра FILES было не менее 20;
Shell = COMMAND.COM /Е:число-байтов /Р - увеличение размера области памяти, в которой хранятся переменные окружения. Число байтов задает размер этой области. Если размер области памяти для хранения переменных окружения недостаточен, то DOS выдает сообщение: "Out of environment space";
Device = имя-файла-драйвера [параметры] - установка драйвера устройства. Например, если файлы драйверов находятся в каталоге C:EXESYS, то команда device = C:EXESYSANSI.SYS установит драйвер ANSI.SYS, расширяющий возможности по выводу на экран и позволяющий переопределять значения клавиш на клавиатуре;
device = C:EXESYSVDISK.SYS размер-диска [/Е] - установит "электронный" диск. Размер диска задается в килобайтах. Параметр /Е указывает, что "электронный" диск должен размещаться в расширенной памяти процессора (сверх 640К).
Пример файла CONFIG.SYS:
Break = on
Files = 20
Buffers = 16
Shell = COMMAND.СОМ/E:512/P
Device = C:EXESYSANSI.SYS
Device = C:EXESYSHARDRIVE.SYS
Device = C:EXESYSMOUSE.SYS
Device = C:EXESYSVDISK.SYS 384 /E
Замечание. На современных компьютерах, использующих оперативную память более 640 kb, в файл CONFIG.SYS дописываются драйверы управляющие распределением памяти(HIMEM.SYS,EMM386.EXE).
1.3. Написание файла AUTOEXEC.BAT
При начальной загрузке операционная система DOS ищет в корневом каталоге того диска, с которого она загружается, файл AUTOEXEC.BAT. Если этот файл будет найден, то он выполняется. В командный файл AUTOEXEC.BAT удобно записать команды, которые должны выполняться каждый раз при начальной загрузке операционной системы. Эти команды могут осуществить необходимую настройку операционной системы и установить удобное для работы окружение. Кроме того, при наличии файла AUTOEXEC.BAT операционная система не задает в процессе начальной загрузки вопросов о текущей дате и времени.
Установка списка каталогов, в которых производится поиск программ. С помощью команды Path можно установить, в каких каталогах будет производиться поиск выполняемых программ. Эту команду обычно включают в файл AUTOEXEC.BAT. В списке каталогов, задаваемом в команде Path, следует перечислить через точку с запятой каталоги, в которых находятся исполняемые программы общего назначения. Сначала лучше указать более часто используемые каталоги. В списке целесообразно указать каталоги .. и ...., это позволит выполнять любую программу из подкаталогов первого и второго уровня того каталога, в котором она находится.
Много каталогов в команде Path указывать нежелательно, так как это приведет к длительному поиску нужной команды на диске. В большинстве случаев вместо включения имени каталога с тем или иным пакетом прикладных программ в список каталогов команды Path предпочтительнее создать в одном из каталогов, указанных в команде Path, командный файл для вызова данного пакета прикладных программ.
Пример:
path = c:exe;c:exedos;c:exe u;c: c;..;....
Установка формата приглашения DOS. С помощью команды DOS Prompt можно изменять формат приглашения, показывающего, что DOS готова к приему команд пользователя. Формат команды:
prompt текст-приглашения
В тексте, указываемом в команде prompt, можно использовать специальные сочетания символов $р, $n, $d, $t, $h, $e, $g и др. Например, команда prompt $p$g устанавливает приглашение DOS, содержащее информацию о текущем каталоге и символ ">", например C:WORKDOC> .
Установка переменных окружения. Операционная система отводит специальную область оперативной памяти, называемую "окружением" (Environment), для хранения значений некоторых переменных, которые используются операционной системой и другими программами. Окружение состоит из строк вида "переменная = значение". Здесь переменная - любая строка, не содержащая символа "=". При этом в записи переменной большие и малые латинские буквы считаются одинаковыми. Значение - любая строка символов.
Операционная система DOS использует три переменные окружения: path (устанавливается командой path), prompt (устанавливается командой prompt) и Comspec (устанавливается командой Command с параметром /Р). Пользователь может задавать переменные окружения с любыми другими именами. Для установки значения переменной окружения имеется команда set. Формат команды:
set переменная = значение
Если указанной переменной уже было присвоено какое-то значение, то оно заменяется новым.
Примеры:
set 87 - N
set Chifiles = C:CHI
Прикладные программы могут анализировать область памяти, предназначенную для хранения переменных окружения, и выяснять, установлено ли значение той или иной переменной и каково значение переменной, если оно установлено. Наиболее часто переменные окружения используются для того, чтобы указать, где прикладные программы должны искать вспомогательные файлы.
Наиболее часто используются следующие переменные окружения:
CHIFILES - указывает имя каталога, содержащего вспомогательные файлы редактора документов ChiWriter;
TEXT - указывает имя каталога, содержащего вспомогательные файлы редактора документов ЛЕКСИКОН;
ТМР - указывает имя каталога, в котором различные программы фирмы Microsoft (например, Microsoft Fortran или Microsoft Word) создают временные файлы;
РКТМР - указывает имя каталога, в котором создает временные файлы программа архивации PKZIP;
INCLUDE - указывает имена каталогов, в которых производится поиск файлов, вставляемых в текст при трансляции трансляторами фирмы Microsoft;
LIB - указывает имена каталогов, в которых производится поиск библиотек и объектных файлов при сборке файлов типа .ЕХЕ программой LINK;
87 - указывает программам, написанным на Turbo С, Turbo Pascal и др., использовать или не использовать математический сопроцессор Intel-80х87 ("Y" -использовать, "N" - не использовать). Если значение переменной не задано, то сопроцессор используется тогда, когда он имеется в компьютере.
Запуск необходимых программ. В файл AUTOEXEC.BAT целесообразно включить команды запуска программ, которые устанавливают привычную рабочую обстановку на компьютере. В настоящем пункте обсуждаются программы, которые часто включаются в файл AUTOEXEC.BAT.
Драйверы клавиатуры. Для обеспечения ввода русских букв с клавиатуры компьютеров приходится использовать специальную программу - драйвер клавиатуры. Эта программа, как правило, запускается в файле AUTOEXEC.BAT и постоянно находится в оперативной памяти компьютера. Драйвер клавиатуры воспринимает нажатия клавиш на клавиатуре и передает соответствующие символы операционной системе DOS. После нажатия определенной комбинации клавиш драйвер клавиатуры начинает передавать в компьютер символы другого алфавита. Одни драйверы используют для переключения на другой алфавит клавишу [Caps Lock], другие - одновременное нажатие обеих клавиш [Shift] или одновременное нажатие клавиш [Ctrl] и [Alt], бывают и другие способы.
Очень удобно, когда драйвер клавиатуры выполняет также и функции по обеспечению вывода кириллицы на экран. Для этого в память компьютера могут загружаться шрифты символов кириллицы. С помощью этих шрифтов обеспечивается изображение символов кириллицы в графическом режиме монитора. Если компьютер имеет монитор, обладающий возможностью программной загрузки шрифтов (например, EGA, VGA, SVGA или Hercules Plus), то драйвер клавиатуры может обеспечить изображение на экране символов кириллицы и в текстовом режиме монитора, в противном случае в текстовом режиме будут изображаться те символы, которые заданы в памяти знакогенератора - электронной схемы, управляющей изображением символов на экране в текстовом режиме.
Если компьютер имеет монитор, обладающий возможностью программной загрузки шрифтов, то Вы можете выбирать, какой кодировкой символов будете пользоваться. Все эти кодовые таблицы совпадают для символов с кодами 0-127 (в частности, для латинских букв и цифр, знаков пунктуации и т.д.). Поэтому программа, которая выводит на экран сообщения на английском языке, будет работать одинаково вне зависимости от того, какая кодировка символов используется в компьютере. Однако программы, выдающие сообщения на русском языке или использующие псевдографические символы для рисования линий, таблиц и диаграмм, при переходе к другой кодировке станут работать неправильно.
Программы, для обеспечения изображения символов кириллицы на экране. Если драйвер клавиатуры не обеспечивает изображение символов кириллицы на экране, то для этого необходимо использование специальных программ. Такие программы могут называться GRAFTABL или GRAFCYR. Все соображения об изображении на экране символов кириллицы и псевдографических символов, приведенные выше, относятся и к этим программам.
Драйверы принтера. В том случае, когда принтер не обладает возможностью печати русских букв в текстовом режиме или же коды русских букв в принтере не совпадают с их кодами в компьютере, то для печати русских текстов необходимо использование специальных программ. Наиболее удобен такой вариант, когда в файле AUTOEXEC.BAT запускается драйвер принтера, который постоянно находится в оперативной памяти компьютера и перекодирует все русские буквы, посылаемые на принтер, в соответствующие им коды принтера.
Драйвер CD-ROM. Для того, чтобы в DOS была возможность работы с устройством для чтения компакт-дисков необходимо, чтобы в файле AUTOEXEC.BAT запускался драйвер CD-ROM. К примеру MSCDEX с конкретными параметрами.
Программы для установки часов в компьютере. В первых моделях компьютера IBM PC показания часов компьютера необходимо было устанавливать заново после каждого включения компьютера. Это неудобство было устранено различными производителями компьютеров с помощью подключения специальной электронной схемы, содержащей часы и аккумуляторную батарейку для обеспечения их работы даже тогда, когда компьютер выключен. С помощью программы, включаемой в файл AUTOEXEC.BAT, обеспечивается считывание информации из этих часов в часы компьютера. Такая программа может называться Timer, Realtime и т.п., она устанавливается фирмами-производителями компьютера на диск с операционной системой DOS.
На современных компьютерах считывание информации из энергонезависимых часов обеспечивается во время включения электропитания автоматически.
Если компьютер не имеет встроенных энергонезависимых часов, то Вам придется устанавливать показания часов в компьютере при каждой начальной загрузке DOS. В этом случае в файле AUTOEXEC.BAT должны иметься команды Date и Time.
Программы-ревизоры для ранней диагностики наличия компьютерного вируса. Эти программы проверяют, не изменились ли некоторые файлы на компьютере, которые не должны изменяться (например, файлы операционной системы DOS). При обнаружении изменения файлов на экран выдается сообщение о том, какой файл изменен, и предупреждение о возможности наличия в компьютере вируса.
Программы-фильтры для защиты от компьютерного вируса. Эти программы постоянно находятся в памяти и "перехватывают" все запросы к операционной системе DOS на выполнение различных "подозрительных" действий, т.е. операций, которые используют компьютерные вирусы для своего "размножения" и для порчи информации в компьютере. При каждом запросе на такое действие на экран компьютера выводится сообщение о том, какое действие затребовано и какая программа желает его выполнить. Пользователь может либо разрешить выполнение этого действия, либо запретить его. Использование таких программ для защиты от вируса позволяет обнаружить компьютерный вирус на самой ранней стадии, когда он еще не успел размножиться и что-либо испортить. Тем самым можно свести убытки от компьютерного вируса к минимуму.
Команда запуска программы для защиты от компьютерного вируса должна находиться в файле AUTOEXEC.BAT после всех команд для запуска других резидентных программ.
Программа-оболочка. Если Вы привыкли использовать какую-либо программу-оболочку типа программы Norton Commander, то целесообразно вставить команду для запуска соответствующей программы в файл AUTOEXEC.BAT. Если в AUTOEXEC.BAT не запускается программа-оболочка типа VC, NC, DN, FAR и т.п., и на комьютере установлена операционная система WINDOWS, то запуск WINDOWS произойдет автоматически.
Следует заметить, что в файл AUTOEXEC.BAT также могут быть вставлены драйверы мыши (MOUSE.COM), звуковой карты (напр. ESS1869.COM).
Определение значений клавиш на клавиатуре. Многие пользователи используют возможности драйвера ANSI.SYS переопределять значения клавиш на клавиатуре для ускорения ввода команд. Они присваивают различным клавишам значения таким образом, чтобы при нажатии на эти клавиши выполнялись наиболее часто используемые команды.
Для того чтобы переопределить значения клавиш, надо послать на экран специальную управляющую последовательность драйвера ANSI.SYS. После этого при нажатии на эту клавишу будет выдаваться указанная в команде переопределения строка символов. Если эта строка заканчивается символом "конец строки" (символ с кодом 13), то эта строка тут же будет выполнена как команда DOS.
Чтобы при нажатии на клавишу в командную строку выводилась команда, надо послать на экран следующую управляющую последовательность:
-[<код-клавиши>; "<команда>"р
Здесь стрелкой влево (--) изображается символ с кодом 27 (Escape).
После нажатия на соответствующую клавишу в командную строку будет выведена указанная команда. Ее можно отредактировать и, нажав клавишу [Enter], выполнить.
Для того чтобы при нажатии на клавишу выполнялась некоторая команда, надо послать на экран следующую управляющую последовательность:
••-[<код-клавиши>;"<команда>";13р
Как правило, переопределяются значения следующих клавиш и комбинаций клавиш:
[F1] - [F10] - коды 0:59 - 0:68
[Shlft-F1] - [Shlft-F10] - коды 0:84 - 0:93
[Ctrl-F1] - [Ctrl-F10] -коды 0:94 -0:103
[Atl-F1] - [Atl-F-IO] - коды 0:104 - 0:113
При определении значений клавиш бывает затруднительно использовать символ с кодом 27, так как он является управляющим и его не всегда можно ввести с клавиатуры. Один из выходов таков: надо с помощью программы на каком-либо языке программирования создать файл с нужными управляющими последовательностями, а затем выводить этот файл командой Type.
2. Организация файлов данных последовательного доступа средствами языка BASIC. Операторы работы с файлами данных.
2.1. Способы доступа к данным.
В Бэйсике ПВМ реализуются два способа отыскания нужных записей. Простейший из них называется последовательным доступом, поскольку программа всегда должна начинать поиск с начала файла и проверять по очереди каждую запись до тех пор, пока не будет найдена требуемая. Альтернативный способ позволяет программе обращаться к записям по номеру в любом порядке. Такой способ поиска называется произвольным доступом.
Любой файл возможно организовать так, чтобы можно было использовать либо последовательный, либо произвольный доступ, но не оба способа одновременно. Каждый способ имеет свои "за" и "против". Последовательный доступ намного проще для программирования, и при его реализации требуется меньше дисковой памяти, но может понадобиться больше времени для поиска записи, находящейся в конце длинного файла. Кроме того, обновление существующих записей в файлах с последовательным доступом трудноосуществимо, а иногда и просто невозможно. Файлы с произвольным доступом требуют более сложного программирования и занимают обычно больше места на диске, но очень легко поддаются обновлению, и поиск любых записей может осуществляться с одинаковой скоростью.
В последовательном файле длина записи непосредственно зависит от величины каждого поля, а поскольку длины полей в каждой записи различны, то и длины записей также различны. В отличие от последовательного файла, длина записи в файле с произвольным доступом постоянна. Длина записи в файле с произвольным доступом определяется при его создании, и каждому полю выделяется внутри записи строго определенное место. Возможные значения полей должны умещаться в этом заранее отведенном объеме памяти. Если это не продумано заблаговременно, то при выполнении программы чрезмерно большие значения подвергаются усечению, а малые дополняются пустующими ячейками. В целях минимизации нежелательного усечения размер каждого поля обычно выбирается достаточно большим, чтобы вместить самую большую возможную величину.
2.2. Использование дисковых файлов данных.
Для считывания конкретного поля записи программа должна сначала открыть файл, затем найти соответствующую запись, переслать эту запись с диска в динамическую память и, наконец, выделить требуемое поле в виде значения переменной. Аналогично производится запись информации в файл с той лишь разницей, что в этом случае значения данных пересылаются программой из динамической памяти в дисковый файл.
Для уменьшения числа обращений к диску в Бэйсике ПВМ пересылка данных с диска и на диск производится блоками, а не по одному элементу за каждое обращение. С этой целью часть динамической памяти отводится специально для размещения пересылаемых данных; эти участки запоминающего устройства (ЗУ) называются буферами файлов, каждый активный файл имеет свой собственный буфер.
В Бэйсике ПВМ управление буферами осуществляется автоматически. Однако, если программа закончит запись в файл, а в буфере останутся некоторые не записанные на диск данные, программа должна тем или иным способом все же завершить перепись содержимого буфера. Сделать это можно с помощью команды закрытия файла. Одновременно по этой команде в справочник диска вносятся изменения, касающиеся размеров файла и других статистических данных, которые в нем фиксируются. Следовательно, когда программа заканчивает работу с файлом, она должна его закрыть во избежание потери части содержимого файла.
2.3. Имена и номера файлов.
Файлы данных на диске распознаются по стандартным именам (гл. 3, рис. 3.6 и табл. 3.1). Тем не менее программы обращаются к файлам данных главным образом по номерам. Оператор OPEN соотносит имя файла с его номером:
1050 OPEN "B:ITEM.DAT" AS #1
Имя файла может быть указано строковой константой, переменной или выражением. Префикс, определяющий диск, требуется тогда, когда файл не находится на диске, принимаемом по умолчанию.
Номер файла может быть указан числовой константой, переменной или выражением; обычно допускаются только номера 1, 2 и 3. Каждый номер идентифицирует только один файл, поэтому программа может открыть одновременно максимум три файла.
Оператор CLOSE освобождает номер файла/устройства для повторного использования, если следующим по порядку идет оператор OPEN.
Пример
1100 OPEN "LPT1:" AS #l
7510 CLOSE #1
7520 OPEN "A:TAXRATE.DAT" AS #l
Оператор CLOSE, содержащий только один номер (строка 7510), закрывает именно тот определенный файл или устройство, к которому этот номер относится. Чтобы закрыть сразу несколько файлов одним оператором CLOSE, достаточно указать в нем несколько номеров, отделенных друг от друга запятыми, например
2140 CLOSE #1, #3
Простой оператор CLOSE, в котором нет ни одного номера файла, будет закрывать все уже открытые файлы и устройства. Несколько других операторов языка Бэйсик, включая END, CHAIN (но не CHAIN MERGE), LOAD, NEW, RUN и SYSTEM, выполняют ту же функцию. Однако большинство программистов предпочитают иметь гарантированный точный результат работы оператора CLOSE и поэтому указывают в нем номера файлов в явном виде. Рассмотрим более подробно файлы данных с последовательным доступом.
2.4. Последовательные дисковые файлы.
Программа на языке Бэйсик способна как создавать новые файлы с последовательным доступом для запоминания в них значений нужных данных, так и записывать данные в конец уже существующего файла или извлекать данные из него. В файле с последовательным доступом записи должны считываться или записываться последовательно. Для отыскания какой-либо величины, находящейся в середине файла, программа должна произвести считывание всех данных, расположенных впереди. Новые данные могут быть записаны только в конец последовательного файла. Это значит, что не существует никакого способа считать элемент данных из файла с последовательным доступом, изменить считанное значение и снова записать его в файл на то же самое место.
При работе с последовательными файлами буфера используются самым простым способом: пересылаемые в файл данные накапливаются в буфере файла, а по заполнении буфера его содержимое сразу целиком переписывается в дисковый файл; при этом буфер файла очищается для следующей порции выходных данных. При чтении файла соответствующие данные поступают из того же самого буфера, а не считываются непосредственно с поверхности диска. Как только все необходимые данные считаны из буфера, средства Бэйсика обеспечивают повторное его заполнение информацией из дискового файла.
Открытие и закрытие файлов с последовательным доступом
Кроме присвоения поименованному файлу определенного номера оператор OPEN устанавливает разрешенный режим доступа к данным, хранящимся в этом файле. При использовании последовательных файлов программа может записывать данные с начала нового файла, добавлять их в конец уже существующего или считывать данные из файла. В табл. 12.1 приведены форматы оператора OPEN, обеспечивающие выбор того или иного режима доступа.
Таблица 1. Модификации оператора OPEN для файлов данных Режим доступа Образцы форматов оператора* Запись в начало нового файла с последовательным доступом
Запись в конец существующего файла с последовательным доступом
Чтение с начала существующего файла с последовательным доступом
Запись или чтение файла с произвольным доступом 1050 OPEN "B:ITEM.DAT" FOR OUTPUT AS #l
1835 OPEN "ADDRESS.DAT" FOR APPEND AS #3
2320 OPEN "A:ITEM.DAT" FOR INPUT AS #2
1040 OPEN "ITEM.DAT" AS #l LEN=126
Оператор OPEN с конструкцией FOR OUTPUT создает новый дисковой файл с заданным именем. Если файл с таким именем уже есть, то средства Бэйсика ПВМ автоматически уничтожают его, создавая новый файл с тем же именем. Оператор OPEN-FOR APPEND обеспечивает поиск названного файла среди уже существующих, с тем чтобы добавить новые записи в его конец, но если требуемого файла найти не удается, то автоматически создается новый файл с заданным именем. Модификация оператора с конструкцией FOR INPUT реализует поиск файла данных с конкретным именем, отсутствие которого означает ошибку.
Можно открыть файл с последовательным доступом в режиме записи, используя один номер файла, и в режиме чтения, используя другой. Однако каждому номеру файла будет при этом соответствовать свой буфер, никак не связанный с другими. Поэтому для изменения режима доступа к файлу последний необходимо закрыть, а затем вновь открыть. Вместе с тем файлы, отличающиеся друг от друга режимами доступа, могут открываться одновременно.
2.5. Запись и чтение файлов с последовательным доступом.
Операторы PRINT# и PRINT# USING реализуют запись значений в дисковый файл, а операторы INPUT# или INPUT # LINE - считывание этих значений и присваивание их переменным.
Операторы PRINT# форматируют выходные данные совершенно одинаково независимо то того, какое устройство вывода используется, и всегда добавляют пробел после каждого числового значения. В случае нечисловых величин при наличии после оператора PRINT точки с запятой выдаваемые соседние значения записываются слитно, а при наличии запятой между ними вставляется дополнительный пробел. Дополнительные пробелы бесполезно расходуют пространство дисковой памяти, и поэтому предпочтительнее использовать точки с запятой.
Действие шаблонов оператора PRINT# USING одинаково при работе с дисковыми файлами, экраном дисплея и печатающим устройством. Однако следует весьма осторожно употреблять префиксы, обозначающие денежные единицы ($$,** и **$), так как они вызывают форматирование числовых величин как нечисловых. По этой причине числовые величины, снабженные в дисковом файле такими префиксами, не могут быть считаны оттуда в их исходном виде.
2.6. Разделение значении в файлах с последовательным доступом.
Для того чтобы оператором INPUT# правильно реализовывалось считывание значений из дискового файла, эти значения должны быть в файле отделены друг от друга, и, следовательно, операторы PRINT# и PRINT# USING при записи данных в дисковые файлы должны добавлять к записываемым значениям разделительные знаки. При отсутствии такого разграничения оператор INPUT# обрабатывает соседние значения как одно целостное.
Разделителем для строковых данных может быть запятая или символ возврата каретки. Те же самые знаки или пробелы служат для разграничения числовых величин. Существует несколько способов гарантированной расстановки разделителей между отдельными значениями. Один из самых простых состоит в том, чтобы присвоить значение "запятая" строковой переменной и записывать ее после каждого значения в операторе PRINT#.
Пример
5 D$= ","
20 PRINT#3, "Кремний" ;D$;14;D$;28.0855
Оператор INPUT# интерпретирует каждую встреченную запятую как признак конца значения. Единственным исключением из этого правила является запятая, заключенная в кавычки, внутри файла. Иначе говоря, строковая величина в дисковом файле, могущая содержать запятую, должна быть записана в кавычках;
оператор INPUT# обеспечивает устранение этих кавычек при считывании.
Сходная проблема возникает при использовании оператора PRINT# USING, когда запятая присутствует в шаблоне числовых величин. Одна числовая величина, записанная по такому шаблону, будет превращаться в несколько значений в дисковом файле.
Оператор LINE INPUT#, считывающий одиночное строковое значение, позволяет решить проблему запятой в шаблоне, поскольку в данном случае в качестве разделителей распознаются символы возврата каретки, а запятые представляют собой одно из строковых значений.
2.7. Распознавание конца файла.
Зафиксированная при выполнении операторов INPUT# или INPUT# LINE попытка продолжить считывание информации за последней записью файла приводит к возникновению ошибки. Во избежание этого программа должна каким-то образом распознавать, что последнее значение считано, и прекратить дальнейшее считывание. Проще всего это реализуется с помощью операторов WHILE или IF-THEN, содержащих функцию EOF (конец файла):
1850 IF NOT EOF(l) THEN 1700 ELSE CLOSE #2
Число в круглых скобках указывает номер файла. Функция EOF принимает значение "Ложь" (число 0) до тех пор, пока в файле остаются какие-то значения, но как только последнее значение считано, она приобретает значение "Истина" (число -1).
2.8. Использование файлов данных с последовательным доступом.
Последовательный доступ пригоден для большинства файлов данных, хотя для периодически обновляемых файлов он менее удобен, чем прямой доступ. Последовательный доступ лучше использовать там, где содержимое файлов не меняется или новые записи заносятся в них от случая к случаю.
Задача к контрольной работе.
Вариант 7.
Даны заголовок и шапка таблицы. Количество строк в таблице определяется студентом самостоятельно.
Звездочкой (*) помечены графы таблицы, по которым необходимо подвести итог.
Многоточие (..........) означает пропуски, в которые будут вводится конкретные исходные данные при выполнении программы на ЭВМ.
Расчетно - платежная ведомость
За .................. месяц 199.. года по фирме ...................
(тыс. руб.) № Фамилия И.О. Начислено Удержано К оплате поврем. премия аванс прочее 1 2 3 4 5 6 7 Итого * * * * *
Гл. бухгалтер ..........................
Решение начнем с составления блок - схемы
Блок 1 - начало программы
Блок 2 - ввод данных заголовка, Ф.И.О, главного бухгалтера и количества строк
Блок 3 - обнуление сумм по строке "Итого"
Блок 4 - открытие файла последовательного доступа для записи
Блок 5- вывод в файл заголовка и шапки таблицы
Блок 6 - начало цикла. Начальное значение I устанавливается равным 1, конечное N, шаг по умолчанию равен 1
Блок 7 - ввод исходных данных построчно
Блок 8 - расчет значения "к оплате" для строки, введенной последней
Блок 9 - вывод в файл заполненной строки таблицы
Блок 10 - расчет сумм по строке "Итого" накоплением
Блок 11- конец цикла. Процесс возвращается на блок 6
Блок 12 - вывод в файл строки "Итого" и подписи ответственного лица
Блок 13 - конец программы
Сама блок - схема изображена на рис. 1.

Рис. 1. Текст программы - файл TABLICA.DAT .
10 SCREEN 1,0:CLS
20 WIDTH 80
30 REM Ввод данных заголовка и подписи
40 INPUT "Введите месяц ",M
45 INPUT "Введите последнюю цифру года ", G
50 INPUT "Введите название фирмы ",NAMEF$
60 INPUT "Введите фамилию главного бухгалтера ",NAMEB$
70 REM Ввод количестваработников данной фирмы
80 INPUT "Сколько человек работает в фирме" K
90 REM Обнуление итоговых сумм
100 INPV=0:INPR=0:IYA=0:IYP=0:IKOP=0
110 REM Открытие файла TABLICA.DAT для записи
120 OPEN "D:TABLICA.DAT" FOR OUTPUT AS #1
130 REM Вывод в файл заголовка таблицы
140 PRINT #1 ,TAB(20);"Расчетно - платежная ведомость"
150 PRINT #1 ,TAB(15);"за";M;"месяц 1 9 9";G;"года по фирме ";NAMEF$
160 PRINT #1 ,TAB(55);"(тыс. руб.)"
170 REM Вывод в файл шапки таблицы
180 PRINT #1, 190 PRINT #1,"
200 PRINT#1, "
210 PRINT #1,"
220 PRINT #1,"
230 PRINT #1,"
240 PRINT #1," """""" № Фамилия И.О. Начислено Удержано К оплате поврем. премия аванс проч. 1 2 3 4 5 6 7 260 REM Ввод исходных данных по строкам таблицы
270 FOR I=1 TO K
280 PRINT"Введите фамилию";I;" - го работника ";
290 INPUT, N$
300 INPUT"Введите начисление повременное ",NPV
310 INPUT"Введите начисление премиальных ",NPR
320 INPUT"Введите удержание в виде аванса ",YA
330 INPUT"Введите прочее удержанное ",YP
340 KOP=(NPV+NPR)-(YA+YP)
350 REM Запись в файл введенной строки таблицы 255 PRINT #1," " 360 PRINT #1 ,USING" ## ####.## ####.## ####.## ####.## ####.## " 370 REM Расчет "итого" по пяти интересующим нас пунктам таблицы
380 INPV=INPV+NPV:INPR=INPR+NPR:IYA=IYA+YA:IYP=IYP+YP:IKOP=IKOP+KOP
390 NEXT I 400 PRINT #1," " 410 REM Запись в файл итоговых сумм
420 PRINT #1, USING" ####.## ####.## ####.## ####.## ####.## ";INPV,INPR,IYA,IYP,IKOP
430 REM Вывод в файл Ф.И.О. главного бухгалтера
440 PRINT #1,TAB(5);"Главный бухгалтер";TAB(30);NAMEB$
450 REM Закрытие файла записи
460 CLOSE #1
470 END
Пример результата выполнения программы - файл TABLICA.DAT.
Расчётно-платёжная ведомость
за 5 месяц 1995 года по фирме ФОТОН
(тыс.руб.)

Фамилия И.О. Начислено Удержано К оплате поврем. премия аванс проч. 1 2 3 4 5 6 7 1 Астахов А.Ф. 560.00 300.00 300.00 13.00 547.00 2 Сантов С.К. 700.00 400.00 500.00 145.00 455.00 3 Фадеев Г.П. 1000.00 250.00 300.00 10.00 940.00 4 Ховров С.Л. 500.00 120.00 300.00 25.00 290.00 5 Сидоров А.А. 870.00 360.00 320.00 0.00 910.00 ИТОГО 3630.00 1430.00 1720.00 193.00 3147.00 Главный бухгалтер Иванов О.Д.
ЛИТЕРАТУРА
Информатика. Учебник для вузов. Под ред. Н.В. Макаровой, - М.:Финансы и статистика, 1997.
Информатика. Практикум по технологии работы на компьютере. Под ред. проф. Н.В. Макаровой, - М.: Финансы и статистика, 1997.
Экономическая информатика. Учебник для вузов. Под ред. д.э.н., проф. В.В. Евдокимова. - СПб: Питер Паблишинг, 1997.


* Указанные номера строк, номера файлов и длина записи являются произвольными и взяты только для иллюстрации. 1 22

Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками, графиками, приложениями и т.д., достаточно просто её СКАЧАТЬ.



Мы выполняем любые темы
экономические
гуманитарные
юридические
технические
Закажите сейчас
Лучшие работы
 Работа психолога-консультанта с родительско-юношескими конфликтами
 Одаренность
Ваши отзывы
Обе работы получила, спасибо за скорость :)
Оксана

Copyright © refbank.ru 2005-2024
Все права на представленные на сайте материалы принадлежат refbank.ru.
Перепечатка, копирование материалов без разрешения администрации сайта запрещено.