高等学校情報/情報I/プログラミングの基礎技術

なお、windowsで下記のプログラミングを実行するためには一般に、あらかじめコンパイラなどの実行環境のインストールが必要です。(テキストエディタにそのまま文字を入れても、何も起きません。)
例外的にJavaScriptなら、webブラウザを用いて実行できますが、しかしC言語など他の言語のコードはwebブラウザでは処理が不可能です。
入門レベルの中学高校生が実行するには、たとえば教育用の簡易的なC言語実行アプリ、または教育用のPython実行アプリなどの利用が考えられるでしょう。

テキストを扱うプログラミング言語では、多くのプログラミング言語で、
のような構文で、文字列を表示します。
上の例はPythonで、printは関数です。 C言語でも関数ですが関数名が異なり puts("Hello, world!") となります。 また、JavaScriptの場合は window.confirm("Hello, world!") と関数ではなくメソッドです。
Pythonの場合、print("Hello, world!")を実行すると、
と表示されます。
さて、中学校で「条件分岐」の考えを習いましたが、しかしどのような構文で条件分岐のプログラミングが出来るかは、習っていないでしょう。(カリキュラムによる)
多くのプログラミング言語では、条件分岐にif文を使います。
たとえば、Pythonの場合は if x == 2 : print("abcd")は、 「もし変数xが2なら、文字列 "abcd" を表示せよ」という意味になります。
他の言語でも一般的に、区切り文字に違いなどがありますが概ね
の語順でif文が書かれます。
多くのプログラム言語で、繰り返しには、for文を使います。
たとえばPythonの場合、
なら、 表示結果として
と画面に文字出力されます。
for 変数 in range(回数): 処理 の書式です。
この様にプログラミング言語が異なると、同じ機能を実現するためでも、異なるプログラミングが必要になります。
たとえば、Pythonでは、「#」という記号を使うことにより、その記号から文末までにメモを入れる事が出来ます。
つまり、上記のコード例の場合、#記号以降から文末までの『# 「ようこそ」と出力』の部分は実行されません。
この「#」記号のような機能のことを、プログラミング用語で「コメント」と言います。
コメントの機能は、他の多くのプログラミング言語にもあります。記号の文字そのものは違いますが、C言語やJavaScriptにもコメント機能があるので、プログラム中にメモを必要に応じて書くことができます。

プログラミングでいう「関数」(function)と、数学用語の二次関数や三角関数などの「関数」(function)とは、意味が違います。(日本語でも英語でも、つづりが同じです。)
プログラミングでいう「関数」とは、コンピュータにさせたい処理手続きをまとめたて名前をつけたものです。
そして、C言語やJavaScriptやPythonなど、多くの現代で普及しているプログラミング言語には、プログラミングでいう「関数」の機能があります。
どの言語でも、理解すべき用語は「関数」のほか、「引数」(ひきすう)と、「戻り値」(「返り値」ともいう)という用語が基本的です。
プログラミング言語によっては、この繰り返し処理の関数のことを「サブルーチン」と読んだりします。

ある関数Aから、別の関数Bを呼び出すこともできます。
ただし、たとえば
関数Aから関数Bを呼び出し、その関数Bから関数Cを呼び出し、関数Cから関数Dを・・・(中略)・・・、関数yから関数Zを呼び出す、
みたいに、あまりにも呼び出しの階層が深すぎると、かえってプログラミングしづらくなることが、経験的に知られています。
関数の呼び出しの階層が、あまり深くなり過ぎないようにしましょう。
同様に、プログラミング言語の多くには、実行中のファイルから別のファイルを呼び出してそれを実行する機能もあるのですが、やはりファイルAからファイルBを経由して・・・(中略)・・・ファイルZを実行、みたいなのは、とても困ります。
このように、プログラミング言語には、あるモジュールから別のモジュールを呼び出す機能があります。

関数化などモジュール化の際の注意点として、モジュールから別のモジュールを呼び出す際の階層構造があまり深くならないように、全体設計をする必要があります。
この理由のひとつは、会社などの仕事でつくるプログラムは一般的に集団作業だから、です。もし階層構造が深くなりすぎると、他のプログラマーがモジュールを探しづらくなったり、あるいは、モジュールの見落としのミスによって、プログラムミスなどの不具合の発生につながったりします。(※ 研修資料には、こういう理由までは書いてないです。)仮に現時点では自分ひとりで作っているプログラムであったとしても、もしかしたら将来には別の人(たとえば後輩など)がそのプログラムを引き継ぐかもしれない、といった将来まで考える必要があるのです。
同様の理由で、モジュールの数をあまり増やしすぎたりしないようにする工夫も必要ですし、あるいは一つのモジュールから呼び出すモジュールを増やしすぎないようにする工夫も必要です。

