会社の研修で課題が出たんですが、わかりません。誰か教えて下さい。
1.整数を入力してくださいと表示し、入力された文字列が10進数であるかをチェックする。桁数が10桁以上であれば、エラー。符号+-も1文字に数える。入力文字列が数字以外、小数、全角文字の場合はエラー。最初の文字が符号であればOK。結果は、整数は で桁数は ですと表示するプログラム。

2.処理を選択してください
0:処理続行
1:処理終了
と表示し、入力された処理区分が0の場合は処理を続行します。メッセージ回数は
??回です。と表示し、処理区分入力画面に戻る。1の場合は処理を終了しますと表示する。入力された処理区分が0か1以外の場合はエラーメッセージし、処理区分入力画面に戻る。

このQ&Aに関連する最新のQ&A

言語 Pascal」に関するQ&A: Pascal言語

A 回答 (1件)

こんばんわ。


プログラミングはなれが第一です。。
がんばってください。

さて、ご質問の件ですが「言語」はなんでしょうか?

BASIC/PASCAL/C ...

それぞれ書き方とかがあると思います。
補足をお願いします。あと、期限も。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QRPGで0が非表示になる。0は0と表示したい。

DDSで

E1SJSU 12P 3 COLHDG('指示数')

と指定して、

RPGで

MOVE E1SJSU E2SJSU 桁数7桁 小数点桁数0
MOVELE2SJSU S1SJSU

画面設計で

S1SJSU 4Y 小数点0桁 O(オー) 6行目の71桁目 EDTCDE('Z')

とやると、

データ上で

10.000
3.000
0.000

となっているデータが、

画面上では

10
3


となってしまいます。

ちょっと分かりづらいかもしれませんが、
0.000のデータが非表示になってしまいます。
指示数0のデータは、0と表示したいのですがどのようにすれば宜しいでしょうか?

Aベストアンサー

EDTCDE('Z')は、0の場合表示しないという設定です。
ですから、URLを参考に適切なEDTCDEを選択する必要があります。

参考URL:http://ramat.ram.ne.jp/editcode.htm

Qバッチ処理でAcess処理終了後にメッセージがでるのはなぜですか?

バッチファイルで、Access2000のマクロ「AutoExec」を起動させて処理をおこないたいのですが、
「AutoExec」の処理が終了し、Accessが終了すると、以下のメッセージボックスが表示されてしまいます。

メッセージボックスの内容
「'C\xxx.mdb'がみつかりません。名前を正しく入力したかどうかを確認してから、やり直してください。
ファイルを検索するには、「スタート」ボタンをクリックしてから、[検索]をクリックしてください。」

Access2000は、該当のディレクトリに、置いていますし、
ちゃんとAccess2000のマクロ「AutoExec」の処理は実行されています。

Access2000の処理は、正常に終了しているのに、こんなメッセージが表示されては、
意味がありません。
このAccess2000の「AutoExec」のバッチ処理は、何十個もあるバッチ処理の一部です。
バッチ処理の途中でメッセージが出るとその後自働で、行われる予定のバッチ処理が、
行われないので非常に困ってます。
どうしたらよいですか?
とにかく、バッチ処理で、Access2000を起動させ、マクロ「AutoExec」を使用して処理を行いたいのです。
その間、どんなことがあっても、メッセージボックスの表示などで、処理を止めてはならないのです。
お願いします。誰か教えてください。


バッチファイル名(このバッチファイルの次に、Access2000とは、無関係のバッチファイルの処理がたくさんあります)
xxx.bat
バッチファイルの内容
CALL c:\yyy.mdb(又は、startc:\yyy.mdb)

バッチファイルで、Access2000のマクロ「AutoExec」を起動させて処理をおこないたいのですが、
「AutoExec」の処理が終了し、Accessが終了すると、以下のメッセージボックスが表示されてしまいます。

