• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите пожалуйста оформить программу в виде модуля

Агнесса

Ученик
Регистрация
6 Май 2016
Сообщения
5
Реакции
0
Баллы
0
Помогите пожалуйста оформить программу в виде модуля

Помогите пожалуйста оформить программу ввиде модуля

[FONT=&quot]program [/FONT][FONT=&quot]ex_8_16_v;[/FONT]
[FONT=&quot] type Vector = array of [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] Matrix = array of Vector;[/FONT]

[FONT=&quot] var A : Matrix;[/FONT]
[FONT=&quot] B : Vector;[/FONT]
[FONT=&quot] l, n : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] f1 : text;[/FONT]

[FONT=&quot] Procedure FormMatr(var X:Matrix);[/FONT]
[FONT=&quot] var i, j : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]j := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]X[i,j] := random([/FONT][FONT=&quot]1[/FONT][FONT=&quot],[/FONT][FONT=&quot]5[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] end;[/FONT]

[FONT=&quot] Procedure WriteMatr(var X:Matrix);[/FONT]
[FONT=&quot] var i, j : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] For [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]j := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]Write(X[i,j]:[/FONT][FONT=&quot]4[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Writeln;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] end;[/FONT]

[FONT=&quot] Function F(X : Matrix;i : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot]):[/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] var j, S : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]S := [/FONT][FONT=&quot]1[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] for j := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]S := S*X[j,i];[/FONT]
[FONT=&quot] F := S;[/FONT]
[FONT=&quot] end;[/FONT]

[FONT=&quot] Procedure Selection(var X : Vector);[/FONT]
[FONT=&quot] var i,j, nom, min : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] BEGIN[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]2 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]nom := i;[/FONT]
[FONT=&quot] min := X;[/FONT]
[FONT=&quot] for j := i+[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] if [/FONT][FONT=&quot]X[j] < min then[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]min := X[j];[/FONT]
[FONT=&quot] nom := j;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] X[nom] := X;[/FONT]
[FONT=&quot] X := min;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] END;[/FONT]

[FONT=&quot] Procedure Exchange(var X : Vector);[/FONT]
[FONT=&quot] var i, j, c : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] BEGIN[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]j := n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]downto [/FONT][FONT=&quot]i do[/FONT]
[FONT=&quot] if [/FONT][FONT=&quot]X[j-[/FONT][FONT=&quot]1[/FONT][FONT=&quot]] > X[j] then[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]c := X[j-[/FONT][FONT=&quot]1[/FONT][FONT=&quot]];[/FONT]
[FONT=&quot] X[j-[/FONT][FONT=&quot]1[/FONT][FONT=&quot]] := X[j];[/FONT]
[FONT=&quot] X[j] := c;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] END;[/FONT]

[FONT=&quot] Procedure Insertion2(var X : Vector);[/FONT]
[FONT=&quot] var i, j, k, c : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] BEGIN[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]c := X;[/FONT]
[FONT=&quot] j := i-[/FONT][FONT=&quot]1[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] k := [/FONT][FONT=&quot]0[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] While j > -[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] if [/FONT][FONT=&quot]X > X[j] then[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot]k := j + [/FONT][FONT=&quot]1[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] j := -[/FONT][FONT=&quot]1[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] end[/FONT]
[FONT=&quot] else [/FONT][FONT=&quot]j := j - [/FONT][FONT=&quot]1[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] for j := i downto k + [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]X[j] := X[j-[/FONT][FONT=&quot]1[/FONT][FONT=&quot]];[/FONT]
[FONT=&quot] X[k] := c;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] END;[/FONT]


