RSS    

   Реферат: Модули, записи и файлы


2.4.Процедура произведения элементов массива А

PROCEDURE PR

Блок-схема: процесс: C[i] = 1


Блок-схема: знак завершения: Конец

2.5.Функция  поиска максимального элемента в векторном массиве С

FUNCTION MAX


Глава 3. Модуль основной программы

unit kurp1;

interface

const n=5;

type  matr=array[1..n,1..n] of real;

      vect=array[1..n] of real;

procedure form(var a:matr);

procedure vivod (var a:matr);

function max(c:vect):real;

procedure pr(a:matr;var c:vect);

implementation

procedure vivod (var a:matr);

  var i,j:integer;

  begin

   for i:=1 to n do

begin

   for j:=1 to n do

write (a[i,j]:6:2);

   writeln;

   end;

   writeln;

   end;

procedure form(var a:matr);

var i,j:integer;

  begin

   randomize;

   for i:=1 to n do

   for j:=1 to n do

a[i,j]:=random*2-1;

  end;

function max( c:vect):real;

var i:integer;

    m:real;

begin

m:=-2;

for i:=1 to n do

 if c[i]>m then m:=c[i];

max:=m

end;

procedure pr(a:matr;var c:vect);

var i,j:integer;

begin

c[i]:=1;

for i:=1 to n do

 begin

  for j:=1 to n do

   c[i]:=a[j,i]*c[i];

  writeln('Произведение ',i,'-го столбца =',c[i]:6:4);

  end;

  writeln;

end;

end.

Глава 4. Основная программа

program kursovik;

uses crt,kurp1;

var a:matr;

    c:vect;

begin

clrscr;

window (45,2,75,7) ;

writeln ('Курсовая работа по информатике') ;

writeln('Факультет АЭС      группа А-92');

writeln ('студента:    Грязина Дмитрия  ');

window(1,1,80,25);

writeln('вариант 21');

window(10,8,80,20);

writeln('Разработанный модуль содержит следующие программы:');

writeln('1.Процедуру формирования элементов матрицы в интервале от 1.0 до 1.0.');

writeln('2.Процедуру вывода матрицы на экран.');

writeln('3.Процедуру определения произведения каждого столбца матрицы.');

writeln('4.Функцию определения максимального произвелдения.');

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-программой файла с данным именем с помощью некоторой системной процедуры.

Страницы: 1, 2, 3, 4


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.