IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> задание Ada(не компилится проект)
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Здраствуйте ,недавно меня заставили писать на Аде , потому я очень мало знаю про данный язык. Разобравшись с простыми на первый взгляд болезнями ( действительно это было над чем потягаться ),что-то вроде поставить компилятор и разобраться с елементарным синтаксисом, дальше вроде все неплохо пошло ( написание самой проги ).Но вышла небольшая проблема, ошибок нет ,но выдает ,что не может скомпилировать файл.

Ошибка такого плана:"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.
Спасибо.С удовольствием рассмотрю все ваши предложения по этому поводу smile.gif

Сообщение отредактировано: Psychoman -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Разработчик
Free Pascal: Разработчик

Репутация: -  627  +


Перед тем, как собирать проект, надо зайти в Project->Edit project properties->Main files, и выбрать в качестве основного файла проекта файл lab1test.adb... А теперь - собрать проект (Build main):
Прикрепленное изображение
, и будет собран EXE-шник (если сделать Build all без выбора главного файла проекта, то exe-файл, разумеется, не будет создан, и не сможет быть запущен)

Сообщение отредактировано: IUnknown -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Помогло smile.gif Спасибо.

Сообщение отредактировано: Psychoman -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Разработчик
Free Pascal: Разработчик

Репутация: -  627  +


Что именно в работе Дебаггера интересует? Как запустить - я уже рассказывал здесь: Настройка GPS (IDE для Ады)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Уже разобрался , спасибо за помощь smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Привет.
Есть программа написанная на ада (из учебника). В самом начале подключается модуль win32 используя такой синтаксис
with win32;
use win32;

Однако на практике ничего не работает.
Ошибка - win32 not found in library

Кто знает почему?
При этом другие модули подключались в других примерах этого же учебника раньше именно так, через with / use и нормально.
Может в настройках ОбжектАда что то не то? или в настройках проекта?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 23.01.2018 2:59
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"