プログラミングとは

プログラミングとは、プログラムを作ることです。

では、プログラムとは何かというと、それはコンピューターへの指令文だと思ってください。コンピューターは電子機器です。その電子機器がどうやって指令文を理解するのか、多くの方にはブラックボックスだと思います。きちんとしたプログラミングの理解には、コンピューターのしくみの理解が欠かせません。コンピューターのしくみコースでは、そこからプログラムの意味を理解していきます。

プログラムの例:(4行4列の枠内で15枚のタイルをスライドさせるゲームの一部)


"use strict";

var tiles = [];

function init() {
	var table = document.getElementById("table");

	for (var i = 0 ; i < 16 ; i++) {
		var td = document.getElementById("td"+i);
		td.index = i;
		td.value = i;
		if (i == 0) {
			td.textContent = "";
		} else {
			td.textContent = i;
		}
		td.onclick = click;
		tiles.push(td);
	}

	for (var i = 0 ; i < 1000 ; i++) {
		click({ srcElement: {index: Math.floor(Math.random() * 16)}})
	}
}

function click(e) {
	var i = e.srcElement.index;

	if (i - 4 >= 0 && tiles[i - 4].value == 0) {
		swap(i, i - 4);
	} else if (i + 4 < 16 && tiles[i + 4].value == 0) {
		swap(i, i + 4);
	} else if (i % 4 != 0 && tiles[i - 1].value == 0) {
		swap(i, i - 1);
	} else if (i % 4 != 3 && tiles[i + 1].value == 0) {
		swap(i, i + 1);
	}
}

function swap(i, j) {
	var tmp = tiles[i].value;
	tiles[i].textContent = tiles[j].textContent;
	tiles[i].value = tiles[j].value;
	tiles[j].textContent = tmp;
	tiles[j].value = tmp;
}