ВВЕДЕНИЕ Основным носителем информации

advertisement
3
ВВЕДЕНИЕ
Основным
носителем
информации
является
файл.
Файлы
организованы в системе не хаотическим образом, а виде определенной
структуры, получившей название файловой системы.
Файл – обладает признаками:
1. фиксированное имя (последовательность символов однозначно
характеризующее файл)
2. определенное логическое представление и соответствующие ему
операции чтения/записи
В зависимости от файловой системы, файл может обладать различным
набором свойств:
1. Имя файла: ограниченно 255 символами
2. Расширение имени файла - последовательность символов, добавляемых
к имени файла и предназначенных для идентификации типа (формата)
файла. Расширение обычно отделяется от основной части имени файла
точкой, например .doc, .rar. В ранних операционных системах длина
расширения была ограничена тремя символами, в современных
операционных системах это ограничение отсутствует. Иногда могут
использоваться несколько расширений, следующих друг за другом,
например, «.tar.gz».
3. Атрибуты
Например: атрибут READ ONLY говорит о том, что файл предназначен
только для чтения, записывать в файл запрещено, Атрибут SYSTEM , что
значит, системный, критический для работы операционной системы файл,
атрибут HIDDEN скрытый файл скрывается от показа, пока явно не сказано
обратное, ARCHIVE - архивный (требующий архивации) файл изменён после
резервного копирования или не был скопирован программами резервного
копирования.
4
4. Время - Для файла могут быть определены следующие временные
метки:
- Время создания
- Время модификации
- Время последнего доступа
5. Владелец и группа файла
Лабораторная работа №1.
РАБОТА С ФАЙЛАМИ В DELPHI.
Цель работы
Изучение способов обмена информацией, поиск данных в файлах,
стандартных процедур и функций, предназначенных для работы с файловой
системой.
Постановка задачи
1. Написать программу в среде Delphi, выполняющую расчет функции
Y(X) . Полученные значения Х и Y записать в текстовый файл.
Содержание отчета
Отчет по лабораторной работе должен содержать номер, название, цель
лабораторной работы, задание на лабораторную работу, текст программы на
языке Delphi, распечатки формы в активном состоянии с результатами
выполнения лабораторной работы.
Краткие теоретические сведения
Для упрощения и прозрачности доступа к файлам в файловой системе
выделяются такие логические понятия, как каталог (папка, Folder,
директория) и диск. Для работы с файлами, каталогами и дисками
необходимо наличие в разделе uses модулей System и SysUtils .
Большинство функций, описанных в модулях System и SysUtils,
являются логическими. По значению, которое они возвращают, определяется
успешность выполнения операции. Если значение равно true, то считается,
что операция прошла успешно.
5
Для обращения к дисковым накопителям используются буквы
латинского алфавита (A..Z). Логический диск представляет собой
именованную область дискового пространства, которая обладает
следующими параметрами:
 имя, по которому к нему можно обратиться;
 полный объем;
 объем свободного пространства.
