[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/10 00:20 / Filesize : 151 KB / Number-of Response : 754
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

米国国防省の標準高等言語エイダ(Ada)を語れ!



1 名前:名無しさんは伊達じゃない [02/01/08 21:29]
どうよ?

465 名前:デフォルトの名無しさん mailto:sage [04/11/26 18:02:13]
ADAはたぶん埋もれる言語の一つだと思う。

466 名前:デフォルトの名無しさん [04/11/26 22:27:30]
>>465
このスレがそのことを暗示しているような…

467 名前:デフォルトの名無しさん [04/11/30 18:21:01]
 

468 名前:はるな [04/11/30 19:30:11]
作り方分かりますか?
コンピュータが 0から 9までの数を 4つ, 順序付きで重複なく選ぶとする. プレイヤ(人間)は, この数列を当てるのだが, はずれた場合に提示されるヒントは次の通り.

正解の n番目の数を n番目に解答していれば, Hit と呼ぶ. Hit の個数がヒントとして提示される.
正解の n番目の数を m番目(n≠m)に解答していれば, Blow と呼ぶ. Blow の個数がヒントとして提示される.


469 名前:作ってみたその1 mailto:sage [04/12/01 00:02:43]
with Ada.Numerics.Discrete_Random,Ada.Text_Io,Ada.Integer_Text_Io,Ada.Calendar;
use Ada.Text_Io,Ada.Integer_Text_Io,Ada.Calendar;
procedure game Is
package R Is New Ada.Numerics.Discrete_Random(natural); use R;
type Four_Array is array(1..4)of Integer;
function Generate Return Integer is
seed:Generator;
begin
Reset(seed,Integer(Seconds(Clock)*100));
return Random(Seed) mod 10;
end Generate;
function Search(Target:Four_array;Seed:In Integer) Return integer Is
begin
for I in 1..4 loop
if Target(I) = Seed then
return i;
end if;
end loop;
return 0;
end Search;
procedure Initialize(computer:In out Four_array) is
begin
for I in 1..4 loop
computer(I):=-1;
end loop;
end initialize;


470 名前:作ってみたその2/3 mailto:sage [04/12/01 00:08:55]
procedure Decide(computer:in out Four_array) Is
int:Integer;
begin
Initialize(Computer);
for I in 1..4 Loop
loop Int:=Generate;exit when Search(computer,Int) = 0; end loop;
Computer(I):=Int;delay 0.01;
end loop;
end Decide;
procedure Read(Player:in out Four_array) is
int,Index:Integer:=1;Char:character;
begin
while Index <= 4 Loop
Get_Immediate(char);
case Char is
when '0'..'9' =>
Int:=Character'Pos(char)-16#30#;
if Search(Player,int) /= 0 then
New_Line;Put_Line("その値はもう使えません");
for I in 1..Index-1 loop
Put(Character'Val(Player(i)+16#30#));
end loop;
else Put(char);Player(index):=int;Index:=Index+1; end if;
when others =>
New_Line;Put_Line("0から9までの数値を入れてください");
for I in 1..Index-1 Loop
Put(Character'Val(Player(I)+16#30#));
end loop;
end case;
end loop;
end Read;

471 名前:作ってみたその3/3 mailto:sage [04/12/01 00:09:44]
function Compare(computer,Player:in Four_array) return Boolean is
Hit_Count:Integer:=0;
Blow_Count:Integer:=0;
Search_Result:integer;
begin
for I In 1..4 Loop
Search_Result:=Search(Computer,Player(i));
if Search_Result = I Then
Hit_Count:=Hit_Count+1;
elsif Search_result /= 0 then
Blow_Count:=Blow_Count+1;
end if;
end loop;
New_Line;
Put_Line("Hit : "&Integer'Image(Hit_count));
Put_Line("Blow : "&Integer'Image(Blow_count));
if Hit_Count = 4 then
return True;
end if;
return False;
end Compare;
computer,player:Four_Array;
begin
Decide(computer);
loop
Initialize(player);
Read(Player);
exit when Compare(computer,Player);
end loop;
end game;


472 名前:作ってみた人 mailto:sage [04/12/01 00:11:01]
ここって改行いくつまで...?
まぁもっとうまいひとが書けばもっと短くなるだろうが。

473 名前:デフォルトの名無しさん [04/12/05 00:06:46]




474 名前:デフォルトの名無しさん [04/12/05 01:10:19]
>>24
> あの設計者は、懲役3年執行猶予2年くらいには相当するね。
執行猶予のほうが短いなんて…

475 名前:デフォルトの名無しさん mailto:sage [04/12/05 01:11:05]
>>29
ぬるぽ

476 名前:デフォルトの名無しさん [04/12/07 23:52:55]
>>465
embedded?

477 名前:デフォルトの名無しさん [04/12/09 13:30:08]
>>475
ガッ!

478 名前:デフォルトの名無しさん [04/12/10 18:33:23]
(;´Д`)ハァハァ

479 名前:デフォルトの名無しさん mailto:sage [04/12/20 00:05:18]
Adaって今更な感じもあってか、書籍やWebページが少ないね。
特に書籍にいたっては絶版になっているのか入手がむずい。

みなさんはどうやって情報を得てるんですか?

480 名前:デフォルトの名無しさん mailto:sage [04/12/20 02:32:29]
RM読む

481 名前:デフォルトの名無しさん mailto:sage [04/12/22 01:01:37]
A#+DirectXとかやったひといないのかな

482 名前:デフォルトの名無しさん [04/12/25 23:42:24]
>>481
そんなのがあるのか、知らなかったよ。

483 名前:デフォルトの名無しさん [04/12/30 19:03:17]
(;´д`)ハァハァ (;´Д`)ハァハァ (;゜Д゚ )ハァッハァッ :.` ;:.・∵ ゚ д:.`



484 名前:デフォルトの名無しさん [04/12/31 21:59:02]
すでにこれまでに話題なってそうな質問です。恐縮。
Adaが突然実装できなくなるとどんな飛行機が落っこちますか。


485 名前:あーげあし〜 mailto:sage [05/01/04 12:15:24]
? 工場から出荷できないんじゃない?
既に稼動してるのは落ちないと思うし。

486 名前:デフォルトの名無しさん mailto:sage [05/01/22 02:06:43 ]
保守〜

487 名前:デフォルトの名無しさん mailto:sage [05/01/22 02:21:50 ]
Mingw入れたら必要ないのに付いてきた。

488 名前:デフォルトの名無しさん [05/01/23 02:29:04 ]
>>446
こないだタイタンに着地したホイヘンスも、Adaらしい。
www.crn.vnunet.com/analysis/1157756


489 名前:デフォルトの名無しさん [05/01/23 08:48:22 ]
LogicaCMG designed the Huygens software using the hierarchical object-oriented design (Hood) method
and then developed it in Ada 83, a general-purpose programming language developed
by the US Department of Defence to help software designers develop large, reliable applications.



490 名前:デフォルトの名無しさん mailto:sage [05/01/23 18:16:57 ]
Nida

491 名前:デフォルトの名無しさん mailto:sage [05/01/30 22:52:20 ]
英語力不足でLovelaceがPut_Line("Hello, world!");から先に進めませんorz
現在のAda力も同レベル・・・日本語文献が欲しい…

492 名前:デフォルトの名無しさん [05/02/04 18:16:23 ]
>>491
古いやつならあるぞ。

493 名前:デフォルトの名無しさん mailto:sage [05/02/24 22:43:48 ]
ほっしゅ。



494 名前:デフォルトの名無しさん [05/03/03 14:31:19 ]
保守

495 名前:デフォルトの名無しさん [05/03/03 14:56:31 ]
国防総省がAda作った背景何て言うんだっけ?

言語の統一の必要性の方じゃなくて、
プログラマが足りなくなるって事象を。
ソフトウェア危機だっけ?
それに対する回答が言語の統一だったような。

496 名前:デフォルトの名無しさん [05/03/12 18:30:28 ]
Ada0Yはどうなったんだ?

497 名前:デフォルトの名無しさん mailto:sage [05/03/12 19:22:01 ]
>>496
tp://hp.vector.co.jp/authors/VA028375/ada/
ここお薦め。

498 名前:デフォルトの名無しさん [2005/03/22(火) 00:15:23 ]
オブジェクト指向なの?

499 名前:デフォルトの名無しさん [2005/03/27(日) 10:48:07 ]
>>1
どうだろうね

500 名前:デフォルトの名無しさん [2005/03/28(月) 15:11:32 ]
ada

501 名前:デフォルトの名無しさん mailto:sage [2005/03/30(水) 00:18:38 ]
>>498
web.archive.org/web/20020605044428/http://www.tsujiken.ee.kogakuin.ac.jp/jada95.html

502 名前:デフォルトの名無しさん [2005/04/06(水) 13:03:49 ]
?

503 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 12:46:28 ]
hoshu



504 名前:デフォルトの名無しさん [2005/04/22(金) 17:50:19 ]
使用者が少ないっぽいな

505 名前:デフォルトの名無しさん [2005/04/22(金) 21:45:29 ]
実際の話、この言語で情報システムとか組んだことのある香具師いるのか?

506 名前:デフォルトの名無しさん [2005/04/30(土) 20:39:36 ]
ほしゅ

507 名前:デフォルトの名無しさん [2005/05/11(水) 15:45:08 ]
保守

508 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 05:03:14 ]
gcc4.0で、無名アクセス型とそれに伴いクロージャ(関数内関数の持ち出し)が使えるようになってるが、祭りじゃないのか?


509 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 08:13:33 ]
現況では、組み込みのリアルタイム処理しかadaを使っておいしいシステムはなさそう。
しかも、ある程度規模が大きいとか、変なCPUとかじゃないと利点も生かせない。(24BitCPUとか)
必要なところでは必要だけど、メジャーにはならんね。

510 名前:デフォルトの名無しさん [2005/05/13(金) 23:07:33 ]
win版の統合開発環境はでるのかな?

511 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 23:12:43 ]
>>510
既に沢山あるようだが、無料のはGPSぐらいしかないな…。


512 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 11:20:50 ]
メインステートからexit出来ないのが不便だ
SIGTERM受けたときにexit(0)したいんだけど
誰か良い方法知りません?

513 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 18:39:44 ]
>>512
「メインステート」の意味がよくわからないけど、returnでだめなら例外投げるとか?




514 名前:デフォルトの名無しさん [2005/05/19(木) 14:42:35 ]
Ada05

515 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 23:46:19 ]
ループを次に進めるような奴は無いんだろうか…?
DelphiだとContinueみたいな。

516 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 01:47:31 ]
>>515
ラベル付きexitが使えるので、end loopの直前まで飛べばいい。


517 名前:515 mailto:sage [2005/06/05(日) 10:51:50 ]
>516
ありがとうございます。
exitがラベル取れなかったので(exit_statement ::=exit [loop_name] [when condition];)
gotoに読み替えて、end loop;直前まで飛んで解決しました。


518 名前:デフォルトの名無しさん [2005/06/05(日) 16:54:53 ]
おお、技術的な会話をしてるのか

519 名前:516 mailto:sage [2005/06/05(日) 20:01:25 ]
あー、悪い。
exitはループ以外の名前やgoto用ラベルは取れなかったっけね。
begin〜endにも名前が付けられるのだから、begin〜endもexitで脱出できていいと思うのだけどなあ。


520 名前:515 mailto:sage [2005/06/08(水) 22:33:42 ]
>516
どうせなら、やっぱり全部exitで出れる様に統一して欲しいですよねぇ。
begin...end;を出れるだけでも変わってくるのだけどなぁ。

521 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 00:29:49 ]
常に一回だけ素通りする、loop 〜 exit; end loop; でくくるとか。

522 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 22:42:48 ]
ほっしゅ。

523 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 22:55:42 ]




524 名前:デフォルトの名無しさん [2005/07/26(火) 09:31:15 ]


525 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 00:19:45 ]


526 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 22:36:25 ]


527 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 23:34:24 ]
OY for 95がインスコできないよorz
gnatmakeして置き換えで何故駄目なんだ。。。
それ以上のインストール方法も書いてないし。。。

助けてぇ、エロい人ぉ

528 名前:デフォルトの名無しさん mailto:sage [2005/07/28(木) 15:56:16 ]
>>527
gcc 4.0.0以降は、Ada.ContainersもAda.Directoriesも標準装備。

529 名前:デフォルトの名無しさん mailto:sage [2005/07/28(木) 16:20:20 ]
ところで、配列の初期化でothers => <>を使ったら、要素数分空ループが生成されているような…。
除去してくれないのかgcc 4.0.1…。

subtype T is String(1..10);
S : aliased String := T'(others => <>);

なんでこんな書き方してるのかというと、aliasedつけて'Accessで渡そうとすると、初期化されてないってエラー?が出るから…。

530 名前:527 mailto:sage [2005/08/11(木) 22:51:13 ]
>528
ありがとうエロイ人!
今までGNAT使ってたけどやっぱgccに乗り換えるよ。
そして亀レスすまん。

531 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 09:16:10 ]
"GNAT"としてパッケージ化がされてないってだけで、GNATとgccの中のAdaは同じものに思えるのは…気のせいではあるまい。

532 名前:デフォルトの名無しさん [2005/08/15(月) 16:37:09 ]
あはは

533 名前:デフォルトの名無しさん mailto:sage [2005/08/29(月) 11:38:04 ]
ふと思ったんだけど、windowsで*.dllロードしたいときはどうするんだろう?
そのままImportしても出来ないし。。。



534 名前:デフォルトの名無しさん mailto:sage [2005/08/29(月) 20:21:27 ]
>>533
libgdi32.aみたいなのをリンクしても駄目?
-lgdi32

535 名前:デフォルトの名無しさん mailto:sage [2005/08/30(火) 22:54:04 ]
>>534
出来たよ、ありがとう。
つーか、リンカオプションまとめてる所とかないかな。
あの辺がさっぱり解らん。

536 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 20:51:11 ]
GNAT GPL 2005パッケージ出たね。
https://libre2.adacore.com/

gcc見る限り多態コンストラクタや拡張returnはまたパッチが出て無いようではあるのだけれど、実装済みなのだろうか?
ベースがgcc 3.4.5というのがまた。どうせなら4.0.2ベースに…。

537 名前:デフォルトの名無しさん [2005/09/15(木) 20:51:41 ]
えーい、どうせだからあげ、あげ。


538 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 21:11:50 ]
gccのスナップショット見る限りは、新機能パッチは最新ver(いまだと4.1.0)にしか適用されていないので、3.4.5ベースでAda2005というのはAdaCoreのカスタムなんだろうが…。
ぐだぐだ言ってないで落としてみればいいのだろうが、登録がw

539 名前:デフォルトの名無しさん mailto:sage [2005/10/05(水) 10:00:03 ]
STLの元になったAdaのコンテナライブラリってソース出ているの?

540 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 00:27:57 ]
>>539
知らないなあ…。
逆にSTLをバックポートしたようなものは幾つか見かけたが。

541 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 00:31:31 ]
ところで、interfaceへのダウンキャストができないのだが…そういうものなのか?
Java-like interfaceなんて言って、そのつもりで使ってると、困るんだが…。


542 名前:デフォルトの名無しさん mailto:age [2005/10/12(水) 14:39:57 ]
task内でなくとも
select
delay xx.x;

then abort

end select;
が使えることに驚き。
そんな今日。
ついでにage。

543 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 15:25:17 ]
>>542
>>423

exit when なんていう構文をさっぱり綺麗に忘れていた今日この頃。
そしてsage



544 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:02:30 ]
次スレではタイトル半角希望。
そして次スレとC++0xはどちらが早いだろうか…

545 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 13:51:47 ]
保守

546 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 10:32:48 ]
保守ついでに
<チラシの裏。>
307でgwindowsがMinGWで動かないって書いてあるけど、展開してADA_*_Path通す(”<展開したどこか>\bindings”)だけで此方では一応動いた。
gnatcomも同様。(よくは知らないが)
ただ文字列関係がANSIのままなので2k, xpではcoding\*_unicode.ad?で置換した方がよさ気。
私みたいなmeユーザには関係のない話だけど。
</チラシの裏。>


ところで、誰かRendez-vons教えてください。
何の事だかさっぱりわからない。

547 名前:デフォルトの名無しさん mailto:sage [2005/11/14(月) 21:00:21 ]
>>546
entryで待ち合わせて一時的に合流処理、っぽい。
Javaなんかのsynchronizedとは逆の考え方っぽい。
共有資源に対して直接排他アクセス権をどうこうするのではなく、
共有資源を扱うガイド役のタスクがあって、
そいつがあちこちからの要求に付き添って行動することで
同時にアクセスされないことを保証してる、っぽい。

…間違ってたらすまん。

548 名前:デフォルトの名無しさん [2005/11/17(木) 19:44:08 ]
なんでこんな終わった言語をいつまでもGCCはサポートするん?

549 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 23:01:49 ]
終わって無いから。

550 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 02:37:35 ]
adaの利点って何ですか?
例えばD言語やC++なんかと比べてアドバンテージってある?

551 名前:デフォルトの名無しさん mailto:age [2005/11/18(金) 23:05:01 ]
アドバンテージが必要か?

552 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:35:43 ]
>>550
おもいっきし書くのが面倒くさくて
しかもコンパイラが厳しすぎること。

いや、マジで。

553 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 12:35:19 ]
>>552
つまりアフォには書けない ⇒ バグが減る、ウマー

ってことか。(w



554 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:16:04 ]
…Σ (゚Д゚;)さてはお前、頭いいな。

Adaでアドバンテージと言えば、並行処理を挙げないと。

555 名前:デフォルトの名無しさん mailto:age [2005/11/20(日) 01:18:06 ]
sourceforge.netにAda関連のプロジェクトがあるね
2005年になってから増えたようだ

コンテナライブラリもいろいろあるようだが皆使ってる?
Booch Componentsなんてどうよ?

556 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 19:08:11 ]
>>553
俺のようなアフォでも苦労してコンパイルが通る頃には
なかなかバグの無いコードになってるところとかな。
Adaにしかないような機能はいっぱいあるけど
アドバンテージとするなら「コンパイラの厳しさ」が勝ると思う。

557 名前:デフォルトの名無しさん mailto:age [2005/11/21(月) 20:45:56 ]
コンパイルといえば

GCC3.4.2でコンパイルしたら実行ファイルのサイズが202KBだったんだが
GCC4.0.1でコンパイルしたら29KBになってワロス
何もオプション変えてないのにな
素敵コンパイラ(´∀`)

558 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:59:33 ]
・何かの拍子でデバッグシンボルを削除した
・知らないうちにlibgnat-4.0.dllを使うようになってる

どっちかじゃないか?

559 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 21:02:48 ]
>>555
コンテナは標準のAda.Containersができたから、
STLで言うところのalgorithmを共通化するためには
関数のシグネチャ(Adaなんで命名規則は違ってていい)が
Ada.Containersと互換じゃないと…。

Ada.Containersも微妙に肥大だったり小回りが利かなかったりするんで
互換の軽量コンテナがあればいいんだが。

560 名前:デフォルトの名無しさん mailto:age [2005/11/21(月) 22:20:39 ]
>>558
> ・知らないうちにlibgnat-4.0.dllを使うようになってる
ディストリビューションごと変えた(だけな)んで多分こっちだワ
lddで見てみたらリンクしてた

561 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:44:12 ]
declare
 torf:boolean:=false;
begin
 put_line(torf'img);
 torf:=boolean'value("true");
end;

↑これが通ってちゃんと動く
さらにAdaのboolean型は列挙型であるため
ユーザー定義の列挙型でも可能

他にこれができる言語ってある?

562 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 20:39:28 ]
program testBool;
 var
  torf: boolean;
begin
 torf := false;
 writeln(torf);
 readstring('true', torf);
 writeln(torf);
end.


program testEnum;
 type
  userEnum = (melon, apple, orange);
 var
  userEnumV: userEnum;
begin
 userEnumV := melon;
 writeln(userEnumV);
 readstring('apple', userEnumV);
 writeln(userEnumV);
end.

563 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 21:26:01 ]
PascalはRead/Writeで列挙型が入出力できる。文字列とのスマートな変換は無かったと思う。DelphiならRTTIで可能。
あとはJavaだのC#だのVM系はできて当然なんじゃないかな?

でもAdaのが一番手軽で便利っぽい。



564 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 21:28:15 ]
…ていうか562はPascalか…処理系によってはあるのかもなあ。
Delphiのリファレンスには562の使い方のReadStringは無かった。

565 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 08:04:35 ]
JDK1.5

enum Foobar { FOO, BAR, BAZ }
class FoobarSample {
public static void main(String[] a) {
   boolean b = Boolean.valueOf("true");
   System.out.println(b);
   Foobar fb = Foobar.valueOf("FOO");
   System.out.println(fb);
}

最近のスクリプト系の言語だと連想配列(ハッシュ)使うかな?







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<151KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef