わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

フローチャート,入れ子

その1


「スライドに貼り付けた,こんな図を,『フローチャート』または『流れ図』と言います.
この図は,はじめに条件判断を行い,真のときは,『条件を満たすときの処理』に進みます.また偽のときは,『条件を満たさないときの処理』を行います.どちらか一方の処理を実行します…ということを,表しています.
フローチャートの書き方には,規格があるのですが,授業では,長方形と菱形だけを使います.長方形は,一つ一つの『処理』です.1本の矢印が入って来て,1本の矢印が出て次の処理などにつながります.菱形は,『条件分岐』を表します.枝分かれして2本の矢印が出ます.while文やfor文も,長方形と菱形の組み合わせで,その構成を図にすることができます」

その2

「中学や高校の数学では,小カッコ・中カッコ・大カッコと,一つの数式に何種類ものカッコを使ってきたと思います.
ですがCをはじめ,プログラミングでは,そんなことは許されません.『( )』『{ }』『[ ]』にはそれぞれ意味といいますか,用途が定まっています.
そして複雑な式では,( )の中に( )を入れることになります.
さて,『( )の中に( )』だとか,『for文の中にfor文』などのように,同じ形状のものを中に入れた構造を,『入れ子』と言います.『ネスト』あるいは『ネスティング』と呼ばれることもあります.
プログラミング以外では,マトリョーシカが,入れ子の概念を説明する,もっとも分かりやすいものとなります.
四角形の中に四角形を描くのも,入れ子と言えます.例えばアスタリスクを何文字にも並べたら,正方形を描くことができ,その中により小さな,正方形を描くことになります.こんな図です」

「このサイズだけだったら,printfで並べて出力すればいいかもしれませんが,任意サイズの四角形の入れ子を描くには,どうすればいいでしょうか.一つ整数値を入力にとり,その値を,最も大きな正方形の一辺の長さとして,アスタリスク入れ子の正方形を描くのです.2重で終わらず,3重,4重,幾重にもなるかもしれません.
こうやったらプログラムで書けるんじゃないかと,考えてみて,取り組んでください」

かつて私の授業を受けた人向けの近況報告

昨年度まで,for文の構成を

for (初期化; 条件; 増分) {
  処理
}

と書いていましたが,今年度は

for (初期化; 条件; 更新) {
  処理
}

に変更しました.forのカッコ内の3番目の式は,i++のような増分演算子を使ったものに限定しなくなりました.