Для доступа к текстовым файлам используется переменная типа
TextFile. Чтобы ассоциировать файл на диске с переменной надо проделать
следующие операции:
1) Определить файловую переменную:
var f:TextFile;
2) Ассоциировать ее:
AssignFile(F, 'c:\MyFile.txt');
3) Теперь надо этот файл открыть, есть 3 варианта:
- файла нет или он должен быть перезаписан, открытие для записи:
Rewrite(f)
- файл есть и его надо открыть для чтения (с первой строки)
Reset(f)
- файл есть и его надо открыть для дописывания строк в конец
Append(f). (Процедура Append предназначена для открытия текстового
файла и добавления записей в файл (запись добавляется в конец файла))
Возможно следующие действия с файлом:
- Перезаписать весь файл
- Читать с первой строки
- Дописать что-то в конец
- Читать и писать файл целиком.
Рассмотрим пример: пусть у нас есть строковая переменная s для
чтения строки из файла.
6
Чтение предварительно открытого файла:
ReadLn(f, s) - будет прочитана текущая строка, и позиция чтения
переведена на следующую позицию.
Для того, что бы прочитать весь файл необходимо считывать
построчно все содержимое файла до тех пор, пора он не закончиться:
While not eof(f) do
begin
ReadLn(f, s);
{здесь делаем что-то с прочитанной строкой}
end;
Для записи целой строки существует функция:
Writeln(f,s);
Запись части строки (те следующая операция записи будет произведена
в ту же строку) производиться с помощью функции:
Write(f,s);
Если переменная s содержит больше 255 символов (т.е. является
длинной строкой), то в файл вместо строки попадут 4 байта указателя на нее.
Поэтому необходимо использовать тип pointer, который определяет общее
использование указателя на любые данные, основанные на памяти. Таким
образом, функция записи для длинной строки выглядит следующим образом:
Writeln(f,pointer(s)^).
Различают типизированные и нетипизированные файлы.
Типизированный файл - это файл, в котором записаны идентичные
структуры. Например, любой файл можно считать файлом байтов, т.е. можно
его читать байт за байтом, можно перейти сразу к любому байту по его
номеру, можно сразу узнать, сколько байт в файле, можно заменить любой
байт на другой, не перезаписывая файл.
Объявляем файл байтов:
var f:file of byte;
b:Byte;
//Ассоциируем файловую переменную с физическим файлом:
AssignFile(f,'c:\myfile.bin');
//Теперь мы можем либо перезаписать/создать файл:
Rewrite(f);
//Либо открыть существующий для чтения и записи:
7
Reset(f);
//Обратите внимание, что функция Reset хотя и имеет такой же
формат, как и для текстовых файлов, но открытый ей файл можно и
читать и писать, в отличие от текстовых.
Теперь рассмотрим функции работы с файлом:
read(f,b); - прочитать 1 байт
write(f,b); - записать 1 байт
seek(f,100); - поставить текущее положение считывания/записи на
сотый байт
Size(f); - прочитать количество байт в файле.
Eof(f); - узнать не являетсмя ли байт последним
Все эти функции не работают с файлами большими 2 Gb.
После работы файл надо закрыть:
CloseFile(f);
Приведенные выше механизмы будут работать с любым файлом, так
как любой файл можно считать файлом байтов.
Нетипизированный файл - это такой файл, который содержит
разнородные элементы. Например, файл .EXE - вначале он имеет заголовок,
затем двоичный код, в конце какие-то ресурсы. Все части файла имеют
разную длину и разную структуру. Работа с такими файлами достаточно
сложна и требует вручную разработки алгоритмов его чтения, но в связи
гибкостью структуры и компактностью такие файлы составляют
большинство.
Для работы с нетипизированными файлами используют процедуры
BlockRead и BlockWrite.
Процедура BlockWrite используется для записи RecordCount записей
данных из Buffer в нетипизированный двоичный файл.
Процедура BlockRead используется для чтения RecordCount записей
данных в Buffer из нетипизированного двоичного файла, данного FileHandle.
Пример: провести чтение данных от двоичного файла по одному байту
за один раз.
var
myFile : File;
byteArray : array[1..8] of byte;
oneByte : byte;
i, count : Integer;
begin
// Попытка открыть файл Test.byt для записи
AssignFile(myFile, 'Test.byt');
ReWrite(myFile, 4); // Определение отдельной 'записи' как 4 байта
8
// Заполнение массив данными
for i := 1 to 8 do
byteArray[i] := i;
// Запись данных массива в файл
BlockWrite(myFile, byteArray, 2); // Запись 2 'записи' из 4 байт
//Закрытие файла
CloseFile(myFile);
// Повторное открытие файла для чтения
FileMode := fmOpenRead;
Reset(myFile, 1); // Теперь мы определяем одну запись как 1 байт
// Показ содержимого файла
// Чтение первых 6 байт. 'count' установлен в
// текущий считанный номер
ShowMessage('Чтение первого набора байтов :');
BlockRead(myFile, byteArray, 6, count);
// Показ считанных значений байта
for i := 1 to count do
ShowMessage(IntToStr(byteArray[i]));
// Теперь читаем один байт за один раз и так до конца файла
ShowMessage('Чтение остающихся байтов :');
while not Eof(myFile) do
begin
BlockRead(myFile, oneByte, 1); // Чтение одного байта за один раз
ShowMessage(IntToStr(oneByte));
end;
// Закрытие файла в последний раз
CloseFile(myFile);
end;
Так же для работы с нетипизированными файлами используются
следующие функции:
Erase(f) - удаляет файл
FilePos(f) - возвращает текущую позицию чтения/записи в файл
Flush(f) - сбрасывает кэшированные файловые операции на диск
Rename(f, 'MyNewFileName.txt') - переименование файлов
Truncate(f) - файл обрезается до текущей позиции чтения/записи.
Delphi предоставляет довольно широкие возможности по файловым
операциям без использования механизмов открытия/закрытия файлов.
Наиболее употребимые функции, большинство из которых в качестве
параметров нуждаются только в имени файла:
9
ChDir(NewCurrentPath: string); - изменяет текущий каталог; прочитать
же текущий каталог можно функцией GetCurrentDir, а текущий каталог для
определенного драйва - GetDir.
CreateDir(const Dir: string): Boolean; - создает каталог, при этом
предыдущий уровень должен присутствовать.
Если вы хотите сразу создать всю вложенность каталогов, используйте
функцию ForceDirectories(Dir: string): Boolean; Обе функции возвращают
True, если каталог создан.
DiskFree(Drive: Byte): Int64; - дает свободное место на диске. Параметр
- номер диска 0 = текущий, 1 = A, 2 = B, и так далее
DiskSize(Drive: Byte): Int64; - размер жесткого диска.
Обратите внимание на то, что для результата этой и предыдущей
функций абсолютно необходимо использовать переменную типа Int64, иначе
максимум того, что вы сможете прочитать правильно, будет ограничен 2Gb.
FileExists(const FileName: string) - применяется для проверки наличия
файла
FileGetAttr(const FileName: string): Integer;
FileSetAttr(const FileName: string; Attr: Integer): Integer; - функции для
работы с атрибутами файлов, где FileName – имя файла, Attr- атрибуты.
Список возможных атрибутов:
faReadOnly
$00000001
Read-only files
faHidden
$00000002
Hidden files
faSysFile
$00000004
System files
faVolumeID
$00000008
Volume ID files
faDirectory
$00000010
Directory files
faArchive
$00000020
Archive files
faAnyFile
$0000003F
Any file
(Естественно не все атрибуты применимы во всех случаях)
RemoveDir(const Dir: string): Boolean; - удаляет папку(пустую)
DeleteFile(const FileName: string): Boolean; - удаляет файл
RenameFile(const OldName, NewName: string) - переименовывает файл.
10
Функция IOResult возвращает результат последней операции
ввода/вывода. Если операция завершилась нормально, то это число 0,
положительное число - если операция потерпела неудачу.
Функция IOResult используется после отключения функции проверки
ошибок:{$IOChecks off}. Когда $IOChecks включено, Delphi выдает
исключения для ошибок. Когда выключено, Delphi не выдает исключения,
требуя, чтобы код сам следил за результатом ввода/вывода IOResult.
Рассмотрим пример: создать каталог дважды с перехватом кода
ошибки.
var
error : Integer;
begin
// Попытка создать новый подкаталог в текущей директории
// Выключение проверки ошибок I/O
{$IOChecks off}
MkDir('TempDirectory');
// Каталог создался успешно?
error := IOResult;
if error = 0
then ShowMessage('Каталог создался успешно')
else ShowMessageFmt('Создание каталога провалилось с
ошибкой %d',[error]);
// Попытка снова создать каталог - она провалится!
MkDir('TempDirectory');
error := IOResult; // Сохраняем возвращаемый код
if error = 0
then ShowMessage('Каталог снова создался успешно')
else ShowMessageFmt('Повторное создание каталога провалилось с
ошибкой %d',[error]);
// Удаление каталога для очистки
RmDir('TempDirectory');
// Включение проверки ошибок I/O
{$IOChecks on}
end;
11
Лабораторная работа №2.
ИМПОРТИРОВАНИЕ ТЕКСТОВЫХ ФАЙЛОВ В EXCEL.
Цель работы
Научиться импортировать текстовые файлы в среду Excel для
последующей обработки данных.
Постановка задачи
Импортировать с диска в Excel текстовый файл, созданный в
Лабораторной работе 1. Результаты представить: 1) в виде таблицы, 2) в виде
графика.
Содержание отчета
Отчет по лабораторной работе должен содержать номер, название, цель
лабораторной работы, задание на лабораторную работу, распечатки
результатов выполнения лабораторной работы.
Краткие теоретические сведения
В Excel можно импортировать данные, полученные либо в результате
эксперимента, либо при расчётах на языках программирования. Содержание
файла должно представлять собой столбцы чисел, разделённые между собой
либо пробелами, либо запятыми, либо символами табуляции. Для внедрения
тестового файла в Excel нужно выполнить следующие действия:
Шаг 1. Из меню Данные выберите Внешние данные и затем Импорт
текстового файла, укажите желаемый файл. В появившемся диалоговом
окне (Рис. 1) укажите формат данных С разделителями и нажмите Далее.
Шаг 2. Выберите из предлагаемых символов-разделителей (Рис.2)
Пробел и нажмите Далее.
Шаг 3. В каждом столбце (Рис.3) установите Формат данных столбца
– Текстовый и нажмите Готово.
Шаг 4. Выберите, куда нужно поместить данные – На имеющийся
лист с указанием адреса левой верхней ячейки, либо На новый лист. (Рис. 4)
Шаг 5. Выделите появившиеся столбцы чисел и замените десятичную
точку на запятую (Рис. 5).
12
Теперь можно приступать к действиям с полученными данными
стандартными средствами Excel
Рис.1
Рис. 2
13
Рис.3
Рис.4
Рис. 5
14
Лабораторная работа №3.
РАБОТА С ТЕКСТОВЫМИ (ASCII) ФАЙЛАМИ В ПАКЕТЕ MATHCAD
Цель работы
1. научиться импортировать текстовые файлы в среду MathCad для
последующей обработки данных.
2. научиться записывать результаты расчетов, произведенных в среде
MathCad, в текстовый файл.
Постановка задачи
1. Импортировать с диска в MathCad текстовый файл, созданный в
Лабораторной работе 1. Результаты представить: 1) в виде таблицы, 2)
в виде графика.
2. Рассчитать значения функций (см. приложение 1) (матричным
способом) в диапазоне изменения аргумента и с шагом, задаваемым
преподавателем. Результаты расчета записать в текстовый файл на
жестком диске. Ширина столбцов и количество десятичных знаков в
файле устанавливается по указанию преподавателя.
Содержание отчета
Отчет по выполненной лабораторной работе или практическому
занятию должен содержать:
1. Фамилию и инициалы студента.
2. Номер учебной группы.
3. Дату выполнения работы.
4. Название работы и формулировку задания..
5. Распечатку созданного документа.
Отчет о выполненной работе должен быть представлен индивидуально
каждым студентом перед выполнением следующей лабораторной работы или
практического занятия.
Краткие теоретические сведения
MathCad можно использовать для обработки данных, сохранённых в
виде файла. Это могут быть текстовые файлы, файлы изображений и
звуковые файлы. Список основных функций для работы с файлами приведен
в Приложении2. У всех перечисленных функций в качестве аргумента
служит полное имя файла (с указанием диска и пути), заключенное в
15
двойные кавычки. Если диск и путь не указаны, то работа с файлом
производится из текущей директории.
Замечание. Ни в имени файла, ни в названиях промежуточных директорий
не должно содержаться русских букв.
В MathCad можно импортировать данные, полученные либо в
результате эксперимента, либо при расчётах на языках программирования.
Содержание файла должно представлять собой столбцы чисел, разделённые
между собой либо пробелами, либо запятыми, либо символами табуляции. В
качестве десятичного разделителя обязательно должна использоваться точка.
Числа со степенью должны быть записаны в инженерном формате
(например, 1.657Е-02).
Для считывания данных из текстового файла используется функция
READPRN(“filename”), значение которой надо присвоить матрице. При
помощи этой функции можно импортировать данные не только из файлов с
расширением prn, но и из файлов любых других форматов, использующих
кодировку ASCII: dat, txt и др. Файл может даже вообще не иметь
расширения.
Замечание. Если считываемый файл имеет расширение, то его указывать
обязательно.
Пример: Импортирование текстового файла res5.dat с диска:
Рис. 6
16
M  READPRN "G:\res5.dat" 
0
1
2
3
0
0
0.651 -0.224 -0.126
1
0.01
0.651 -0.224 -0.126
2
0.02
0.651 -0.224 -0.126
M 3
0.03
0.651 -0.224 -0.126
4
0.04
0.651 -0.224 -0.126
5
0.05
0.651 -0.224 -0.126
6
0.06
0.651 -0.224 -0.126
7
0.07
0.651 -0.224 -0.126
Для записи данных в текстовый файл используется функция
WRITEPRN(“filename”), которой надо присвоить значение матрицы. При
помощи этой функции можно записывать данные не только в файлы с
расширением prn, но и в файлы любых других форматов, использующих
кодировку ASCII: dat, txt и др. Файл может даже вообще не иметь
расширения.
Замечание. Если при записи не указать расширение, то на диске будет создан
файл с расширением prn.
По умолчанию в экспортированных данных будет 4 десятичных знака,
а ширина столбцов будет равна 8 символам. Для увеличения точности надо
изменить системную переменную PRNPRECISION либо в диалоговом окне
Math – Options – Built-in Variables (см. Рис. 7), либо непосредственно в
документе MathCad. Наибольшее значение величины PRNPRECISION равно
16.
Рис. 7
За ширину столбцов отвечает системная переменная PRNCOLWIDTH.
Величина ширины столбца в MathCad не лимитируется.
Пример: Запись данных в текстовый файл при стандартных настройках:
17
i  0  2
M
i j
j  0  2
 0 0.841 0.909 