サイコロの目のように、確率的に発生する現象をコンピュータで実行したい場合、「乱数」という機能を使います。これらの機能には、 random (ランダム)などの用語が使われる場合が多いです。
Pythonの場合なら、本wikiでは『Python/モジュールのインポート』に説明があります。
Pythonでは「リスト」、C言語やJavaScriptでは「配列」と言われる機能があります。
Pythonの場合については『Python/リスト』を参照してください。
コンピュータに計算させたりそれを表示させたい場合、なにも必ずしもC言語やPythonなどのプログラミングの方法を使う必要は無い。
Widows用のオフィスソフトのエクセル(EXCEL)でも、計算などが可能である。(※ エクセルを使う方法は、文部科学省の教員用資料にも紹介されている、教育的にも正当な方法です。)

(東京書籍や日本文教出版などの一部の教科書で、JavaScript(ジャバ スクリプト)が紹介されている。)
webブラウザ上で、ちょっとしたプログラムを動かしたい時のためのプログラミング言語として、『JavaScript』(ジャバ スクリプト)があります。
なお、名前の似た別のプログラミング言語として、『Java』(ジャバ)がありますが、まったく別の言語です。
さて、本書では、JavaScriptについて、説明します。
まず、次のコードを見てください。JavaScriptは、次のコードのようhtmlに埋めこんで(うめこんで)、使います。
まず、JavaScriptを使うためには、<script type="text/javascript">および</script>が必要です。
このタグ内には、JavaScriptのプログラムだけを書かないと、いけません。
もしタグ内に、htmlタグ(pタグやh1タグなど)を書くと、エラーになります。
また、プログラムの文を入力するときは、文字入力モードは、直接入力モードにしてください。ほかの文字モードで入力しても、エラーになるでしょう。
さて、JavaScriptで、足し算などの計算のために変数(へんすう)を使用できます。
まず、上記のプログラムでは、「hensuu + 100」という計算をしています。上記のプログラムでは、「hensuu」は、変数です。
このように、変数をつかって計算を行うためには、「これから変数をつかいます」という事をプログラム中で宣言する必要があります。
変数の使用を宣言するには、変数の名前の前に「var」をつけ、スペースを1文字あけます。 言い方を帰ると、varの後ろにある語句が「変数である」と認識されます。
(なお、「var」とは、英語のvariable(バリアブル)が由来であろう。variableの意味は、「変数」。数学用語でも、数学の変数のことを「variable」という。)
「var hensuu;」の意味は、「変数として「hensuu」を用意しなさい」という意味です。 さて、javascriptによるプログラミングでは、1個の変数の作業が終わったことを示すために、さいごに「;」(セミコロン)をつけます。

「hensuu = 132;」の意味は、「変数『hensuu』に、数値132を代入しなさい」という意味です。
JavaScriptにかぎらず一般にプログラミングでは、「=」記号の意味は、「代入をやりなさい」の意味です。数学の等号とは、意味が違いますので、気をつけてください。
一般にプログラミングでは、=の右側にある計算の結果を、=の左側にある変数に代入します。
さて、javascriptによるプログラミングでは、1個の変数の作業が終わったことを示すために、さいごに「;」(セミコロン)をつけます。 上記のプログラムでも、「var hensuu = 132;」となっています。
他の言語では、変数の宣言方法が違っている場合もあるので、まったく暗記の必要は、ありません。
なお、数学でいう「変数」とは少し事情がちがていて、JavaScriptの変数の名前は1文字でなくても、かまいません。(一般に、ほかのプログラミング言語でも、変数名は1文字でなくても、かまわない。 )
そして、JavaScriptの変数は、数でもありますので、四則演算(数学でいう「+」、「ー」、「×」、「÷」)などの計算をできます。(一般に、ほかのプログラミング言語でも、変数をつかって、四則演算の計算をできる。)
たとえば、上記のプログラムでは、「hensuu + 100」という計算をしています。
そして、式の終わりであることを示すために、さいごに「;」(セミコロン)をつけます。上記のプログラムでも、「hensuu + 100;」となっています。
「document.write()」とは、「カッコ内の式を出力しろ」というような意味のプログラム命令です。
そして、そのカッコ内に、「hensuu + 100」と書かれているので、その式のとおりに計算して「232」(=132+100)を表示する仕組みです。
プログラムを実行するには、このJavaScriptの書かれたhtmlファイルごと保存してから、そのまま普通のwebブラウザで、そのhtmlファイルを開くだけです。
実際に上記コードの書かれたhtmlファイルを開いてみると、計算結果の「232」(=132+100)も出ています。