日誌

情報技術科ここだけトピックス

右 入れ子

プログラミングにおいて、ループ内でさらにループを使用する構造などを入れ子と呼びます。
たとえば画像は縦と横(さらに色)で構成されるので、画像データなどを扱うには何重もの繰返し処理が必要になります。

                    

昼 HyperText Markup Langage

インターネット検索など、ブラウザでWebページを表示するときにHTMLが必要ななります。
Webページは文字だけでなく、画像や音声、動画やリンクを合わせて表示できます。
HTMLは様々な「タグ」でコードを構成してWebページがつくられます。

  
  ※このページのHTMLの一部

嵐 配線の色

電圧が直流 数[V] の電子回路を扱う場合でも、配線に用いる色にも気を払いましょう。
+5[V]などのプラス側は赤、対して0[V](電池でいうマイナス側)は黒、それ以外の箇所は赤黒を使わない・・・など
電源ラインを明確にしたり、信号の意味を分けて把握しやすくするためにも色分けは重要です。
   
(100[V]以上では明確な色分けがあり、配色も異なるので注意。)

お知らせ 予約語

プログラミングをする上で、変数名などある程度自由に決められる部分でも、
そのプログラミング言語で、すでに処理命令などで使われている語句と同じ名前は使えません。
(同名がつけられる言語でも、同名は望ましくありません)
     

出張・旅行 「おもしろさをつくる」とは?

もし好きなゲームがあれば・・・
そのゲームのどのようなところが楽しいですか?

「おもしろさ」をプログラムで実現するには、どうすればよいでしょう。
さらに楽しくするためには、どのような要素などがあればよいでしょうか、
そしてどのように実装できるか・・・

おもしろさは発想力だけで突発的にできるのではなく、ニーズの分析や
様々な要素を綿密に組み上げて、本当のおもしろさがつくられると言えます。

  

嵐 電力[W]ワット,電圧[V]ボルト,電流[A]アンペア

コンセントに、よく「最大1500Wまで」など表記されています。

    

電圧、電流との関係は  電力[W] = 電圧[V] × 電流[A]  になります。
家庭用コンセントは交流100[V]なので、電流としては合計15[A]の範囲で使ってくださいということです。
たとえば部屋全体で、30[A]の許容量があっても一箇所からタコ足配線すると危険になります。熱を持ったり、動作しなくなってしまうので、電力にも気を払いましょう。

? パリティ

データの正当性をチェックする手法(誤り検出)の一つとして、パリティビットの付加があります。


 7ビットのデータに奇数パリティを付加した例   
 0
1
 0
 0
 0
 1
 1
 0
 ※右端がパリティビット。奇数パリティの場合は全体で「1」の数が奇数になるようにビットを付加する。

 もし、何らかの異常でビットが反転してしまった場合・・・
 
 0
1
 0
 0
 1
 1
 1
 0
 奇数パリティのはずなのに、全体のビット「1」の数が偶数なので、このデータは誤りがあると気づくことができます。

遠足 代入

計算問題では、「1+2= 」 や 「3x2 - x =  」など、イコール記号の左側に式があって、右側に結果があることがありますが・・・

プログラミング言語の処理では基本的に、イコール記号の右側に式や処理をおいて、左側に結果を得るかたちで記述します。

     

ひと休み エスケープシーケンス

プログラム実行中に表示するメッセージで改行をしたい場合、
プログラムコード内でEnterキーを打ってもコードが改行されるだけで、実行中の表示は変化しません。

動作を示す記号や、特殊な文字を表示する記号をエスケープシーケンスと呼びます。
たとえば改行であれば、「\n」を使用します。(※環境により、半角の「¥」または「\」と表示されます。)

C言語の例
        

グループ 1+1は?

算数で、1+1 「いち たす いち」 は2 ですが、ブール代数では1+1は1になります。

この場合は、1が「いち」ではなく、成立している状態「真(True)」をあらわし、「真もしくは真であることは真」ということになります。
他にも算数とは異なる公式がいくつかあります。

構成する電子回路から、プログラム上の条件式や、データベースの操作にいたるまで、
2値が扱いやすいコンピュータには、このブール代数は応用しやすい考え方となります。

記念日 今、何月何日?

スマホやパソコンで、今日の日付が表示されていることがあたりまえのようですが、
月ごとに日数が違ったり、うるう年で日数が変わったり・・・
   
