Информатика Ответы на вопросы 3
Вид материала | Документы |
12 Имена и доступ к файлам в Turbo Pascal`е 13 Операторы ввода' вывода в Turbo Pascal`е |
- Ответы на вопросы, 90.99kb.
- Дополнение к Приложению к Сказке. Ответы на вопросы, 274.58kb.
- Масюченко Светлана Дмитриевна Ответы на вопросы Интернет конкурс, 43.06kb.
- Ответы на экзаменационные вопросы по истории России 11 класс, 4049.18kb.
- Крайон. Действовать или ждать? Вопросы и ответы, 13038.17kb.
- План урока Организационный момент. Объяснение нового материала. Лекция. Тест и ответы, 67.88kb.
- Тесты Вопросы и задания для самопроверки Ответы на тесты Ответы и задания для самопроверки, 429.4kb.
- Елина Елена Валентиновна, гбоу нпо «Профессиональный лицей №12» Элементы проникающей, 62.09kb.
- Задание объектом нашего исследования являются современные системы безопасности: охранная, 300.74kb.
- Экзаменационные вопросы. Учкекен 2005 Составитель к э. н. Кумыкова А. М. Настоящее, 1733.51kb.
12 Имена и доступ к файлам в Turbo Pascal`е
Файл - это порция произвольной информации (программа, текст, данные, закодированная картинка), записываемой на магнитный диск под индивидуальным именем.(поименованная область диска *МГКИТ- Светлана Валерьевна*)
Имя каждого файла хранится в каталоге диска (в оглавлении диска). Полное имя файла состоит из 2-х частей: основного имени и расширения. Расширение отделяется от основного имени точкой:
Основное имя.Расширение
например, "myfile.txt"
Основное имя может состоять не более чем из 8-ми символов и произвольно выбирается так, чтобы один файл можно было отличить от других и получить представление, о его содержимом. Расширение может состоять не более чем из 3-х символов, оно указывает на тип информации, хранимой в файле. Расширение использовать не обязательно. Если расширение используется, то лучше давать ему общепринятое название:
.ASM - в файле хранится текст программы, написанной на Ассемблере;
.BAS - текст программы на Бэйсике;
.PAS - текст программы на Паскале;
.C - текст программы на языке "Си".
.TXT, .DOC - текстовые файлы произвольной тематики;
.DAT - файл данных (исходные данные для программы, либо результаты расчета);
.BAK - резервная копия файла, старая версия модифицированного файла (если файл записывается на диск, на котором уже хранится записанный ранее одноименный файл, то старая версия файла не стирается, вместо этого в ее имени расширение автоматически меняется на ".bak");
.BAT - пакетный файл - программа, состоящая из команд DOS;
.EXE, .COM - файлы, содержащие программы, представленные в машинных кодах (результат трансляции программ, написанных на алгоритмических языках).
В основном имени файла и в расширении допускается использовать латинские буквы, цифры и некоторые символы - тире, подчеркивание, скобки, русские буквы и пробелы. Нет различия между строчными и прописными буквами.
В каталог диска кроме имен файлов могут также входить другие каталоги (подкаталоги первого уровня), которые в свою очередь могут включать в себя как файлы, так и каталоги (подкаталоги 2-го уровня). Таким образом формируется "древовидная" структура каталогов, имеющая на самом верхнем уровне единственный главный каталог (корневой каталог), к которому сходятся многочисленные ветви подкаталогов. Каталогам, как и файлам, даются имена (корневой каталог остается безымянным). Требования к именам каталогов предъявляются те же, что и к именам файлов, но расширение обычно не используется.
Доступ к файлам
Любой программе доступны два предварительно объявленных файла со стандартными файловыми переменными: INPUT - для чтения данных с клавиатуры и OUTPUT - для вывода на экран. Стандартный Паскаль требует обязательного упоминания этих файлов в заголовке программы, например, так:
PROGRAM NameOfProgram(input,output) ;
В Турбо Паскале это необязательно, вот почему заголовок программы можно опускать.
Любые другие файлы, а также логические устройства становятся доступны программе только после выполнения особой процедуры открытия файла (логического устройства). Эта процедура заключается в связывании ранее объявленной файловой переменной с именем существующего или вновь создаваемого файла, а также в указании направления обмена информацией: чтение из файла или запись в него. Обычно доступ к файлам организуется последовательно, то есть, когда элемент считывается с помощью стандартной процедуры Read или записывается с помощью стандартной процедуры Write, текущая позиция файла перемещается к следующему по порядку элементу файла. Однако к типизованным и нетипизованным файлам можно организовать прямой доступ с помощью стандартной процедуры Sееk, которая перемещает текущую позицию файла к заданному элементу. Для определения текущей позиции в файле и текущего размера файла можно использовать стандартные функции FileРоs и Filesize.
Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре ASSIGN:
ASSIGN (<ф.п.>, <имя файла или л.у.>); .
Здесь <ф.п.> - файловая переменная (правильный идентификатор, объявленный впрограмме как переменная файлового типа);
<имя файла или л.у.> - текстовое выражение, содержащее имя файла илилогическое устройство.
Если имя файла задается в виде пустой строки, например, ASSIGN(f, ' '), то в зависимости от направления обмена данными файловая переменная связывается со стандартным файлом INPUT или OUTPUT.
13 Операторы ввода' вывода в Turbo Pascal`е
Ввод данных
Для ввода исходных данных чаще всего используется процедура ReadLn:
ReadLn(A1,A2,...AK);
Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо.
Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter. Не допускается разделение вводимых чисел запятыми!
Вывод данных
Для вывода результатов работы программы на экран используются процедуры:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.
Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Пример записи операторов вывода:
var rA, rB: Real;
iP,iQ:Integer;
bR, bS: Boolean;
chT, chV, chU, chW: Char;
begin
. . .
WriteLn(rA, rB:10:2);
WriteLn(iP, iQ:8);
WriteLn(bR, bS:8);
WriteLn(chT, chV, chU, chW);
end.