はじめに
sunabaの導入については「Sunaba講座 #0 導入編」をご覧ください。各講座へのリンクも貼ってあります
課題01 画面に点をたくさん表示
タイトル通り、**画面に点をたくさん表示させてみましょう。**どこにいくつ点を描くかはおまかせします。
- 作業フォルダ内でファイル新規作成。ファイル名はkadai01.txtです。
- 前回の課題は1行書いて点1つ。たくさん書くには、その分だけ行を増やせばいいはずです。
- 点を描く位置と点の色は、Sunaba早見.pdf で確認しましょう。
- 思う存分書けたら、実行しましょう。
課題は早々に終わってしまったかと思います。
以下はC言語学習の先取りになります。関係ないぜ、という人は次の課題に進んでください。
メモリマップド I / O
Sunabaのメモリと画面の仕組みは、メモリマップド I / O(アイオー) と呼ばれる形式です。
メモリマップド I / O とはコンピュータ内部の形式の一種で、I / Oとは input/output、つまり入出力のことを指します。コンピュータにおける入出力は、何を中心として見た入力/出力なのかによって変わります。
パソコンとマイコン(機器に組み込む小さなコンピュータ)を比較すると以下のようになります。
入力 | 出力 | |
---|---|---|
パソコン | キーボード、マウス、Webカメラ 等 | ディスプレイ、スピーカー 等 |
マイコン | スイッチ、可変抵抗器、光センサ 等 | LED、液晶表示器、モーター 等 |
SunabaはPC上で動かすアプリケーションなので、上の表でいうとパソコンの方に該当します。(Sunabaでカメラ情報は入手できませんが。。。)
メモリマップド I / O をもう少し詳しく表現すると、メモリの読み書きと同じ方法で、コンピュータ(CPU)と入出力機器を通信させる仕組み と言えます。
メモリってそんなに大事?
ここまで「メモリ、メモリ」と言われると、「メモリを理解していないとプログラミングできないの?」と不安になる人がいるかもしれません。大丈夫ですよと言いたいですが、ダメな場合もあります。デスクトップアプリやWebアプリを作る場合、メモリを意識する機会は少ないかもしれませんね。
- 日記アプリや店舗管理システムを作る時に細かなメモリ管理はきっといらないでしょう。膨大なデータの扱いではメモリ操作よりデータベース設計の良し悪しが求められそうです。
- Webアプリ開発ではデータ通信量の対処の方が大変そうです。(専門外なのでちゃんとは分かりません)
ただ、データサイズ縮小やスピードUPを要求する場合はその限りではないでしょう。
色々書きましたが、機器類のコンピュータ制御を代表に、C言語で開発するものについてはメモリの理解が必須です。この講座では後日、C言語を使ってマイコンのメモリやI/Oを直接操作することを想定しています。
-
研修では...
もうやるしかないです。Sunabaでメモリ操作に慣れておきましょう。