задание Ada(не компилится проект) |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
задание Ada(не компилится проект) |
Psychoman |
6.09.2013 21:17
Сообщение
#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. Спасибо.С удовольствием рассмотрю все ваши предложения по этому поводу Сообщение отредактировано: Psychoman - 6.09.2013 21:30 |
IUnknown |
6.09.2013 22:56
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Перед тем, как собирать проект, надо зайти в Project->Edit project properties->Main files, и выбрать в качестве основного файла проекта файл lab1test.adb... А теперь - собрать проект (Build main):
, и будет собран EXE-шник (если сделать Build all без выбора главного файла проекта, то exe-файл, разумеется, не будет создан, и не сможет быть запущен) Сообщение отредактировано: IUnknown - 6.09.2013 22:57 |
Psychoman |
7.09.2013 12:21
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Помогло Спасибо.
Сообщение отредактировано: Psychoman - 7.09.2013 13:33 |
IUnknown |
7.09.2013 13:15
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Что именно в работе Дебаггера интересует? Как запустить - я уже рассказывал здесь: Настройка GPS (IDE для Ады)
|
Psychoman |
7.09.2013 13:34
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Уже разобрался , спасибо за помощь
|
Sanek |
29.09.2013 23:03
Сообщение
#6
|
Гость |
Привет.
Есть программа написанная на ада (из учебника). В самом начале подключается модуль win32 используя такой синтаксис with win32; use win32; Однако на практике ничего не работает. Ошибка - win32 not found in library Кто знает почему? При этом другие модули подключались в других примерах этого же учебника раньше именно так, через with / use и нормально. Может в настройках ОбжектАда что то не то? или в настройках проекта? |
Текстовая версия | 7.11.2024 16:38 |