Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Боровков А.С. Методичка.doc
Скачиваний:
6
Добавлен:
09.06.2015
Размер:
210.43 Кб
Скачать

Замечание: если файл открыт на чтение, то записать в него ничего не получится, и наоборот. В противном случае будет выдано сообщение об ошибке.

Чтобы сместиться на определенную позицию в файле, используется процедура 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, что является одним и тем же. Ниже в таблице сопоставлены три системы счисления:

Десятичная

Двоичная

Шестнадцатеричная

0

0

0

1

1

1

2

10

2

3

11

3

4

100

4

5

101

5

6

110

6

7

111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

*Перевод из десятичной в другие системы счисления

Перевод осуществляется с помощью деления столбиком.

  1. Сперва берется исходное число в десятичной СС

  2. Это число делится на основание новой СС (например, 2), результат записывается в переменную T

  3. Фиксируется остаток от деления O1

Делим получившееся число T на основание новой СС до тех пор, пока T не станет меньше делителя. Фиксируем остатки Oi

  1. В конце сносим вниз 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

Примечание: перевод из шестнадцатеричной СС в десятичную отличается от перевода из двоичной в десятичную СС только тем, что умножать нужно не на двойку в какой-то степени, а на шестнадцать в соответствующих степенях.

Работа с файловым менеджером FAR Manager.

Файловый менеджер FAR запускается из командной строки (ПускВыполнитьfar), либо с ярлыка, например, на рабочем столе. После запуска программы открывается примерно следующее окно:

Окно состоит из двух панелей: левой и правой, в каждой из которых отражено содержимое дисков. Текущий диск показан сверху на подписи к панели. Чтобы сменить диск в левой панели, необходимо нажать ALT+F1, чтобы сменить диск на правой панели, необходимо нажать ALT+F2.

Перемещаться по файлам и каталогам можно с помощью стрелок на клавиатуре. Чтобы подняться на каталог выше, необходимо установить указатель на самую верхнюю строку (..) и нажать ENTER. Чтобы зайти в выбранную папку или открыть файл, необходимо нажать ENTER, установив указатель на нужный объект.

Чтобы просмотреть содержимое какого-либо файла, необходимо установить указатель на этот файл и нажать F3. Откроется окно примерно следующего содержания:

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

Можно заметить, что окно теперь состоит из 4 столбцов. Рассмотрим левый столбец. В этом столбце отображены номера байт, из которых состоит файл. Самый первый номер байта будет 0000000000, затем идет байт номер 0000000001, затем – 0000000002 и т.д. Самым последним номером в первой строке будет номер 000000000F. После этого нумерация переносится на вторую строку и т.д. Следующим номером после 000000000F будет номер 0000000010. Все номера представлены в шестнадцатеричной СС. Получается, что если нам нужен байт с номером 00000000AC, мы должны перейти на строку с номером 00000000A0 и двигаться вправо по этой строке, проходя номера 0, 1, 2, 3, ….., A, B, C. На пересечении строки 00000000A0 и столбца C и будет искомый байт.

Номера байтов представлены в столбцах 2 и 3 (что в центре экрана), эти номера находятся в диапазоне от 00 до FF в шестнадцатеричной СС, что соответствует диапазону от 0 до 255 в десятичной СС.

В четвертом (правом) столбце отображены символы, которые соответствуют тем или иным байтам. Например, рассмотрим первые 4 байта: 4D 5A 90 00. Они имеют адреса: 0000000000h, 0000000001h, 000000002h и 0000000003h и представимы символами «MZ_ ».

Для перемещения по файлу используйте клавиши стрелок клавиатуры, а также клавишы Page Down, Page Up, End и Home.