Практическое задание N 1. 26
1. В первой программе рассчитать значения функции Y=sin(x) при изменении "х" с шагом 0. 01 в диапазоне от 0 до 3. Записать в файл F1. txt значения "х" и "y". Во второй программе считать из файла F1. txt значения "х" и "y", рассчитать значения функций Z1=y2, Z2=y3 и добавить значения Z1, Z2 в конец файла F1. txt.
2. Выполнить пункт 1 для функции Y=ex .
3. Записать в файл F1. d массив отрицательных целых чисел "A" по убыванию, а в файл F2. d массив положительных целых чисел "A" по возрастанию. Массив "A" из 25 целых чисел задается в диапазоне от -10 до +10 функцией Random.
4. Записать в файл F1. d массив четных целых чисел "A" по убыванию, а в файл F2. d массив нечетных целых чисел "A" по возрастанию. Массив "A" из 30 целых чисел задается в диапазоне от 0 до 20 функцией Random.
Примечание к п. п. 3, 4: одинаковые числа должны располагаться в одной строке.
5. Записать в конец файла F1. t список из фамилий (в алфавитном порядке) с оценками по пяти предметам. Список фамилий (в произвольном порядке) с оценками считывается из файла F1. t, предварительно набранного в редакторе текста.
6. Зашифровать текст, считанный из файла F1. t, предварительно набранного в редакторе текста и записать в конец файла F1. t. Во второй программе дешифровать текст и добавить в конец файла F1.t. Алгоритм шифровки разработать самостоятельно.
В Турбо-Паскале имеется возможность программной установки атрибутов файла. Атрибуты устанавливаются для закрытых файлов после связи файловой переменной с именем файла на диске.
Узнать исходный атрибут файла можно процедурой GetFattr(f, af);
Установить атрибут файла можно процедурой SetFattr(f, af);
Здесьf- имя файловой переменной,
af - имя переменной исходного, либо устанавливаемого атрибута (тип Word).
Стандартные атрибуты файла (обозначим "ads") заданы в модуле DOS константами:
Значение константы "ads"
Наименование Константа "ads" Двоичное Шестнадцатиричное
Только для чтенияReadOnly 0000 0001 $01
Скрытый файл Hidden0000 0010 $02
Системный файл System0000 0100 $04
Архивный файл Archiv0010 0000 $20
При "добавлении" стандартных атрибутов файла "ads" необходимо учитывать исходный атрибут "af". Например, если файл имеет исходный атрибут ReadOnly, то выражение af:= af + ReadOnly эквивалентно записи af:= $01+$01; т. е. атрибут файла станет Hidden ($02).
Следовательно процедуры GetFattr(f,af); и SetFattr(f,af+ReadOnly);в данном случае уберут атрибут ReadOnly и установят атрибут Hidden. Таким образом, арифметические операции сложения, вычитания атрибутов можно проводить, только зная исходный атрибут файла.
Использование правил логических операций над битами позволяет анализировать и изменять атрибуты файлов.
Напомним эти правила:
Выводы:
бит "A" операция бит "B" результат
1. Результат операции "A and B"
1 and 1 1равен значению бита "В",
1 and 0 0кроме случая "добавления" к
0 and 0 0нулевому биту единичного.
And 1 0
2. Результат операции "A or B"
1 or 0 1равен значению бита "A",
0 or 0 0кроме случая "добавления" к
0 or 1 1нулевому биту единичного.
Or 1 1
Здесь важно проследить результат "добавления" битов к исходным, поскольку стан
дартный атрибут "ads" имеет только один единичный бит в соответствующей позиции.
Таким образом, условие (af and ads) = ads верно, если "af" и "ads" содержат единичные биты в соответствующей позиции.
Следовательно, операторы для снятия стандартного атрибута из исходного могут иметь вид:
GetFattr(f,af); If (af and ads) = ads then SetFattr(f,af-ads);
В обратном случае можно "добавить" к исходному атрибуту "af" стандартный "ads". "Добавить" стандартный атрибутможно без проверки исходного атрибута, используя операцию "or". Например:
GetFattr(f,af); SetFattr(f, af or ads);
В данном случае "добавление" единичного бита однозначно изменяет исходный атрибут файла.
Дата добавления: 2016-06-29; просмотров: 1613;