[FONT=&quot] begin[/FONT]
[FONT=&quot]Assign(f1,[/FONT][FONT=&quot]'Otsortirovan.txt'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Rewrite(f1);[/FONT]
[FONT=&quot] Write([/FONT][FONT=&quot]'Vvedite poryadok matricy n = '[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Readln(n);[/FONT]
[FONT=&quot] Setlength(A,n);[/FONT]
[FONT=&quot] For l := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]Setlength(A[l],n);[/FONT]
[FONT=&quot] Setlength(B,n);[/FONT]
[FONT=&quot] FormMatr(A);[/FONT]
[FONT=&quot]// WriteMatr(A);[/FONT]
[FONT=&quot]for [/FONT][FONT=&quot]l := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]// begin[/FONT]
[FONT=&quot]B[l] := F(A,l);[/FONT]
[FONT=&quot]// Write(B[l],' ');[/FONT]
[FONT=&quot] // end;[/FONT]
[FONT=&quot]Setlength(A,[/FONT][FONT=&quot]0[/FONT][FONT=&quot]); [/FONT]
[FONT=&quot] Writeln([/FONT][FONT=&quot]'Kakim metodom osyshestvit sortirovky ?'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Writeln([/FONT][FONT=&quot]'1 - prostoi obmen.'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Writeln([/FONT][FONT=&quot]'2 - prostoi vybor.'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Writeln([/FONT][FONT=&quot]'3 - prostaya vstavka.'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Write([/FONT][FONT=&quot]'l = '[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Readln(l);[/FONT]
[FONT=&quot] Case l of [/FONT]
[FONT=&quot]1 [/FONT][FONT=&quot]: Exchange(B);[/FONT]
[FONT=&quot]2 [/FONT][FONT=&quot]: Selection(B);[/FONT]
[FONT=&quot]3 [/FONT][FONT=&quot]: Insertion2(B);[/FONT]
[FONT=&quot] end; [/FONT]
[FONT=&quot] for l := [/FONT][FONT=&quot]0 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]n-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot]Write(f1,B[l],[/FONT][FONT=&quot]' '[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot]Close(f1);[/FONT]
[FONT=&quot] Setlength(B,[/FONT][FONT=&quot]0[/FONT][FONT=&quot]); [/FONT]
[FONT=&quot] end.[/FONT]
 
Помогите пожалуйста оформить программу ввиде модуля

Пожалуйста.

Модуль:
Код:
Unit My_Unit;

Interface

const
 Nmax=100;

type
 Vector = array[0..Nmax-1] of integer;
 Matrix = array[0..Nmax-1] of Vector;

Procedure FormMatr(m:Integer; var X:Matrix);
Procedure WriteMatr(m:Integer; var X:Matrix);
Function F(m:Integer; X : Matrix;i : integer):integer;
Procedure Selection(m:Integer; var X : Vector);
Procedure Exchange(m:Integer; var X : Vector);
Procedure Insertion2(m:Integer; var X : Vector);

Implementation

Procedure FormMatr(m:Integer; var X:Matrix);
var i, j : integer;
begin
 for i := 0 to m-1 do
  for j := 0 to m-1 do
   X[i,j] := 1+random(5);
end;

Procedure WriteMatr(m:Integer; var X:Matrix);
var i, j : integer;
begin
 For i := 0 to m-1 do
  begin
   for j := 0 to m-1 do
   Write(X[i,j]:6);
   Writeln;
  end;
end;

Function F(m:Integer; X : Matrix;i : integer):integer;
var j, S : integer;
begin
 S := 1;
 for j := 0 to m-1 do
  S := S*X[j,i];
 F := S;
end;

Procedure Selection(m:Integer;var X : Vector);
var i,j, nom, min : integer;
BEGIN
 for i := 0 to m-2 do
  begin
   nom := i;
   min := X[i];
   for j := i+1 to m-1 do
   if X[j] < min then
    begin
     min := X[j];
     nom := j;
    end;
   X[nom] := X[i];
   X[i] := min;
  end;
END;

Procedure Exchange(m:Integer; var X : Vector);
var i, j, c : integer;
BEGIN
 for i := 1 to m-1 do
  for j := m-1 downto i do
   if X[j-1] > X[j] then
    begin
     c := X[j-1];
     X[j-1] := X[j];
     X[j] := c;
    end;
END;

Procedure Insertion2(m:Integer; var X : Vector);
var i, j, k, c : integer;
BEGIN
 for i := 1 to m-1 do
  begin
   c := X[i];
   j := i-1;
   k := 0;
   While j > -1 do
    if X[i] > X[j] then
     begin
      k := j + 1;
      j := -1;
     end else
      j := j - 1;
   for j := i downto k + 1 do
    X[j] := X[j-1];
   X[k] := c;
  end;
END;

End.
Программа:
Код:
program ex_8_16_v;

Uses My_Unit;

var
 A : Matrix;
 B : Vector;
 l,n : integer;
 f1 : text;

begin
 Randomize;
 Assign(f1,'Otsort.txt');
 Rewrite(f1);
 Write('Vvedite poryadok matricy n = ');
 Readln(n);
 FormMatr(n,A);
 WriteMatr(n,A);
 for l := 0 to n-1 do
  begin
   B[l] := F(n,A,l);
   Write(B[l]:6);
  end;
 Writeln;
 Writeln('Kakim metodom osyshestvit sortirovky ?');
 Writeln('1 - prostoi obmen.');
 Writeln('2 - prostoi vybor.');
 Writeln('3 - prostaya vstavka.');
 Readln(l);
 Case l of
  1 : Exchange(n,B);
  2 : Selection(n,B);
  3 : Insertion2(n,B);
 end;
 for l := 0 to n-1 do
  Write(f1,B[l]:6);
 for l := 0 to n-1 do
  Write(B[l]:6);
 Close(f1);
 Readln
end.
Несколько замечаний:
1. Имя файла модуля, имя самого модуля и, естественно, имя в строке программы в разделе USES должны строго совпадать. В данном случае модуль следует сохранить в файле MyUnit.pas. Хотите изменить имя - меняйте в трёх местах.
2. Несколько изменил программу под свой DOS-Паскаль (укоротил длинное имя файла, ввел диапазоны в векторный и матричный тип - без них мой Паскаль не понимает). Но это непринципиально.
3. [FONT=&quot]Убрал эти Setlength - и без них работает. [FONT=&quot]К тому же первая из них, когда применяется к матрице, - ошибочна.[/FONT]
[/FONT]
 
Подскажите пожалуйста ,верно ли я оформила программу ввиде модуля.
вот программа:
[FONT=&quot]program [/FONT][FONT=&quot]Sortirovka_massiva_part_two;[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] const stlb = [/FONT][FONT=&quot]5[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] str = [/FONT][FONT=&quot]5[/FONT][FONT=&quot]; [/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] type Vector = array[[/FONT][FONT=&quot]1.[/FONT][FONT=&quot].stlb] of [/FONT][FONT=&quot]real[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] Massiv = array[[/FONT][FONT=&quot]1.[/FONT][FONT=&quot].str] of Vector;[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] VAR B : Massiv;[/FONT]
[FONT=&quot] v, l : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] F1, F2 : text;[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] procedure FormMassiv(var A : Massiv);[/FONT]
[FONT=&quot] var i, j : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]str do[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]j := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]stlb do[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]A[i,j] := random(-[/FONT][FONT=&quot]1000[/FONT][FONT=&quot],[/FONT][FONT=&quot]1500[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] function F(Y : vector):[/FONT][FONT=&quot]Real[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] var j : [/FONT][FONT=&quot]integer[/FONT][FONT=&quot]; [/FONT]
[FONT=&quot] S : [/FONT][FONT=&quot]real[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]S := [/FONT][FONT=&quot]0[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] for j := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]stlb do[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]S := S + Y[j];[/FONT]
[FONT=&quot] F := S;[/FONT]
[FONT=&quot] end; [/FONT][FONT=&quot][/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] [/FONT][FONT=&quot]procedure [/FONT][FONT=&quot]StraightSelection;[/FONT]
[FONT=&quot] VAR [/FONT]
[FONT=&quot] [/FONT][FONT=&quot]i, j,[/FONT]
[FONT=&quot] nom : [/FONT][FONT=&quot]integer [/FONT][FONT=&quot];[/FONT]
[FONT=&quot] min : Vector;[/FONT]
[FONT=&quot] Begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]i := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]str-[/FONT][FONT=&quot]1 [/FONT][FONT=&quot]do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]nom := i;[/FONT]
[FONT=&quot] min := B;[/FONT]
[FONT=&quot] for j := i + [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]str do[/FONT]
[FONT=&quot] if [/FONT][FONT=&quot]F(B[j]) > F(min) then[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]min := B[j];[/FONT]
[FONT=&quot] nom := j;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] B[nom] := B;[/FONT]
[FONT=&quot] B := min;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot] [/FONT][FONT=&quot] [/FONT][FONT=&quot]begin[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]Assign(F1,[/FONT][FONT=&quot]'Result_of_sortirovka_Matrix.txt'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Assign(F2,[/FONT][FONT=&quot]'Result_pervichnaya_Matrix.txt'[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Rewrite(F1);[/FONT]
[FONT=&quot] Rewrite(F2);[/FONT]
[FONT=&quot] FormMassiv(B);[/FONT]
[FONT=&quot] For v := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]str do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]l := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]stlb do[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]Write(F2,B[v,l]:[/FONT][FONT=&quot]6[/FONT][FONT=&quot],[/FONT][FONT=&quot]' '[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] Writeln(F2);[/FONT]
[FONT=&quot] end;[/FONT]
[FONT=&quot] StraightSelection;[/FONT]
[FONT=&quot] For v := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]str do[/FONT]
[FONT=&quot] begin[/FONT]
[FONT=&quot] for [/FONT][FONT=&quot]l := [/FONT][FONT=&quot]1 [/FONT][FONT=&quot]to [/FONT][FONT=&quot]stlb do[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]Write(F1,[/FONT][FONT=&quot]' '[/FONT][FONT=&quot],B[v,l]:[/FONT][FONT=&quot]6[/FONT][FONT=&quot],[/FONT][FONT=&quot]' '[/FONT][FONT=&quot]);[/FONT][FONT=&quot][/FONT]
[FONT=&quot] Writeln(F1);[/FONT]
[FONT=&quot] Write(F(B[v]),[/FONT][FONT=&quot]' '[/FONT][FONT=&quot]);[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]// Write(F(v),' ');[/FONT]
[FONT=&quot] [/FONT][FONT=&quot]end[/FONT][FONT=&quot];[/FONT]
[FONT=&quot] Close(F1);[/FONT]
[FONT=&quot] Close(F2);[/FONT]
[FONT=&quot] end.[/FONT]
[FONT=&quot]вот модуль:[/FONT]
[FONT=&quot]unit sortmas;
interface
const stlb = 5;str = 5;
type Vector = array[1..stlb] of real;
Massiv = array[1..str] of Vector;
VAR B : Massiv;
procedure FormMassiv(var A : Massiv);
function F(Y : vector):Real;
procedure StraightSelection;
implementation
procedure FormMassiv;
var i, j : integer;
begin
for i := 1 to str do
for j := 1 to stlb do
A[i,j] := random(-1000,1500);
end;
function F:Real;
var j : integer;S : real;
begin
S := 0;
for j := 1 to stlb do
S := S + Y[j];
F := S;
end;
procedure StraightSelection;
VAR i, j,nom : integer ;min : Vector;
Begin
for i := 1 to str-1 do
begin
nom := i;
min := B;
for j := i + 1 to str do
if F(B[j]) > F(min) then
begin
min := B[j];
nom := j;
end;
B[nom] := B;
B := min;
end;
end;
program ex_1;
uses sortmas;
VAR v, l : integer;F1, F2 : text;
begin
Assign(F1,'Result_of_sortirovka_Matrix.txt');
Assign(F2,'Result_pervichnaya_Matrix.txt');
Rewrite(F1);
Rewrite(F2);
FormMassiv(B);
For v := 1 to str do
begin
for l := 1 to stlb do
Write(F2,B[v,l]:6,' ');
Writeln(F2);
end;
StraightSelection;
For v := 1 to str do
begin
for l := 1 to stlb do
Write(F1,' ',B[v,l]:6,' ');
Writeln(F1);
Write(F(B[v]),' ');
// Write(F(v),' ');
end;
Close(F1);
Close(F2);
end.

[/FONT]
 
Что-то не увидел в программе указание использовать модуль. Вот это:
uses sortmas;
 
Точно, в основной программе нет после заголовка строки uses sortmas;
 
Назад
Сверху