M   0.841 0.909 0.141 


 0.909 0.141 0.757 
 sin ( i  j)
WRITEPRN "G:\sin.txt"   M
В результате на диске G: появится файл sin.txt (см. Рис. 8)
Рис. 8
Пример: Запись данных в текстовый файл с максимальной точностью:
i  0  2
M
i j
j  0  2
 sin ( i  j)
 0 0.841 0.909 
M   0.841 0.909 0.141 


 0.909 0.141 0.757 
PRNCOLWIDTH  20
PRNPRECISION  16
WRITEPRN "G:\sin_max.txt"   M
Рис. 9
18
Лабораторная работа №4.
РАБОТА С BMP ФАЙЛАМИ В ОТТЕНКАХ
СЕРОГО В ПАКЕТЕ MATHCAD
Цель работы
1. научиться создавать монохромные (в оттенках серого) изображения
путем непосредственного задания матрицы яркости,
2. научиться обрабатывать монохромные (в оттенках серого) изображения
путем непосредственного изменения матрицы яркости.
Постановка задачи
1. Создать матрицу яркости для монохромного (в оттенках серого)
изображения (см. приложение 2.), визуализировать её в MathCad и
сохранить на диск в виде bmp файла. Результат просмотреть
графическим редактором.
2. Считать с диска графический файл и выполнить по указанию
преподавателя одно или несколько преобразований:
вырезать фрагмент изображения
получить негативное изображение
увеличить яркость
уменьшить яркость
повернуть изображение на 90 вправо
перевернуть изображение
выделить участки изображения с яркостью из заданного диапазона
выделить участки изображения с максимальной и минимальной
яркостью
i) увеличить изображение
j) уменьшить изображение
k) добавить в изображение шум
a)
b)
c)
d)
e)
f)
g)
h)
3. Результат преобразования визуализировать в документе MathCad и
сохранить на диск в виде bmp файла. Результат просмотреть
графическим редактором
Содержание отчета
Отчет по выполненной лабораторной работе или практическому занятию
должен содержать:
1. Фамилию и инициалы студента.
19
2. Номер учебной группы.
3. Дату выполнения работы.
4. Название работы и формулировку задания..
5. Распечатку созданного документа.
Отчет о выполненной работе должен быть представлен индивидуально
каждым студентом перед выполнением следующей лабораторной работы или
практического занятия.
Краткие теоретические сведения
Монохромные
(в оттенках серого) изображения в MathCad
представляют собой матрицу целых чисел от 0 до 255, каждый элемент
которой описывает яркость соответствующего пикселя изображения. 0
соответствует минимальной яркости, т.е. черному цвету, 255 –
максимальной, т.е. белому цвету, а все промежуточные значения отвечают за
градации серого. Считать изображение в матрицу можно при помощи
функции READBMP(“filename”). Для восстановления изображения по
матрице в документе MathCad надо нажать Insert – Picture или комбинацию
клавиш Ctrl T и в появившийся местозаполнитель ввести имя матрицы.
Пример.
A  READBMP "G:\dom.bmp" 
70
71
72
73
74
75
76
45 234 221 234 234 234 234 234
46 234 204 234 204 234 204 234
47 192 241 192 234 192 234 192
A
48 215 204 221 204 204 215 204
49 241 215 241 204 234 203 241
50 204 227 215 215 204 215 215
51 221 241 221 234 221 234 215
52 220 204 227 204 227 204 227
53 220 215 241 204 234 204 234
A
Рис. 10
На Рис. 10 представлена лишь небольшая часть матрицы и
восстановленное изображение. Всего в изображении содержится rows(A)
cols(A) = 22401 пикселей. С помощью матричной арифметики можно
производить обработку изображения – вырезать фрагменты (submatrix),
поворачивать на 90, увеличивать или уменьшать яркость, изменять размеры
картинки и др.
20
Пример. Повернуть изображение на 90 влево.
T
A1  A
A1
Рис. 11
Обработанное изображение можно сохранить на диск с помощью функции
WRITEBMP(“filename”).
Лабораторная работа №5.
РАБОТА С ЦВЕТНЫМИ ИЗОБРАЖЕНИЯМИ В ПАКЕТЕ MATHCAD
Цель работы
1. научиться создавать цветные изображения путем непосредственного
задания матриц яркости цветовых каналов.
2. научиться
обрабатывать
цветные
изображения
путем
непосредственного изменения матрицы яркости.
Постановка задачи
1.
2.
Создать матрицу яркости для цветного изображения (варианты 2.,
цвета областей – по указанию преподавателя), визуализировать её в
MathCad и сохранить на диск в виде bmp файла. Результат
просмотреть графическим редактором.
Считать с диска графический файл и выполнить по указанию
преподавателя одно или несколько преобразований:
1. вырезать фрагмент изображения
2. отключить красный канал
21
3. отключить зелёный канал
4. отключить синий канал
5. увеличить яркость зелёного канала
6. увеличить яркость синего канала
7. увеличить яркость красного канала
8. уменьшить яркость красного канала
9. уменьшить яркость зелёного канала
10.уменьшить яркость синего канала
11.добавить в изображение шум
Результат преобразования визуализировать в документе MathCad и
сохранить на диск в виде bmp файла. Результат просмотреть графическим
редактором.
Содержание отчета
Отчет по выполненной лабораторной работе или практическому занятию
должен содержать:
1. Фамилию и инициалы студента.
2. Номер учебной группы.
3. Дату выполнения работы.
4. Название работы и формулировку задания.
5. Распечатку созданного документа.
Отчет о выполненной работе должен быть представлен индивидуально
каждым студентом перед выполнением следующей лабораторной работы или
практического занятия.
Краткие теоретические сведения
Цветные изображения (в модели RGB) размером mn представляют
собой матрицу целых чисел от 0 до 255 размерности m3n. Первые n
столбцов описывают интенсивность красной компоненты изображения, а
вторая и третья последовательности отвечают за интенсивность зелёной и
синей компонент. Для визуализации цветного изображения необходимо
выделить каждый цветовой канал в отдельную матрицу и затем в
местозаполнителе шаблона вставки рисунка через запятую перечислить их
имена.
Считать изображение в матрицу можно при помощи функции
READRGB(“filename”).
22
Пример. Считывание и визуализация цветного изображения.
Создать подматрицы цветовых составляющих изображения можно и по
отдельности при помощи следующих функций:
READ_RED(“filename”) – извлечение красного канала цветного изображения,
–
READ_GREEN(“filename”)
изображения,
извлечение
зелёного
канала
цветного
READ_BLUE(“filename”) – извлечение синего канала цветного изображения.
Обработку можно производить как над отдельными подматрицами
каналов, так и над матрицей всего цветного изображения.
После объединения подматриц каналов в один массив обработанное
изображение можно сохранить на диск с помощью функции
WRITERGB(“filename”)
A  READRGB "G:\dom.bmp" 
Âûäåëåíèå ìàòðèöû êðàñíîãî êàíàëà:
R  submatrix A  0  rows ( A )  1  0 
cols ( A )

 1 

