全社向けプログラミング講座
2回目

本格的にやっていきましょう
アジェンダ
-
if文
- while文
- for文
- 関数
- スコープ(グローバルとローカル)
プログラムの構造は基本的に3種類
1. 順次処理
1つずつ処理を行う
2. 分岐
条件によって処理を変える
3. 繰り返し
同じ処理を繰り返す
プログラムの構造は基本的に3種類
1. 順次処理
1つずつ処理を行う
2. 分岐 ←if文
条件によって処理を変える
3. 繰り返し ←while文、for文
同じ処理を繰り返す
例えば
if(条件) {
真の処理
} else {
偽の処理
}
条件分岐
if文
<script>
var score = 50;
if (score > 50) {
document.write("たいへんよくできました");
} else {
document.write("もうすこしです");
}
</script>点数によって文字列を変える
条件分岐
比較演算子
==:値が等しければtrue
!= :値が等しくなければtrue
> :値が大きければtrue
< :値が小さければtrue
>=:値が同じか大きければtrue
<=:値が同じが小さければtrue
条件分岐
<script>
var score = 50;
if (score == 100) {
document.write("たいへんよくできました");
} else {
document.write("もうすこしです");
}
</script>点数によって文字列を変える
条件分岐
論理演算子(条件を更に組み合わせるためのもの)
&&:条件が両方成立すればtrue (AND)
||:どちらかの条件が成立すればtrue (OR)
<script>
var score = 50;
if (score > 80) {
document.write("たいへんよくできました");
} else if (score > 60 && score <= 80) {
document.write("よくできました");
} else if (score > 40 && score <= 60) {
document.write("がんばりました");
} else {
document.write("もうすこしです");
}
</script>条件分岐
ループ(繰り返し)
while文
<script>
var i = 0;
while (i < 10) { // 真
document.write(i);
i++;
}
</script>条件が真である場合、この条件を続ける
0から1ずつ増やして9でストップしたものを表示
for文
<script>
for (var i = 0; i < 10; i++) {
document.write(i);
}
</script>()内は初期値、継続条件、カウンターを記述
ループ(繰り返し)
ループを抜ける処理
<script>
for (var i = 0; i < 10; i++){
if (i == 5){
break;
}
document.write(i);
}
</script>break:ループ処理を抜ける
ループ(繰り返し)
ループを抜ける処理
<script>
for (var i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
document.write(i);
}
</script>continue:ループ処理を1回スキップ
ループ(繰り返し)
課題2−1
①ループ処理を使って自分の名前を
100回出力してみましょう
※出力は「document.write("名前<br>")」を使用
②51回目以降は末尾に「さん」を付けて
出力してみましょう
<html>
<head>
</head>
<body>
<script>
for(var i=1; i<=100; i++) {
var msg = i+':shimizu';
if(i>50){
msg = msg + 'さん';
}
document.write(msg+'<br>');
}
</script>
</body>
</html>
課題2−1 解答例
関数
複数の処理をまとめ、名前をつけたもの
(同じような処理を繰り返し書くとき、使いまわしができる)
function 関数名() {
処理
}
helloという関数に処理を指定する
→コンソールにhelloと表示
<script>
function hello() {
document.write("hello");
}
hello();
</script>関数
引数(パラメータ)を指定することが可能
<script>
function hello(name) {
document.write("hello" + name);
}
hello(" Tom ");
hello(" Bob ");
</script>関数
返り値をもらう
<script>
function hello(name) {
return "hello" + name ;
}
var greet = hello(" Tom ");
document.write(greet);
</script>スコープ
変数の有効な範囲のことをスコープと言います。
変数の宣言されている位置によって、スコープの範囲が変わります。
スコープ
JavaScriptの変数スコープはグローバルとローカルの2つです。
・グローバル変数
関数の外で宣言される変数
スコープの範囲は「プログラム全体」
・ローカル変数
関数の中で宣言される変数
スコープの範囲は「その関数の中」のみ
スコープ
以下のサンプルを実行して動作を確認してみましょう。
<script>
var value = "グローバル"; //グローバル変数
function dispValue() {
var value = "ローカル"; //ローカル変数
alert(value);
}
alert(value);
dispValue();
</script>課題2−2
以下の実行処理結果はどうなる?
<script>
var a = 5;
var b = 5;
function myFunc(){
var a = 100;
a += 10;
b += 10;
}
document.write("関数呼び出し前:a=" + a + ":b=" + b + "<br>");
myFunc();
document.write("関数呼び出し後:a=" + a + ":b=" + b + "<br>");
</script>まとめ
- if文
- while文
- for文
- 関数
- スコープ(グローバルとローカル)
おまけ:条件分岐(if以外の書き方)
switch文(if文とやっていることは同じ)
<script>
var signal = "red"; //シグナルが赤の時
switch(signal) {
case "red":
document.write("stop!");
break; // break忘れないように
case "green":
document.write("go!");
break;
case "yellow":
document.write("slow down!");
break;
default:
document.write("wrong signal");
break;
}
</script>
プログラミング講座2回目
By n_shimizu
プログラミング講座2回目
Training2 by n_shimizu
- 195