メッセージボックスの内容
「'C\xxx.mdb'がみつかりません。名前を正しく入力したかどうかを確認してから、やり直してください。
ファイルを検索するには、「スタート」ボタンをクリックしてから、[検索]をクリックしてください。」

Access2000は、該当のディレクトリに、置いていますし、
ちゃんとAcce...続きを読む

Aベストアンサー

試してみました。コマンドプロンプト上から
CALL c:\yyy.mdb(又は、startc:\yyy.mdb) とすると
多分アクセスからのメッセージと思いますが
C\yyy.mdb'がみつかりません。・・・
その後でコマンドプロンプト上でも同様のメッセージが出ます。
explorer.exe c:\yyy.mdb とするとセキュリティの警告が・・
ですので
"c:\program files\・・・\access.exe" c:\yyy.mdb として
Access.exeのフルパスを指定しないと無理そうです。

バッチファイル中に予期せざることが発生する場合も有るので、そのあたりも考えるとWSHの方が良いような気もいたします。
根拠はありません、悪しからず。

Qverilog 符号付加減算(最上位符号拡張)について教えてください

verilog初心者で、(2の補数形式)符号付加減乗算器を作成しています。

…が符号拡張のところで解決できずにいます f(--;)
もとの数a,bの最上位ビット(符号ビット)を16ビット分(乗算器に
あわせ)増やすことは理解できたのですが、それをどうverilog
記述すればいいのかわかりません。下記にある記述ではエラーと
なってしましました。
0拡張や、演算結果の最上位ビットだけを符号ビットにしてみたりし
たのですが、これではダメとのことで もうどうやったらいいのか
わからなくなってきました。(TT);

どなたか教えてください。
m(_ _)m
--------------------------------------------------------------
module kadai(a,b,c,q);
input [15:0] a,b;
input [2:0] c;
output [32:0] q;
wire [32:0] q;

