Замечание: если файл открыт на чтение, то записать в него ничего не получится, и наоборот. В противном случае будет выдано сообщение об ошибке.
Чтобы сместиться на определенную позицию в файле, используется процедура Seek(<Файл>, <Позиция>): Seek(F, 500); Если <Позиция> будет больше, чем размер файла, то будет выдано сообщение об ошибке. Чтобы определить размер файла в байтах, необходимо применить процедуру FileSize(<Имя Файла>): k:=FileSize(F); {где k – целочисленная переменная} Для завершения работы с файлом и его закрытия используют процедуру Close(<Имя Файла>): Close(F); Для того, чтобы прочитать целиком весь файл, используют цикл While с условием: While not eof(F) do begin … {операции чтения} … end Функция eof(<Имя Файла>) – логического (булевого) типа. Она принимает ложное значение (FALSE), когда не достигнут конец файла, и истинное (TRUE), когда указатель чтения дошел до конца файла.
*Строковый режим В разделе описания переменных var описываем файл и переменную типа string: Var F: Text; s: string; … Для связи файловой переменной F и реального файла на диске используется процедура Assign(<Файл>, <‘Имя Файла’>): Assign(F, ’input.txt’); Для открытия файла на чтение используют процедуру Reset(<Файл>). Необходимо, чтобы файл с таким именем существовал на диске, иначе будет ошибка. Reset(F); Для открытия файла на запись используют процедуру Rewrite(<Файл>). Наличие файла на диске необязательно, однако, если такой файл существует на диске, то его содержимое обнуляется. Rewrite(F); Для того, чтобы считать одну строку из файла, применяют процедуру Readln(<Файл>, <Строка>): Readln(F,s); Для того, чтобы записат ь одну строку в файл, применяют процедуру Writeln(<Файл>, <Строка>): Writeln(F,s);
Замечание: если файл открыт на чтение, то записать в него ничего не получится, и наоборот. В противном случае будет выдано сообщение об ошибке.
Для завершения работы с файлом и его закрытия используют процедуру Close(<Имя Файла>): Close(F); Для того, чтобы прочитать целиком весь файл, используют цикл While с условием: While not eof(F) do begin … {операции чтения} … End Различные системы счисления.
В настоящем пособии будут рассмотрены три системы счисления (десятичная, двоичная и шестнадцатеричная), а также описаны методы перевода из одной системы счисления (СС) в другую. *Десятичная
Это всем привычная и известная система счисления. Она задается десятью цифрами: от нуля до девяти. Обозначение 25510 говорит о том, что это число 255 в десятичной СС. *Двоичная
Задается двумя цифрами: нулем и единицей. Обозначение 101012 говорит о том, что это число 10101 в двоичной СС.
*Шестнадцатеричная
Это всем привычная и известная система счисления. Она задается шестнадцатью цифрами и цифрами-буквами: от нуля до F. Обозначение AA16 говорит о том, что это число AA в шестнадцатеричной СС. Кроме обозначения AA16 существуют также обозначения AAh или $AA, что является одним и тем же. Ниже в таблице сопоставлены три системы счисления:
*Перевод из десятичной в другие системы счисления Перевод осуществляется с помощью деления столбиком.
1) Сперва берется исходное число в десятичной СС 2) Это число делится на основание новой СС (например, 2), результат записывается в переменную T 3) Фиксируется остаток от деления O1 Делим получившееся число T на основание новой СС до тех пор, пока T не станет меньше делителя. Фиксируем остатки Oi 4) В конце сносим вниз T и выписываем следующую последовательность: TONON-1…O1
Пример: 1510 11112
Получившее число и будет числом в новой СС.
*Перевод из двоичной в десятичную СС
Для перевода из двоичной в десятичную СС выписываем двоичное число и двигаемся по его цифрам справа налево. Сперва самую правую цифру (1 или 0) умножаем на 20, результат прибавляем к общей сумме, которая по началу равна нулю. Затем вторую цифру умножаем на 21 и прибавляем к сумме, потом третью цифру умножаем на 22 и прибавляем, и т.д. Пример: 1010112 = 1*20+1*21+0*22+1*23+0*24+1*25 = 1+2+8+32 = 4310 Примечание: перевод из шестнадцатеричной СС в десятичную отличается от перевода из двоичной в десятичную СС только тем, что умножать нужно не на двойку в какой-то степени, а на шестнадцать в соответствующих степенях.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|