• 締切済み

CASL(II)で・・・

CASLで キーボードから数値を入力して、それに応じて 三角形(右下が直角な直角三角形) * ** *** **** ***** や ピラミッド * *** ***** を表示したいのですが自分のでは空白を出力してか改行してしまって思い通りできません 改行しない命令があればそれを教えてください。 あと できればそのソースも載せてほしいです。。。 お願いします

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

> 改行はしてしまうということは > 上のように*の最大を5などと決めて作るしかないですか? はい,そうなります。 情報処理技術者試験 「試験で使用する情報技術に関する用語・プログラム言語など」 Ver2.2(2012年5月版) http://www.jitec.jp/1_13download/shiken_yougo_ver2_2.pdf において規定されている OUTマクロ命令は「OUT 出力領域,出力文字長領域」という書式であり,一行分の出力文字列を溜め込んで出力する命令ですから。 > キーボードから読み込んだ段だけつくることはできないのでしょうか・・・? ハードウェアCOMETIIの主記憶容量は65536語ですし,OUTマクロ命令の出力文字長領域の取り得る値も0~65535です。直角三角形やピラミッドの一辺の長さを,この条件の下で許されるかぎり長くすることはできます。 ただ,OUTマクロ命令の1回の実行により,一行分の出力文字列を溜め込んで出力し,その後レコード末尾が出現する(コンソールの場合は改行される)という動作は変わりません。 それが望みの動作ではないのなら,CASLIIの既定の命令群ではない,独自のマクロ命令を作ることになるでしょう。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

> 改行しない命令があればそれを教えてください。 改行しない命令はありません。 OUTマクロ命令は1回実行すると1レコードを書き出す命令であり,これをコンソール出力するとレコードの末尾に改行が付加されますので。 ですから次のように出力したいのなら, * *** ***** 次のようなコードを書けばよいわけです。 OUT STR,LEN1 OUT STR,LEN3 OUT STR,LEN5 LEN1 DC 1 LEN3 DC 3 LEN5 DC 5 STR DC '*****' 別にLEN1, LEN3, LEN5を個々に定義しなくても,1語の領域(例えば LEN DS 1)の中身をプログラミングで1, 3, 5と変更すれば結果は同じであることは大丈夫ですよね。

sho1113
質問者

補足

表示が全部左下が直角な直角三角形だったので"_"を空白として見てください 右下 ____* ___** __*** _**** ***** 右上 ***** _**** __*** ___** ____* ピラミッド __*__ _***_ ***** といったように表示したいです 改行はしてしまうということは 上のように*の最大を5などと決めて作るしかないですか? キーボードから読み込んだ段だけつくることはできないのでしょうか・・・?

