Ошибка такого плана:"Invalid context, cannot build.Error while trying to execute C:\Users\Psycho\AdaProjects\Lab1Test: not an executable".
Вот пример кода:
Код
////////////////////////////////Спецификации////////////////////////////////////////
--1.21 - D = sort(A) + sort(B) + sort(C)*(MA*MZ);
--2.24 - MG = sort( MA - MB * MC );
--3.25 - E = ( A + B + C )*( MA * MB );
package Lab1 is
N: Integer := 3;
type Vector is array( 1..N ) of Integer;
type Matrix is array( 1..N ) of Vector;
--procedure Func1( A,B,C : in Vector; MA,MZ: in Matrix; D : out Vector );
--procedure Func2( MA,MB,MC : in Matrix; MG : out Matrix );
--procedure Func3( A,B,C : in Vector; MA,MB : in Matrix; E : out Vector );
procedure sortVectorUp( K : in Vector; S : out Vector );
procedure sortVectorDown( K : in Vector; S : out Vector );
--procedure sortMatrixUp( MK : in Matrix; MN : out Matrix );
--procedure sortMatrixDown( MK : in Matrix; MN : out Matrix );
procedure InputVector( V : out Vector );
procedure InputMatrix( M : out Matrix );
procedure PrintResultMatrix( M : in Matrix );
procedure PrintResultVector( V : in Vector );
end Lab1;
///////////////////////////////////////Реализация///////////////////////////////////////////////
with Ada.Integer_Text_IO;
use Ada.Integer_Text_IO;
with Ada.Text_IO;
use Ada.Text_IO;
package body Lab1 is
procedure InputVector( V : out Vector ) is
i : Integer := 0;
begin
for i in 1..N
loop
Get( V(i) );
end loop;
end;
procedure InputMatrix( M : out Matrix ) is
i,j : Integer := 0;
begin
for i in 1..N
loop
for j in 1..N
loop
Get( M(i)(j) );
end loop;
end loop;
end;
procedure sortVectorUp( K : in Vector; S : out Vector ) is
minElem : Integer := 9999;
i,j: Integer := 0;
begin
for i in 1..N
loop
for j in i..N
loop
if K(i) < minElem then
minElem := K(i);
end if;
end loop;
S(i) := minElem;
end loop;
end;
procedure sortVectorDown( K : in Vector; S : out Vector ) is
maxElem : Integer := -9999;
i,j: Integer := 0;
begin
for i in 1..N
loop
for j in i..N
loop
if K(i) > maxElem then
maxElem := K(i);
end if;
end loop;
S(i) := maxElem;
end loop;
end;
procedure PrintResultVector( V :in Vector ) is
i : Integer := 0;
begin
for i in 1..N
loop
Put( V(i) );
Put( " " );
end loop;
end;
procedure PrintResultMatrix( M :in Matrix ) is
i,j : Integer := 0;
begin
for i in 1..N
loop
for j in 1..N
loop
Put( M(i)(j) );
Put( " " );
end loop;
New_Line;
end loop;
end;
end Lab1;
////////////////////////////////////////////Выполняймая процедура //////////////////////////////////////////////////////
with Lab1;
procedure Lab1Test is
A : Lab1.Vector;
begin
Lab1.InputVector( A );
Lab1.PrintResultVector( A );
end Lab1Test;
Компилятор GNAT 2011.
Спасибо.С удовольствием рассмотрю все ваши предложения по этому поводу

Сообщение отредактировано: Psychoman -