Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Модули, записи и файлы

 могут   использовать  другие
модули.   Предложение USES  в  модулях   может   следовать  либо  сразу   за
зарезервированным    словом   INTERFACE,     либо    сразу     за     словом
IMPLEMENTATION.  Интерфейсная  часть  открывается  зарезервированным  словом
INTERFACE.   В   этой  части   содержатся   объявления    всех    глобальных
объектов модуля  (типов,  констант,  переменных  и    подпрограмм),  которые
должны стать доступными   основной   программе  и  (или)   другим   модулям.
При  объявлении глобальных подпрограмм  в  интерфейсной  части   указывается
  только   их  заголовок.  Объявление   подпрограмм  в  интерфейсной   части
автоматически    сопровождается    их     компиляцией     с   использованием
дальней   модели   памяти.    Таким   образом,  обеспечивается   доступ    к
подпрограммам   из   основной  программы   и    других    модулей.   Порядок
появления  различных  разделов  объявлений  и  их  количество  может    быть
произвольным.         Исполняемая    часть    начинается   зарезервированным
словом  IMPLEMEN-  TATION и содержит  описания  подпрограмм,  объявленных  в
интерфейсной части. В ней могут объявляться локальные для модуля  объекты  -
вспомогательные типы, константы, переменные и блоки,  а  также  метки,  если
они используются в инициирующей  части. Описанию подпрограммы,   объявленной
в    интерфейсной   части   модуля,    в     исполняемой    части     должен
предшествовать  заголовок,  в  котором  можно  опускать   список  формальных
переменных (и  тип результата  для функции),  так как они  уже   описаны   в
интерфейсной  части.   Но если заголовок  программы  приводится   в   полном
виде,  т.е., со списком формальных  параметров,  то  он   должен   совпадать
 с заголовком,    объявленным    в     интерфейсной     части.  Инициирующая
часть    завершает    модуль.     Она    может  отсутствовать    вместе    с
начинающим  ее словом BEGIN или быть пустой - тогда за BEGIN  сразу  следует
признак  конца модуля  (слово  END  и   следующая   за   ним   точка).     В
инициирующей    части   размещаются    исполняемые   операторы,   содержащие
некоторый   фрагмент   программы.  Эти  операторы  исполняются  до  передачи
управления основной  программе и обычно   используются  для   подготовки  ее
работы. Например,  в  них   могут  инициироваться  переменные,   открываться
нужные   файлы,   могут   устанавливаться   связи   с   другими     ПК    по
коммуникационным  каналам  и  т.п.  Не  рекомендуется  делать   инициирующую
часть  пустой,  лучше  ее опустить: пустая часть  содержит пустой  оператор,
 которому будет передано управление при запуске программы.



      1.2. Компиляция модулей.



      В  среде  Turbo  PASCAL   имеются   средства,    управляющие  способом
компиляции   модулей   и   облегчающие    разработку   крупных   программных
проектов.   В частности,  определены три режима  компиляции: COMPILE,   MAKE
и   BUILD.    Режимы  отличаются  только   способами  связи   компилируемого
модуля и основной программы  с другими модулями,  объявленными в  приложении
  USES.    При   компиляции   модуля   или  основной  программы   в   режиме
COMPILE  компилируется только файл,  находящийся    в     активном     окне.
  По    умолчанию предполагается,    что     используемые    модули      уже
откомпилированы   и   результаты   помещены    в     одноименные   файлы   с
расширением .TPU;  файл с  расширением .TPU  (от английского  Turbo   Pаscal
  Unit)   создается  в  результате  компиляции  модуля.    В  режиме    МАКЕ
компилятор   проверяет  наличие   TPU-файлов   для   каждого    объявленного
модуля. Если  какой-либо  из  файлов  не  обнаружен,  то   система  пытается
отыскать  одноименный файл  с  расширением   .PAS,  т.е.  файл   с  исходным
текстом  модуля.   Если PAS-файл найден,  то  происходит   его   компиляция.
 Кроме того, в этом  режиме  система   следит   за   возможными  изменениями
исходного   текста   любого   используемого   модуля.    Если   в   PAS-файл
(исходный  текст  модуля)  внесены   какие-либо изменения, то независимо  от
того, есть ли уже в  каталоге соответствующий  TPU-файл  или   нет,  система
осуществляет его компиляцию перед   компиляцией  основной   программы.  Если
изменения    внесены   в    интерфейсную    часть     модуля,    то    будут
перекомпилированы  также  и  все  другие    модули,  обращающиеся  к   нему.
Режим МАКЕ  существенно облегчает процесс   разработки   крупных    программ
  с  множеством модулей.    В   режиме    BUILD    существующие    TPU-файлы
игнорируются,    и    система    пытается    отыскать      и   компилировать
соответствующий  PAS-файл для   каждого  объявленного  в  предложении   USES
модуля. После  компиляции в режиме BUILD  программист может  быть уверен   в
том,  что учтены все  сделанные им  изменения в  любом из  модулей.
         Подключение  модуля   к  основной   программе   и    их   возможная
компиляция   осуществляется   в   порядке   их   объявления   в  предложении
USES.    При   переходе   к   очередному   модулю   система   предварительно
отыскивает все  модули, на  которые он  ссылается.    Ссылки  модулей   друг
на  друга могут образовывать  древовидную    структуру   любой    сложности,
однако запрещается явное  или косвенное обращение   модуля  к  самому  себе.
Дело  в  том,   что  Turbo  PASCAL    разрешает   ссылки     на     частично
откомпилированные      модули,     что    приблизительно       соответствует
опережающему    описанию подпрограммы.    Если  интерфейсные   части   любых
   двух  модулей  независимы,  Turbo  PASCAL  сможет   идентифицировать  все
глобальные идентификаторы в каждом из  модулей,   после  чего  откомпилирует
тела модулей обычным способом.



Глава 2.  Задание первой части курсовой работы



Разработать модуль (схемы алгоритмов и программы),  содержащие  процедуры  и
функции, решающие поставленную задачу :



Вариант № 21



Вычислить произведение элементов каждого столбца матрицы :


Определить максимальное значение произведения :



Разработать вызывающую программу (алгоритм и текст программы),  предусмотрев
процедуру  очистки  экрана  и  вывода  информации  на  экран  с   текстовыми
комментариями. Например :



Курсовую работу выполнил студент группы А – 61 Иванов Роман Борисович



      Вариант № 21


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


    Процедуру формирования элементов матрицы в интервале –1.0 до 1.0.


    Функцию  определения  суммы  элементов  той   строки,   где   находиться
    максимальный элемент.


    Процедуру вывода элементов матрицы.



    Результаты :



    Сформированная матрица :


    ------------------------------


    ------------------------------


Сумма элементов строки, где находится максимальный элемент =…….



      2.1. Вызывающая программа



2.2.Процедура формирования массива А



PROCEDURE FORM



2.3.Процедура  ввывода массива А


PROCEDURE VIVOD



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

      PROCEDURE PR



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.  Записи.


Запись  –  это  структура  данных,   состоящая   из   фиксированного   числа
комп
12345
скачать работу

Модули, записи и файлы

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