さらに、うるう秒だったり、国によって暦が違ったりしています。
コンピュータに「今日」の日付が表示されているのは、単純なことではないのです。

病院 例外処理

多くのプログラミング言語には「例外処理」という機構があります。
たとえば、停止してはならないシステムや、危険な状態で停止しないために、
起こりうることへの対処をプログラムに組み込むことで、処理の継続や、安全な状態で停止させることができます。
   

携帯端末 肖像権

プライバシーを守るための一つとして、自分の姿を写真などで勝手に公開されないようにできる権利があります。
スマートフォンで誰でも写真を撮ったり、インターネットを利用できるようになりました
が、たとえば写真をSNS等にアップする場合、いろいろな映り込みにも注意するようにしましょう。
      

情報処理・パソコン 画像表現

コンピュータが画像を扱うときの形式として、ペイント系ソフトで扱うラスタ型と、ドロー系ソフトで扱うベクタ型があります。


格子状(ピクセル)に切り分けて色情報を保存するラスタ型
       

座標位置や大きさ回転情報を保存するベクタ型
       

それぞれに利点があり、目的に応じて使い分けられるとクオリティの高い状態で出力が得られます。

電車 プログラミングにおける配列

たとえばテストの得点のように、いくつもの同じ形式のデータを扱う場合、バラバラの変数をいくつも準備するより、一つの名前でいくつものデータを扱える『配列』というものがあります。

      
   

添え字を変化させてデータを指定することになり、多くのデータでもプログラミングしやすくなります。

! 電子化された情報の特性?


ディジタルデータは、劣化しないといわれることもありますが・・・
特にネット上のディジタルデータは、『 残りやすく かつ 失われやすい 』 側面があるといえます。

すでに体験していることも多いはずですが・・・
それとも影響を受けていることに気付いていないかもしれません。

右 フローチャート

ある問題解決を考えるときに、言葉だけでなく図案を用いて手順の流れを示します。
          
ソフトウェア開発に限らず、実社会の様々な作業手順でも用いられていることがあります。
ものごとの流れを整理し、相手に伝えるためにも活用できます。

(図記号は全国工業高等学校長協会情報技術検定を基準に紹介しています)

情報処理・パソコン ローマ字入力

キーボードで日本語を入力する場合、キーに書かれている「ローマ字」や「かな」をもとに入力し、漢字は変換していくことになります。
プログラムコードを入力する場合、英字と日本語を使い分けることもあります。
ローマ字入力を活用する場合

  「にいざそうごう」→「n i i z a s o u g o u」
  「じょうほうぎじゅつ」→「 j o u h o u g i j u t u 」または「 j y o u h o u g i j y u t s u 」
  「ぱっち」→「 p a t t i 」または 「 p a x t u t i 」または「 p a l t u t i 」または「 p a c c h i 」

特に「っ」など入力方法がいくつもあることもあります。
  

情報処理・パソコン 入力促進メッセージ

プログラムの使用者に、何か入力してもらいたい という場合、
コンピュータはたいてい、「入力を受けるまで待っている」ことになります。
何も変化が無いと、ただ動作が停止してしまったように見えてしまうので、

特定の記号  だったり、   のように点滅させたり、

○○を入力してください:」のようにメッセージを表示して、入力を求めていることがわかりやすいつくり方が必要です。

昼 しきい値

ある値以上、または以下ならば、正しくその値で判断される境界を「しきい値」と呼びます。
ICなど電子素子で、電気的なON/OFF(0/1)の境界値として、
また、画像認識でも特徴点や動きを捉える画像変換のために非常に重要です。
 

情報処理・パソコン 文字コードと文字化け

パソコンでもスマホでも、入力した文字がWeb上に出ることが当たり前のようですが・・・
文字も値(文字コード)として扱われ、いくつかの種類があります。

 "N"→(4E)16進数   "S"→(53)16進数   "G"→(47)16進数 ※ASCIIコード
 "あ"→(82A0)16進数   "い"→(82A2)16進数   "う"→(82A4)16進数 ※S-JISコード
 "あ"→(A4A2)16進数   "い"→(A4A4)16進数   "う"→(A4A6)16進数 ※EUCコード

