ADA - Ejecutar en una tarea una función implementada en otra tarea

   
Vista:

Ejecutar en una tarea una función implementada en otra tarea

Publicado por Sergio (1 intervención) el 06/11/2011 13:56:30
Hola señores,

Necesito ayuda, soy completamente nuevo en esto de ADA. He leído algunos manuales pero no logro aclararme. El tema es el siguiente, necesito hacer un programa (el que sea) pero con la siguiente especificación:
"Implementar en ADA dos task (tareas): Task A y Task B. Task A deberá ejecutar una función implementada en Task B.

Tengo algo así, pero no funciona, podeis ayudarme:
//////////////////////////////////////////////////////////////////////////////////////////////////////
with gnat.io; use gnat.io;
procedure hello is

task Tarea1;
task Tarea2;

task body Tarea1 is
X : Tarea2;
begin

Factorial(X);

end Tarea1;

task body Tarea2 is
begin
function Factorial (N : Positive) return Positive is
begin
if N = 1 then
return 1;
else
return (N * Factorial (N - 1));
end if;
end Factorial;
end Tarea2;

N:Integer;
begin
-- En este momento comienzan a ejecutarse ambas tareas.
Put("Introduce un numero: "); Get(N); New_Line;
Factorial(N); Put("El factorial es": &N);
end hello;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de ADA
- Cursos de ADA
- Temas de ADA
información
Cursos y Temas de ADA
- Introducción al lenguaje Ada95
- Programación multitarea con Ada
- Ada 95 Reference Manual