【发布时间】:2016-04-27 15:19:17
【问题描述】:
我将如何创建一个程序,它是一个在指定范围内连续传递自动随机生成的数据的线程。
我目前必须使用以下过程在控制台中手动输入每一位数据。我想创建一个程序,它在运行时能够将数据传递给这个程序,就好像它被输入到控制台本身一样。
procedure Analyse_Data is
Data : Integer;
begin
DT_Put_Line("Data input by user");
loop
DT_Get(Data,"Data must be taken as a whole number");
exit when (Data >=0) and (Data <= Maximum_Data_Possible);
DT_Put("Please input a value between 0 and ");
DT_Put(Maximum_Data_Possible);
DT_Put_Line("");
end loop;
Status_System.Data_Measured := Data_Range(Data);
end Analyse_Data;
我没有包含规范文件 (.ads) 我是 Ada 的新手,我们将不胜感激。
【问题讨论】:
-
DT_子程序与普通的Ada.Text_IO有什么不同?为什么必须是一个任务(Ada 中的“线程”一词)调用此过程,而不是让某些东西直接重复更新Status_System.Data_Measured? -
我想我想做的是:程序要求数据,即。高度是多少? (任务从指定范围传递一些随机数)并继续询问其他变量,速度是多少?等等等等我已将其设置为由用户手动输入,但如果它们由任务完成会更好。几乎就像程序在问一组问题,而任务只是将数据传回给它。现在都是为了研究
-
如果您知道问题的顺序,trashgod’s answer 应该可以解决问题。但如果没有,你可以看看this article about GNAT.Expect。