Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

 

Десятичная Двоичная Шестнадцатеричная
     
     
     
     
     
     
     
     
     
     
    A
    B
    C
    D
    E
    F

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

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

 

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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...