• 締切済み

Pascalで二次元配列、手続きを使ったプログラム

Pascalで画面に円を描くプログラムを作成しています。 作成する上でいろいろ指定があって、 1.描画領域の確保 char型の二次元配列canvasを準備する  const M=20;  N=20;  var array[1..M,1..N]of char; 2.描画領域のクリア  canvasのすべてにピリオドをいれる手続きclearの作成 3.描画領域の表示  canvasの表示をする手続きdisplayを作成 4.四角を描く  canvasに*で四角を描く手続きsquareの作成  四角の一辺の長さは引数で指定する  ex) square(5); square(9);  (四角は縁を*で表示、他はピリオド なるべくcanvasの中心に) 1,2,3は出来たのですが、4がどうしてもわかりません。 教えて頂けないでしょうか。はっきりわからなければ手がかりでも構いません。

みんなの回答

  • 0x131cc6e
  • ベストアンサー率36% (42/115)
回答No.1

この場合、「四角形を描く」というのを別の言葉でいえば「*を並べて四角形に見えるようにする」ということです。 つまり*をどこに置くかをロジックで書けばよいわけです。 四角に並べるのが難しいなら、まずは引数のサイズの横線を描いてみては? それが出来たらそれを発展させて四角になるように変更する。 それが出来たら今度はセンタリング処理を加える。 少しずつ理解できる単位で潰していくといいですよ。 ※これって宿題ですか?  この問題の肝は4のロジックを考えることなので、がんばって頭を捻ってみてください。

murasakizu
質問者

お礼

解答ありがとうございます。 中心に描くっていうのがわかりにくくて。。 もうちょっと考えてみます(> <)/^^

すると、全ての回答が全文表示されます。

関連するQ&A