問題タブ [ada]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
file-io - Adaで開き、書き込み、追加する手順
この質問は、での投稿のフォローアップです。
Adaのファイルへの書き込みについて。
この質問は別の投稿に配置することを選択しました。これは、前述の投稿でわずかに異なる問題(ファイル処理の例外)に関する回答をすでに受け入れているため、より多くの人に表示されるようにするためです。
上記をコンパイルすると、次のようなエラーが発生します。
- X_File:Seq_Float_IO.File_Type;
- File_Name:文字列; |
制約のないサブタイプは許可されていません(初期化が必要)初期値または明示的な配列境界を提供します
- File_Name:文字列; |
私は2つのことを知りません:
- File_Name:String;があります。別のファイルに書き込めるようにしたいので。だから私は一般的な文字列が欲しいのですが、次のようなものではありません:
File_Name:CONSTANT String:= "one_File_Only.dat"
- プロシージャOpen_Dataを別々のadsファイルとadb(本文用)ファイルに保存する方がよいでしょうか?
どうもありがとう...
新着...
次のようにコードを変更しました。
ご覧のとおり、私は
Nameが使用するパラメーターとしてName_Xを指定しましたが、Name_XまたはName_Yのいずれかである一般的な名前を渡すことができるはずなので、これは正しくありません。申し訳ありませんが、ここに何を入れるかわかりません。
よろしくお願いします。ありがとう
declaration - Ada での定数宣言
私は Ada を初めて使用するので、その構文と規則を調べています。次に示すコードに注意を向けたいと思います。ここでは、変数 Actual_Stiffness を設定して定数値を保持しようとしています。その値は製品によって与えられます。
ここで、Stiffness_Total は、仕様ファイル Material_Data.ads で定数 Long_Float として定義されており、Stiffness_Total の値は ads ファイルで既に設定されています。
コンパイル時に警告メッセージが表示されます
警告: 「Stiffness_Ratio」は値を持つ前に参照される可能性があります
プログラムを実行すると、Actual_Stiffness は正しい値を取得しません。Actual_Stiffness を単なる Long_Float として (CONSTANT を追加せずに) 定義し、プログラムの BEGIN の後で Actual_Stiffness := Stiffness_Ratio * Stiffness_Total の積からその値を取得することができました。これは正しいことです。
私の質問は:
Stiffness_Total を、所定の値を持つ定数 Long_Float として定義しました。ユーザーが端末で Stiffness_Ratio をインタラクティブに入力できるようにしながら、Actual_Stiffness を一定に定義する方法 (プログラムで変更されないため) は? それは可能ですか?
どうもありがとう..
floating-point - Ada: 定数宣言
私は Norman Cohen の Ada 95 本を読んでいて、129 ページには一定の宣言があります。
と
2 番目の宣言は、「適切な範囲の固定小数点型の任意の浮動小数点」として解釈されると言われています。私の質問は、Long_Float の精度で作業しているとします。たとえば、2*PI などの定数を宣言するには、次のように具体的に宣言する必要があります。
またはさらに良い:
(小数点以下の桁数を増やすための 2 番目の宣言) ?
だろう
またはまだ良い
たとえば、Long_Float計算でTwo_Piを使用しているかどうかをAdaコンパイラが認識できるように、本が主張するのと同じくらい優れていると、コンパイラは必要な精度の桁数を提供しますか? Pi 値 3.1415926536 は Long_Float 型ではないため (精度の桁数が少ないため)、最後の宣言、つまり
Long_Float 計算で Two_Pi が必要な場合は、これで十分です。私は正しく理解していますか?同様の理解で、
Float 型の計算にも関連し、コンパイラは必要な精度の桁数のみを提供します。
どうもありがとう...
matrix - Ada マトリックス パッケージ
ほとんどの行列/ベクトル操作を行う無料のパッケージを探しています。私はいくつかの基本的な関数を自分で書くことができますが、固有値や固有ベクトルの計算などの高度な関数については、堅牢なコードを好み、そのようなパッケージが自由に利用できるかどうかを知りたいです. 私が正しく理解している場合、Ada 2005 にはより多くの行列演算機能がありますが、対称行列とエルミート行列のみの固有値を計算する機能があります。あらゆる種類のマトリックスを処理できる、より一般的なパッケージが必要になります。
Drexel Fusion Laboratory の Ada95 マトリックス パッケージ (54KB tar.gz ファイル) にはリンクがありました: http://dflwww.ece.drexel.edu/research/ada/ですが、このインクのページは現在存在しません。
どうもありがとう...
ada - Adaマニュアル:注釈付きと統合の違い
SpringerのConsolidatedAdaReference Manual 2005 Edition(ISO / IEC 8652:2007(E)、Ed。3)とAnnotated Ada Reference Manual(ISO / IEC 8652:1995(E))2005 Editionの違いは何ですか?注釈付きAdaリファレンスマニュアルはドラフト16としてマークされています。私が正しく理解していれば、統合バージョンは注釈付きバージョンの最終バージョンです。私は正しいですか?
どうもありがとう...
graph - Ada: 2D グラフのプロット
値をファイルに保存して後で外部描画ソフトウェアを使用するのではなく、Ada コード内で 2D グラフをプロットできると興味深いでしょう。Web で検索すると、Win_IO と JEWL の 2 つのパッケージが見つかりました。私はWIN_IOを使用できましたが、ドキュメントは非常に貧弱で、使い始めたばかりで、キャンバスのサイズを変更できないようです。私は GPS エディタを使用していますが、Win_IO を実行すると、一部のフォントがシステムで利用できず、出力が見にくいという苦情が寄せられます。最後に、プロット自体は画面に表示されません。グラフを取得するには、コンパイルおよびリンクされているファイルの exe ファイルをクリックする必要があります。
JEWLも見ましたが、グラフをプロットできないようです。
2D グラフをプロットするための Ada パッケージは他にもありますか?
どうもありがとう...
GNAVI での私の経験:
インストール手順は次の場所にあります。
http://www.gnavi.org/index.php?Command=Class&ClassID=Start&CID=381
基本的に、インストールは次のもので構成されます。
- このディレクトリをパスに配置します
- gnatcom に cd して実行: make install
- gwindows に cd して実行: make UNICODE=1 all
- 実行: gnavi_ide をお楽しみください :-)
しかし、インストールはエラーに悩まされています:
C:\gnavi\gnatcom>install GNATCOM のインストール..... MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Error makefile 2: Command syntax error * make 中に 1 個のエラー * インストール完了
C:\gnavi\gwindows>make UNICODE=1 all MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Error makefile 2: Command syntax error * make 中に 1 個のエラー *
C:GNAVI は私のパスにありますが、IDE は C:GNAVI にある icg.exe がパスにないというエラーを表示します。人々が無責任で不完全なインストール手順を書くことができることに、私は非常に失望しました. 開発者は、通常のユーザーがソフトウェアをインストールできるかどうかさえわかっていませんか?
また、 https: //gna.org/projects/adadesigner で AdaDesigner を見てみました。
ここで、FireFox は文句を言います: この接続は信頼されていません
gna.org は無効なセキュリティ証明書を使用しています。
発行者の証明書が不明であるため、証明書は信頼されていません。
そのようなウェブサイトにはアクセスしないことにしました。
graph - Ada: Windows での cmake と PLplot のインストール
これは、 Ada の投稿: plotting 2d graphsのフォローアップです。これは別の問題なので、新しい投稿を作成することにしました。Windows 用の PLplot のインストールはhttp://www.miscdebris.net/plplot_wiki/index.php?title=Specifics_for_various_platforms#Windowsにあります。インストールは次のとおりです。
http://sourceforge.net/projects/mingw/files/からexeファイルをダウンロードして、MinGWのインストールに行くことにしました。ここで Windows 用の cmake も入手しました: http://www.cmake.org/cmake/resources/software.html。
ここで、PLplot をインストールするための 4 番目の命令 (上記を参照) を実行すると、次のようになります。
インストール オプションで、cmake に必要なシステム パスを作成させることを選択しました。インストール時に環境変数 CMAKE_C_COMPILER_ENV_VAR と CMAKE_C_COMPILER が作成されなかったのはなぜでしょうか。なにか提案を?
どうもありがとう..
compilation - Adaによるソフトウェアエンジニアリング:スタブ; 個別のコンパイルユニット
私は機械工学のバックグラウンドを持っていますが、Adaで優れたソフトウェアエンジニアリングの実践を学ぶことに興味があります。いくつか質問があります。
Q1。私が正しく理解していれば、誰かがパッケージ仕様(ads)ファイルを作成し、それをコンパイルしてから、パッケージを使用しているメインプログラムをコンパイルすることができます。後で、パッケージ本体に何を含めるかがわかったら、後者を作成してコンパイルできます。その後、メインプログラムを実行できるようになります。私はこれを試しましたが、これが良い習慣であることを確認したいと思います。
Q2。2番目の質問は、スタブ(サブユニット)とSEPARATEの使用についてです。次のようなメインプログラムがあるとします。
次に、別のファイルにプロシージャINPUTがあります。
私の質問:
a)AdaGIDEは、INPUTプロシージャファイルをinput.adbとして保存することを提案します。しかし、メインプログラムtest2をコンパイルすると、次の警告が表示されます。
AdaGIDEにとって、上記の警告がメッセージの前に表示されるため、これはより多くのエラーです。
そこで、コンパイル時にAdaGIDEから提案されたように、input.adbファイルの名前をtest2-input.adbに変更しました。メインファイルをコンパイルする際に、警告はありません。今の私の質問は、書いて大丈夫かどうかです
サブユニットファイルtest2-input.adbで行ったように、または次のようなより説明的な用語を書く方がよい
プロシージャ入力には親プロシージャtest2があることを強調しますか?この考えは、前述のようにtest2-input.adbについてヒントを与えてくれたAdaGIDEから得られたものです。
b)私の次の質問:
コンパイル順序をよく理解している場合は、最初にメインファイルtest2.adbをコンパイルしてから、スタブtest2-input.adbをコンパイルする必要があります。スタブをコンパイルすると、次のエラーメッセージが表示されます。
ただし、test2.adbのバインドとリンクを実行して、プログラムを実行できるようになりました。
スタブtest2-input.adbをコンパイルしようとして間違ったことをしたのか、それともコンパイルすべきではないのかを知りたいのですが。
Q3。サブユニットを持つことの使用は何ですか?大きなプログラムを小さな部分に分割するだけですか?サブユニットのBEGINとENDの間にステートメントを入れないと、エラーが発生することはわかっています。つまり、これは常にそこにステートメントを配置する必要があることを意味します。そして、後でステートメントを書きたい場合は、サブユニットのBEGINとENDの間に常にNULLステートメントを入れて、後で後者に戻ることができます。これは実際にソフトウェアエンジニアリングが行われる方法ですか?
どうもありがとう...
variables - エイダ:この変数にアクセスする方法は?
私は次のように修正された教科書の例を持っています(本はUnderstanding Ada --- Bray and Pokrassによるソフトウェアエンジニアリングアプローチです):
次に、いくつかの変数とその内容にアクセスします。
NUMBER_OF_MOONS(土星)には問題なくアクセスできますが、DISTANCE_TO_SUN(土星)にアクセスできません。アクセスする方法は?
どうもありがとう...
これは私がステートメントでコンパイルするものです
リストファイル:
問題は、DISTANCE_TO_SUN(Saturn)が浮動小数点型の1つであるMILES型であるということです。したがって、Ada.Float_Text_IO.Putを使用するだけでは機能しません。
floating-point - Ada:別のパッケージからのフロートインスタンス化
6桁の精度で新しいFloatタイプを作成しようとしています。でも使えないようです。MyFloat_IO.adsパッケージのコードは次のとおりです
およびメインコード:
コンパイルすると、次のエラーメッセージが表示されます。
私は何が間違っているのですか?
どうもありがとう...
更新:TEDの提案による新しいコード:
パッケージMyFloat_I0.ads:
/li>とメインコード:
/li>
コンパイルすると、次のようになります。