3
Âûäåëåíèå ìàòðèöû çåë¸íîãî êàíàëà:
cols ( A )
cols ( A )
G  submatrix A  0  rows ( A )  1 
 2
 1 
3
3


Âûäåëåíèå ìàòðèöû ñèíåãî êàíàëà:
B  submatrix A  0  rows ( A )  1  2

R  G B
Рис.12
cols ( A )
3
 cols ( A )  1 

23
ПРИЛОЖЕНИЕ 1
ВАРИАНТЫ ЗАДАНИЙ
1. Варианты заданий для работы с текстовыми файлами.
1. sin( x) ,
cos(x) ,
2.
tg (x) ,
tg (2 x) ,
3.
sh (x ) ,
ch(x ) ,
4.
1
,
1  ch 2 ( x)
5.
1
,
1 x2
tg (x) ,
ctg (x)
x
tg ( )
2
th(x) ,
cth(x)
1
,
1  ch ( x  0,5)
1
1  ch ( x  0,5)
1
,
1  x4
1
1  x6
2
2
6.
1
,
1  2x2
1
,
1  4x2
1
1  6x2
7.
1
,
1  ( x  1) 2
1
1
,
2
1  ( x  3)
1  ( x  5) 2
8.
arcsin( x ) ,
arcsin( 2 x) ,
9.
log 2 ( x) ,
10.
sin( x ) ,
11.
3
x
arcsin( )
2
log 4 ( x) , log 0, 2 ( x)
sin( 2 x ) ,
sin( 0,2 x)
x,
5
x,
7
x
12.
x,
4
x
6
x
13.
x 0,5 ,
14.
0,5 x , 1,5 x ,
ex
15.
arccos(x) ,
arccos( 2 x) ,
x
arccos( )
2
16.
1
,
1  ch( x)
1
,
1  2ch( x)
1
1  0.5ch( x)
17.
sin( x ) ,
sin( x  34) , sin( x  47)
x 0,5 , x1,5
24
18.
5
x,
5
x  15 ,
5
x  10
19.
4
x,
4
x3,
4
x 1
20.
1
,
1 x2
1
1 x4
,
1
1  x8
21.
arccos(x) ,
2 arccos(x) , 4 arccos(x)
22.
sh (x ) ,
sh(x / 2) ,
sh (2 x)
22.
ch(x) ,
ch(x / 2) ,
ch(2 x)
23.
th(x) ,
th(x / 2) ,
th(2 x)
24.
( x  1) 2 ,
( x  4) 2 ,
( x  4) 2
25.
x3 ,
0.3x 3
2x 3 ,
2. Варианты заданий для работы с BMP файлами.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14
15.
16.
25
17.
18.
19.
21.
22
23.
20.
24.
ПРИЛОЖЕНИЕ 2
Основные функции MathCad для работы с файлами (категория File
Access)
Функции импортирования данных из файла
READ_BLUE
Возвращает матрицу синей составляющей изображения
(RGB - модель)
READ_GREEN Возвращает матрицу зеленой составляющей изображения
( RGB - модель)
READ_RED
Возвращает матрицу красной составляющей изображения
( RGB - модель)
READRGB
Возвращает матрицу, описывающую цветное
изображение ( RGB - модель)
READBMP
Возвращает матрицу, описывающую изобра-жение в
формате BMP в оттенках серого
READ_IMAGE Возвращает матрицу, описывающую изобра-жение в
оттенках серого в форматах BMP, GIF, JPG
READ_HLS
Возвращает матрицу, описывающую цветное
изображение (HLS - модель)
READ_HLS_H
UE
Возвращает матрицу составляющей оттенка изображения
(HLS - модель)
READ_HLS_LI Возвращает матрицу составляющей освещённости
26
GHT
изображения (HLS - модель)
READ_HLS_S
AT
Возвращает матрицу составляющей насыщенности
изображения (HLS - модель)
READ_HSV
Возвращает матрицу, описывающую цветное
изображение (HSV - модель)
READ_HSV_H
UE
Возвращает матрицу составляющей оттенка изображения
(HSV - модель)
READ_HSV_V
ALUE
Возвращает матрицу составляющей значений
изображения (HSV - модель)
READ_HSV_S
AT
Возвращает матрицу составляющей насыщенности
изображения (HSV - модель)
READPRN
Cчитывает информацию из текстового файла в матрицу
READWAV
Возвращает матрицу, содержащую информацию об
амплитуде звука
Функции записи данных в файл
WRITERGB
Создает из матрицы графический файл в цветовой
модели RGB
WRITEBMP
Создает из матрицы монохромный (в оттенках серого)
графический файл в формате BMP
WRITE_HLS
Создает из матрицы графический файл в цветовой
модели HLS
WRITE_HSV
Создает из матрицы графический файл в цветовой
модели HSV
WRITEPRN
Записывает матрицу в текстовый файл
APPENDPRN
Дозапись данных в уже существующий текстовый файл
WRITEWAV
Записывает звуковой файл по соответствующей матрице
амплитуд
27
Литература
1. С.В. Симонович и др. Информатика: Базовый курс. – СПб: Питер,
2001. – 640 с.: ил.
2. В.П. Дьяконов. Энциклопедия MathCad 2001i и MathCad 11. – М.:
СОЛОН-Пресс, 2004. – 832 с.: ил.
3. Д.А. Гурский. Вычисления в MathCad. – Мн.: Новое знание, 2003. –
814 с.: ил.
4. А.М. Поган. Руководство программиста. Delphi// - Москва.:
издательство «ЭКСМО», 2006.
28
Содержание
Введение………………………………………………………………………..3
1. Лабораторная работа №1. Работа с файлами в Delphi…………………..4
2. Лабораторная работа №2. Работа с файлами в Excel………………..…11
3. Лабораторная работа №3. Работа с текстовыми файлами (ASCII)
файлами в пакете MathCad………………………………………………14.
4. Лабораторная работа №4. Работа с BMP файлами в оттенках серого в
пакете MathCad……………………………………………………………18
5. Лабораторная работа №5. Работа с цветными изображениями в пакете
MathCad……………………………………………………………………20
Приложение 1………………………………………………………………...23
Приложение 2………………………………………………………………...25
Литература ………………………………………………………………...…27
Содержание ……………………………………………………………...…...28
Download