assign q =(c == 3'b000)?{16{a[0]},a}+{16{b[0]},b}:
(c == 3'b001)?{16{a[0]},a}-{16{b[0]},b}:
     (c == 3'b010)?{16{a[0]},a}*{16{b[0]},b};
endmodule
----------------------------------------------------------------
{16{a[0]},a}や{16{a[0]},b}という表現がいけないようなのですが…
よろしくお願い致します。

verilog初心者で、(2の補数形式)符号付加減乗算器を作成しています。

…が符号拡張のところで解決できずにいます f(--;)
もとの数a,bの最上位ビット(符号ビット)を16ビット分(乗算器に
あわせ)増やすことは理解できたのですが、それをどうverilog
記述すればいいのかわかりません。下記にある記述ではエラーと
なってしましました。
0拡張や、演算結果の最上位ビットだけを符号ビットにしてみたりし
たのですが、これではダメとのことで もうどうやったらいいのか
わからなくなってきま...続きを読む

Aベストアンサー

1です。
ちょっと意地悪な物言いでしたね。ゴメンナサイ。
例えば4bitの符号を8bitに拡張するときは、結局のところ
{a[3],a[3],a[3],a[3],a[3],a[2],a[1],a[0]}と左側にどんどん一番左のbit(MSB)を加えていけばよいのです。
これを見やすく書いたのが { {4{a[3]}},a[3:0] }ということですよね。
加減算は符号拡張して左右のbit幅さえ合わせておけば問題なく演算できます。
q[32:0] = (aを33bitに符号拡張) + (bを33bitに符号拡張);
です。aもbもqも同じbit幅にするのです。これだと溢れるような気がするかもしれませんが、こうしないと符号付加減算はおかしな事になります。

乗算はもっと面倒で、
wire absa[bit幅は考えてね],absb[bit幅は考えてね];

absa = a[MSB] ? (~a[MSB以外])+1 : a[MSB以外];
absb = b[MSB] ? (~b[MSB以外])+1 : b[MSB以外];
として absa*absb を演算し、最後にaとbの符号に応じてまた符号反転してください。

こういう書き方だと、実際のハードウェアに即してない気がするかもしれませんが(実際のハードは大抵符号付乗算器マクロを持っているので)、
コンパイラは優秀なもので、ちゃんと判断してマクロを割り当ててくれます。

1です。
ちょっと意地悪な物言いでしたね。ゴメンナサイ。
例えば4bitの符号を8bitに拡張するときは、結局のところ
{a[3],a[3],a[3],a[3],a[3],a[2],a[1],a[0]}と左側にどんどん一番左のbit(MSB)を加えていけばよいのです。
これを見やすく書いたのが { {4{a[3]}},a[3:0] }ということですよね。
加減算は符号拡張して左右のbit幅さえ合わせておけば問題なく演算できます。
q[32:0] = (aを33bitに符号拡張) + (bを33bitに符号拡張);
です。aもbもqも同じbit幅にするのです。これだと溢れるような気がするか...続きを読む

Qエクセルの多い桁数を表示させる方法

こんにちは。
テキストファイルより26桁の数値を
エクセルにコピーすると下記のように正しく表示されません。

コピー内容
11223344556677889900112233

コピー後
11223344556677800000000000

どなたかぜひご教授願います。
よろしくお願い致します。

Aベストアンサー

以下、Excelのヘルプより抜粋。

15 桁の制限 表示される桁数にかかわらず、Excel では 15 桁までの精度の数値が格納されます。数値の桁数が 15 桁以上の場合、残りの桁はゼロ (0) に変換されます。

と言う訳で、ご質問にある値は(数値として)入力できません。

先頭に「'」を1文字足して
'11223344556677889900112233
と入力すれば(文字列として)入力できますが、式などで参照しても数値ではないので、正しく計算する事は出来ません(ゼロとして扱われたり、空欄と同等のセルとして扱われます)

QDelphiのInputQueryで整数値を入力させたい

DelphiのInputQueryで整数値を入力させたい
のですが、
var
Val: Integer;
begin
Val := 1;
InputQuery('個数入力', '個数(1~49):', Val, 1, 49, 1);
end;
とすると、3番目の引数の型が合っていないとのコンパイルエラーが出ます。
ヘルプでは以下のように書いてあるのですが、何か宣言が必要なのでしょうか?
一番下の例を使いたいのですが…

Delphi の構文:
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
function InputQuery(const ACaption, APrompt: WideString; var Value: WideString): Boolean; overload;
function InputQuery(const ACaption, APrompt: WideString; var Value: string): Boolean; overload;
function InputQuery(const ACaption, APrompt: WideString; var Value: Double, Min: Double = Low(Integer); Max: Double = High(Integer); Decimals: Integer = 1): Boolean; overload;
function InputQuery(const ACaption, APrompt: WideString; var Value: Integer, Min: Integer = Low(Integer); Max: Integer = High(Integer); Increment: Integer = 1): Boolean; overload;

DelphiのInputQueryで整数値を入力させたい
のですが、
var
Val: Integer;
begin
Val := 1;
InputQuery('個数入力', '個数(1~49):', Val, 1, 49, 1);
end;
とすると、3番目の引数の型が合っていないとのコンパイルエラーが出ます。
ヘルプでは以下のように書いてあるのですが、何か宣言が必要なのでしょうか?
一番下の例を使いたいのですが…

Delphi の構文:
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
function InputQuery(const ACaption, APrompt: Wide...続きを読む

Aベストアンサー

Delphi7のコンポーネントには、VLC(Windows専用)とCLX(クロスプラットフォーム用)があります。

VLCでは
function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;
しか使えません。
それ以外のInputQueryを使いたい場合は、CLXを利用しなければなりません。

InputQueryが定義されているユニットは、VCLはDialogs、CLXはQDialogsです。


このカテゴリの人気Q&Aランキング

おすすめ情報