Модули, записи и файлыРефераты >> Программирование и компьютеры >> Модули, записи и файлы
window(1,1,80,25);
gotoxy(10,24);
writeln('Для продолжения нажмите пробел');
clrscr;
form(a);
writeln('Сформированная матрица');
vivod(a);
pr(a,c);
writeln('Максимальное произведение =',max(c):6:4);
readln;
end.
Глава 5. Результаты первой части курсовой работы
Сформированная матрица
-0.68 0.22 0.58 -0.62 -0.14
0.25 -0.11 -0.90 0.41 -0.57
0.24 -0.69 -0.84 0.28 0.71
-0.46 -0.26 0.16 0.49 -0.73
0.60 0.17 0.28 -0.77 -0.61
Произведение 1-го столбца =0.0112
Произведение 2-го столбца =-0.0007
Произведение 3-го столбца =0.0187
Произведение 4-го столбца =0.0264
Произведение 5-го столбца =0.0243
Максимальное произведение =0.0264
Глава 6. Записи.
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.
Структура обьявления типа записи такова:
<имя типа> = RECORD <пс. полей> END
Здесь <имя типа> - правельный индификатор;
RECORD, END – зарезервированные слова (запись, конец);
<сп. полей> - список полей; представляют собой последовательность
разделов записи, между которыми ставится точка с запитой.
Каждый раздел записи состоит из одного или нескольких индификаторов полей, отделяемых друг от друга запятыми. За индификатором ставится двоеточие и описание типа поля например:
type
birthday = record
day, month : byte;
year : word:
end;
var
a,b : Birthday;
. . . . . . . .
В этом примере тип Birthday есть запись с полями DAY, MONTH, и YEAR; переменные А и В содержат записи типа Birthday.
Как в массиве, значения переменных типа записи можно присваивать другим переменным того же типа, например:
a : = b;
К каждому из компонентов записи можно получить доступ, если использовать составное имя, т.е. указать имя переменной, затем точку и имя поля:
a.day := 27; b.year := 1991;
Чтобы упростить доступ к полям записи, используется оператор присоединения WITH:
WITH <переменная> DO <оператор>
Здесь WITH, DO – ключевые слова (с, делать);
<переменная> - имя переменной типа запись, за которым,
возможно, следует список вложенных полей;
<переменная> - любой оператор Турбо Паскаля.
Например:
with c.bd do month := 9;
Имена полей должны быть уникальными в пределах той записи, где они обьявлены, однако, если записи содержат поля – записи, т.е. вложена одна в другую, имена могут повторяться на разных уровнях вложенности.
.
Глава 7. Файлы.
Под файлом понимается именованная область памяти на магнитном носителе, используемая для долговременного хранения некоторой логически связанной информации. В эту область внешней памяти можно как поместить определенные данные, так и извлечь их из нее. Эти действия имеют общее название - ввод-вывод.
7.1. Операция с файлами как единое целое.
Программирование доступа к файлу в языке Turbo Pascal начинается с описания файловой переменной (переменной файлового типа). Это описание строится с помощью служебного слова file, после которого (после служебного слова of) может быть указан тип отдельных элементов файла, например:
var
F : file of integer;
При необходимости можно отдельно определить некоторый файловый тип, которым в дальнейшем пользоваться при описании файловых переменных:
type
RecordFile = file of record
А, В : real;
end;
var
Fl, F2 : RecordFile;
Очень важно различать собственно файл (область памяти на магнитном носителе с некоторой информацией) и переменную файлового типа в некоторой Turbo Pascal- программе. Считается, что файловая переменная являетсяпредставителем некоторого дискового файла в программе. Для того, чтобы реализовать доступ к файлу па магнитном диске, программа должнасвязать его с файловой переменной. Для этого необходимо сопоставить переменную с именем файла. Это имя представляется в виде строки, содержащей полное имя файла и, быть может, цепочку объемлющих каталогов и обозначение дисковода. Такая строка носит название маршрута (или пути) к файлу и формируется по общим правилам MS-DOS.
Связывание маршрута и файловой переменной производится стандартной процедурой Assign, которой передаются два параметра: имя переменной файлового типа и строка с именем (маршрутом) дискового файла, например:
Assign (F,'с: \books\book4\test3 .раз ' ) ;
Помимо маршрута, во втором параметре может быть указано условное (символическое) обозначение некоторого «псевдофайла» MS-DOS, то есть файла, связанного с конкретным физическим устройством. Допускаются имена, в основном совпадающие с принятыми в MS-DOS обозначениями (‘con’ – консоль, то есть экран дисплея и/или клавиатура, ‘lpti’ или ‘prn’ – печатающее устройство и т. д.).
До тех пор, пока файловая переменная не связана с каким-либо дисковым файлом, никакие операции с ней в программе невозможны, Заметим, что можно связать файловую переменную сеще не существующимдисковым файлом. Это может быть оправдано для случая последующего создания Turbo Pascal-программой файла с данным именем с помощью некоторой системной процедуры.
После того, как файловая переменная с помощью процедуры Assign связана с конкретным дисковым файлом, можно выполнить любую допустимую операцию с ним. Здесь рассмотрим две операции общего характера, позволяющие переименовывать и уничтожать существующие дисковые файлы. Такие операции выполняются системными подпрограммами Rename и Erase со следующими спецификациями:
Rename ( var f; nevname : string );
Erase ( var f );
Основным параметром этих процедур является файловая переменная (она может идентифицировать файл любого типа, и к ней должна была быть ранее применена процедура Assign), а процедуре Rename дополнительно передается новое имя файла. Действие указанных процедур основывается на соответствующих DOS-функциях и функционально эквивалентно командам ren и del командного процессора.
7.2. Структура файлов
7.2.1Открытие и закрытие файлов
В этом и следующем разделах рассматриваются файлы традиционной для языка Pascal структуры, которые описываются в программе в терминах составляющих компонент. Кроме таких файловых переменных (они также называются "типизированными" файлами), в языке Turbo Pascal имеются также файлы специального типа - текстовые файлы, которые введены для поддержки одного практически важного частного случая файловых структур, и нетипизированные файлы, которые используются для более эффективной организации обменов на низком уровне.