コンピュータ内で記憶されている値が、同じ文字コードで扱われれば問題ありませんが、特にインターネットなどで様々なコンピュータでも同じ文字が表示されることは大変なことなのです。

 


情報処理・パソコン アルゴリズム

ある問題の解決方法を考え、あらわしたものを「アルゴリズム」といいます。
「こうすればこうなる」というような様々なアルゴリズムがいくつも確立されていますが、
ソフトウェア開発に限らず、ものごとに手順や解決手法は常に状況に応じて考えるべきことです。「どうしたらうまくいくか」手順を考えることがプログラミングです。

昼 FAX

FAXは電話回線で画像データを送受信できるしくみです
取り込んだ画像をマス目で分解して、白から順に続く数を送ります。

たとえば、次のように、
□ → 1,2,1,2,1
 → 0,7
 → 1,5,1
 → 2,3,2
 → 3,1,3
のように数の羅列で送ることで、受信側も再構成でき、図案が受け取れます。

グループ 10の乗数を表すSI接頭辞

大きな数を表す接頭辞(接頭語)としては、
k(キロ)=103=1000
M(メガ)=106=100000
G(ギガ)=109=1000000000
T(テラ)=1012=1000000000000
P(ペタ)=1015=1000000000000000
E(エクサ)=1018=1000000000000000000
・・・と続きます。
たとえば記憶容量2GByte(ギガバイト)なら
=2000MByte=2000000kByte=2000000000Byte
という換算になります。
1Byte1文字換算であれば20億文字が記録できます。
ちなみに新聞(日経新聞)は1日約15万文字らしいです

電車 アクチュエータ

電気で回転動作するものをモータといいますが、電気で動作するものは、モータだけでなくいくつかの種類があり、電気で動作に変える素子を総称して「アクチュエータ」と呼びます。
コンピュータ(制御回路)と組み合わせることで、様々な動作が実現されます。
  

出張・旅行 インクリメント,デクリメント

プログラミングで繰り返し処理の中でよく活用しますが、変数内の値を+1することを「インクリメント」、-1することを「デクリメント」といいます。

C言語では、変数xの場合
x++ または ++x (x=x+1 や x+=1 と同じ動作)

x-- または --x (x=x-1 や x-=1 と同じ動作)
 

演算子を、前に置くか後ろに置くかでも異なる結果が得られるので、様々な応用で活用が考えられます。星

キラキラ 周波数とコンピュータの処理能力

パソコンの製品紹介などで「CPU:3.2GHz」など記載されることもありますが・・・
まず、[Hz]が一秒当たりに繰り返される波の単位になります。G(ギガ)は10億を意味して、例では一秒間に32億回ON/OFF動作が発生できるともいえます。
 
さまざまなコンピュータのしくみによって、「ON/OFF1セットでできること」や「ON/OFF4セットでできること」など様々ですが、同じCPUであれば周波数が高い方が処理が早いことは明確ですね。電車
 
 

携帯端末 惑わされないで

たとえば、もし、あなたに
「080-xxxx-zzzz のヤツは●●●●って壁に書いてあったから連絡したよ」
とSMS(ショートメール)が届いたら、え!?って不安になるかもしれません。
でも、落ち着いてよく考えて。
 
あなたの情報はそこには何も無い。何もかも特定されていない。

電話番号(またはメールアドレス)と個人情報は公開されて繋がっていない。

そのことを見極めて、対処を決して間違えないようにしましょう。泣く
 

ノート・レポート 分岐

プログラミングの重要な要素のひとつに分岐があります。
たとえばイメージとして・・・

 もし(所持金>価格)かつ(製品の機能>求める機能)
   ならば、買う。
   違えば、買わない。
変化させたい内容と、条件式を正しく組むことが必要です。
プログラミング経験を重ねても、ミスしがちな点の一つです。にっこり左右怒る

ノート・レポート 字下げ

プログラミングだけでなく、文書を書くときでも重要ですが・・・
「字下げ」
 
 

 

 
 
のように「字下げ」が統一されていると、処理のまとまりや、流れが把握しやすくなります。
また、プログラミング言語によってはこの字下げによって処理を制御するので非常に重要です。鉛筆
 
プログラミングを抜きにしても国語表現として段落や句読点をしっかりつけることも一緒です。にっこり

喜ぶ・デレ IPアドレス