関連するQ&A

  • CASL1

    CASL1の問題でわからないものがありました。お手伝いいただけると助かります。問題に解説も載っていたので一緒に載せておきます。きっとそれほど難しくない問題なのでしょうが、CASLになれない為参考書を読んでもよく理解できません。。 10進入力と数字コード 入力 1~4個の10進数字の列。 出力 入力を正の10進数とみなしたときの2進表現。但し、有効数字のみを出力すること。 例:入力 2006[Enter] 出力 11111010110(メモリーの16ビット表現をそのまま出力した 0000011111010110は不可) 解説: (1)CASLの入出力はメモリー上の連続する領域(入出力バッファ)に文字データとして置かれた内容をINマクロ、OUT マクロでバッファの名前(先頭番地に付けたラベル)、バッファの長さを指定して行う。 (2)文字列を10進数として処理するためには、各文字が意味として0~9の数値をもつこと、各桁が10の冪乗の重みをもつことを理解する必要がある。前者では文字データから数値への変換(文字0~9に対するJIS の文字コードは連続しているので文字0に対するデータを引けば数値になる)し、後者では(それまでに処理した)上位桁の数値を10倍して次の新しい桁の数値を加えればよい。CASLには乗算の命令はないので2倍したもの(左1ビットシフト)と8倍(更に左2ビットシフト)したものとを加えればよい。 (3)数値を2進数字の列として求めるには1ビットずつ処理してシフトすればよい。例えば、1とAND を取ると最下位ビットが抽出される。

  • CASL2

    CASL2でどうしても分からない問題があります。 SLL命令で1桁ずつOFに出していくのですが、 プログラムの組み方をしっかり把握できていない為、 どうにもならない状態です。 分かる方がいらっしゃいましたら、 ヒントを頂きたいと思います。 よろしくお願いします。 ・課題1 DATA領域に格納されている1語の数値を、 2進数として画面に表示する プログラムを作成しなさい。 DATA領域の語は#1234とする。

  • CASL(2)の問題について

    今年の夏ごろから興味があってCASL(2)の勉強をはじめたのですが、書籍などを調べても参考のようなものが載っておらず、どうしても分からない問題がありましたので、どなたかお分かりの方いらっしゃいましたらアドバイスをお願いいたします。 【問題】キーボードから得点(1~10)を複数件入力し、「入力された得点」、「平均点」、「合計点」を出力せよ。ただし、0(ゼロ)入力でデータ終了とする。 注)平均点は、小数点以下切り捨て可。 〔出力例〕 3 9 6  GOKEI= 18 HEIKIN= 6

  • casl2プログラム

    プログラムの初心者で,情報処理試験のためにcasl2を勉強して いるのですが, 二桁の正の数値を2つ入力して,和と差を表示する という問題が,テキストに書かれていたのですが,解答があいにく ありません。もし教えていただけると助かるのですが。できれば ある程度の説明も付加していただけると幸いです。

  • CASL(2)の勉強方法について

    30代の男性です。今年の秋の情報処理技術者試験で基本情報を受けようと思います。 午前対策は参考書を購入して勉強するつもりです。 ここからが質問なのですが、午後対策はどうやって勉強すればよいのでしょうか? 自分はCASL(2)を選択する予定です。ただ勉強法がわかりません。とりあえずCASL(2)の参考書を購入するとして、その他に例えばCASL(2)のソフトを購入し自分のパソコン上でプログラムを作成し、ソースプログラムを解釈(アセンブリ?)したり、実行結果をパソコン画面に表示したりなんて可能ですか?あと、情報処理試験の公式サイト上からエミュレータのダウンロードが可能と聞きましたが、ダウンロードしておけば勉強する際になんか役に立つのでしょうか?長文になりましたが回答願いますm(__)m

  • 最大値を求めるプログラム

    キーボードから入力された5つの数値データの最大値を求め、出力するプログラムを作成するんですが、キーボード入力まではコードを書けましたが最大値を求めるソースが分からないです。 どなたか教えて下さい。

  • C言語で直角二等辺三角形を表示したい

    ○○○○* ○○○** ○○*** ○**** 入力した数字を等しい2辺に持つ、○が空白で*で二等辺直角三角形を表現するプログラムを作りたいと思っています。 (右下が直角です。) 色々なサイトや教科書も読んでみたのですがいまいち分かりません。 どなたかどんなプログラムになるか教えて頂けませんか?

  • SHELL関数のSENDKEYについて

    エクセルマクロで、下記命令を実行すると 【命令】  文章="0:00~12:00(今日)"  Shell "notepad.exe", vbNormalFocus SendKeys 文章 【出力】 0:00 12:00今日 メモ帳が開き↑と表示されます 本当は↓と表示したいです。 0:00~12:00(今日) どうやら『~』は改行 『(』『)』は空白として認識されているようです。 理由、解決方法等ご存知の方がいらっしゃいましたら、ご回答お願いします。

  • 「OK Wave」サイトの表示が右下に縦長に表示されます

    ここで質問していいのかわかりませんが、 「OK Wave」サイトの表示が右下に縦長に表示されます。 いつもは、正常に表示されていたのですが、数日前に、 長文の質問をしたところ、いつもの部分には左上に矢印「→」 が表示されました。  質問の改行をしなかったためではないかと、指摘されたので、 質問をたびたび改行して、質問を短くしました。  しかし、いくら文章を改行しても、短くしても、空白の行を挿入しても、変化がありません。  質問の文章を入力するときは(今文章を入力しているときです)、 正しく画面に表示されます。  しかし、質問が完了した後は、上述のように、左上に「→」が表示され、中央には何も表示されず空白です。  そして左の下のほうに、質問内容が、3文字ぐらい入る枠に、縦長にずっと下まで表示されます。  自分の質問以外の、質問や、質問の題名の表示(検索したときの表示)も同じようにおかしく表示されてしまいます。  どのようなことをすれば改善されるか、ご存知でしたら教えてください。(私はまったく知識がありませんので) よろしくお願いします。

  • 整数格子点を列挙するプログラム

    『座標上に(0,0),(x,0),(0,y)を頂点とする直角三角形を考え、 xとy(整数)をキーボード上から任意に入力した場合に、 その境界線上も含む整数の格子点を例のように表示する プログラミングを作成せよ。』という問題です。 入力例:(xに3,yに4をキーボード上から入力) > Input x : 3 > Input y : 4 出力例:(入力した整数に応じて以下のように出力) > (0,4) > (0,3) > (0,2) (1,2) > (0,1) (1,1) (1,2) > (0,0) (1,0) (2,0) (3,0) for文を使うと思うのですが、どのようなプログラムを作ればいいのか分らないので、教えてください。