IPアドレスは「192.168.0.1」などと、4つの数(オクテット)の区切りで表記されますが、
ネットワーク部(グループで同じにすべき番号)と、ホスト部(グループの中でユニークな番号)で構成されています。
多くの場合、サブネットマスクを用いて区別されます。
サブネットマスク「255.255.255.0」とすれば、IPアドレスの第3オクテットまでがネットワーク部、第4オクテットがホスト部になります。
 
   
何も考えずに設定して、ホスト部が重なってしまったりすると通信できないので、グループ内のアドレスをしっかり管理しておかなければなりません。

雨 括弧(かっこ)の重要性

算数では + - より × ÷ から計算するように・・・
プログラミングでも計算だけでなく、様々な処理の書き方で、何から処理されるか
という優先順位があります。
まれにプログラミング言語によって変わることもあり、間違えやすいところです。
( )を効果的に使って、わかりやすく組み立てましょう


「3年2組ではない生徒」 の条件式の例
  NOT 学年=3 AND 組=2
 は、3年生ではない、たとえば1・2年生の2組の生徒になってしまう。
  NOT((学年=3)AND(組=2))
 のように間違えないよう、明示しましょう。


ただし、さらに複雑に組み合わされたときの( )の重なりすぎにも注意

眼鏡 検索結果はいつもどれも本物?

問題です。
・ネット上で、多くが同じ意見で書かれていたとき、それが正しい?
・あることを調べるために検索した結果、一番はじめに出てきたものが、常に正しい内容?

情報源や、関係する事柄を正しく見極めるにはどうしたらよいでしょうか。

? 変数

プログラミングする上で、おそらく最も重要な要素のひとつ。
 「変数」
『コンピュータにやらせる』ためにも、その都度変化するものをとっておく「入れ物」が必要になります。
   
まずは、この「変数」というものを理解することが、コンピュータに様々な動作を実現させる第一歩かもしれません。星

虫眼鏡 四則演算ほか

C言語だけではありませんが
四則演算をプログラミングする場合、算数・数学で使っていた記号の表記が異なります。
加算「+」は、「+」と、減算「ー」は、「-」、同じですが、
乗算「×」は、「*」、除算「÷」は、「/」、余りだけを算出する余算「%」など
言語によっては、さらにいくつかの算術演算子があります。苦笑い
 
 

情報処理・パソコン GUIとCUI

コンピュータなど、様々な操作をするときに、GUIとCUIがあります。
マウスやタッチなどでアイコンやウィンドウなどで操作する Graphical User Interface
キーボードでコマンドを打って操作する Character User Interface があります。
  
GUIがあたりまえになっていますが、いざというときやコマンド操作しかない場合もあるので、ぜひ知っておきましょう。

視聴覚 画面の原点

数学でグラフを描くときは、原点(x=0,y=0)の点から右方向と上方向に+(プラス)されていましたが・・・
コンピュータでは基本的に、原点(x=0,y=0)の点から右方向と下方向に+(プラス)になります。
ある場所から 横に動かしたければ、右はプラス、左ならマイナス
         縦に動かしたければ、上はマイナス、下ならプラス という計算になります。

鉛筆 文字の書き分け

プログラムコードでも、コンピュータの表示では見分けづらい文字が多くあるけれど、
プログラミング上では動作不能なミスになります。
 
 , . (カンマ)と(ドット)
0 0 O o  (ゼロ)と(オー)
 I  l 1 (大文字アイ)と(小文字エル)、(数字のイチ) など・・・
 
さらに記号もあるので、見分けがつかない文字が幾つもあります。
これは意識して書き分けや判別のための設定をしていきましょうほくそ笑む・ニヤリ

情報処理・パソコン ファイルとフォルダ

スマホやタブレット端末のアイコン操作だけだと、意識することがないですが・・・
ソフトウェア開発をする上では、様々なファイルや、ファイルなどのまとめられたフォルダ(またはディレクトリ)の構造を把握しておかなければなりません。
   
プログラミングでは、ファイル名やフォルダ配置関係も意味がある場合が多いので、注意しましょう。

理科・実験 不等号記号

処理の分岐や繰り返しをしたい場合に、不等号を使って条件式を立てることがありますが、
まずは不等号の意味を把握して、逆向きにしないように、成立する範囲を正しく設定しましょう。
 A < B (A小なりB、たとえばAの内容がBより小さければ関係は正しい。)
 A > B (A大なりB)
 A >= B (AはB以上)
 A <= B (AはB以下)
ちなみに、変数Nをもとに条件が成立する間、繰り返されるとき・・・
変数Nの内容を0(ゼロ)から1づつ増やして10回継続するためには、どんな条件が必要?
 N ? 10

鉛筆 半角文字と全角文字

プログラムコードを記述するとき、多くは半角英数字記号を使い、説明の部分のために日本語を使うことがあります。絵文字:ノート
入力の際、半角文字と全角文字の違いを把握しなければ、プログラムエラーの原因になります。特に表示に表れてこない「 」空白文字にも注意しましょう。
 全角文字の例→:あいうえおABC123*+/「 」
 半角文字の例→:ABC123*+/[ ]

嵐 トランジスタのスイッチ特性

トランジスタには増幅特性と、スイッチ特性があります。
スイッチ特性は、ベース電流のON/OFFで、コレクタとエミッタ間をON/OFFするように利用することができます。
電気で電気の流れを決められるので、センサと合わせて自動にすることにも使えます。
         

! ユーザアカウントとパスワードの管理

パスワードは、8文字以上 英数字含む・・・など案内されることも多いと思います。
自身でしか知らないことを含むなどして、自分だけが覚えやすい、推測されないものをつけましょう。
     
また、一つのユーザアカウントでも、様々なサービスと連携していることが多くなっています。
パスワードだけでなく登録しているサービスの状況にも気を払いましょう。

情報処理・パソコン ショートカットキー

キーボードショートカット(Windows環境)
文章や文字列、ファイルでも、選択している状態でキーボードの
「Ctrl」押しながら「C」でコピー(控えが取られるイメージ)
「Ctrl」押しながら「V」で貼り付け(控えたものから出力されるイメージ)
活用できると便利です。

給食・食事 オブジェクト指向における「継承」

『オブジェクト指向』では「継承」という概念で、オブジェクト(もの)を拡張することができます。
料理でいえば、『カレーの作り方』を「継承」して『カツカレーの作り方』をつくる場合、プログラミングでは、『カツカレーの作り方』としては、新たに{トンカツを揚げて、カレーにのせる}と追加するだけで、『カレーの作り方』の内容は継承元をそのまま活用することができるイメージです。
※カレーの変化はイラスト上の都合です絵文字:よろしくお願いします


   + トンカツ = 
 

虫眼鏡 sizeof


C言語では、「sizeof 変数」で変数のメモリ上の大きさを確認できます。
例えば、int型の変数はコンピュータの環境によって大きさが変わるので、現環境で表現できる値の上限を確認するためにも使えます。

情報処理・パソコン ビットとバイト

コンピュータは電気のON/OFFなどでデータをあらわしていますが、
その一つの単位を[bit](ビット)といい、8[bit]で1[Byte](バイト)といいます。
ひとつのコインの表裏、ランプの点灯/消灯 も同じく 1[bit]の情報ともいえます。
たとえば、さらにランプが多く集まると電光掲示板のように様々な情報が表現できますね。
        

理科・実験 RAND_MAX

疑似乱数を使う際、C言語では定数RAND_MAXを出力すると、いくつまでの値が生成されるかわかります。
また、ヘッダファイル(stdlib.h)内を直接みても・・・
 #define RAND_MAX 0x7FFFU
このコードがある場合、16進数で7FFF(10進数で32767)までの値が出ることが確認できます。

情報処理・パソコン マウス

スマホやタブレット端末でタッチ操作が多いなか、あえてマウス操作について
 ・マウス自体の移動で、パソコン画面上のカーソルが連動
 ・マウスボタンを1回押すことはクリック、2回ならダブルクリック
 ・押しながら移動して離すと、ドラッグアンドドロップ
 ・マウス右ボタンクリックで操作メニュー(が出ることが多い)

マウスとキーボード操作に慣れましょう。

情報処理・パソコン 2進数

2進数は0(ゼロ)と1(いち)だけで値を表現します。たとえば、1は1、2は2進数では「10」です。
コンピュータは、電気的なON/OFFで動いているので、2進数の考え方があります。

 雷雷曇り雷雷曇り雷曇り → 2進数で 11011010 とすると、10進数では218