http://otona.connpass.com/event/37732/
コンピュータはパソコンにしてもらうための言葉
インターネットやパソコン、スマートフォンなどで動くもの
コンピュータでできることはプログラムでなんでもできる!
一つ一つ具体的なことを書かないとだめ
人間みたいに雰囲気を読んでくれない
アルファベットで英語みたいな文章を書く
文法がある
コンピュータは複数のことが同時にできない
普通は細かな時間でプログラムを切り替えしている
Javascriptという言語
最近多く使われている言語
プログラムはテキストで書く
windowsだとメモ帳
de facto 名目上標準になったもの
repl.it
左側にプログラム、右側に結果を表示
プログラムって何? 概念的なことを考える
- 足し算や引き算ができる。
- 文字を画面に表示できる。
- 何か入力してください。
3 + 4
=> 7
3 + 4
5 * 2
=> 10
計算することを評価と呼ぶ
repl.itでは最後に評価されたものが表示される
掛け算は * を使います
console.log(42)
3 + 4
5 * 2
=> 42
=> 10
コンピュータへの命令
()を使うことが多い
console.log(42)
console.log(3 + 4) // 足し算
console.log(3 - 4) // 引き算
console.log(3 * 4) // 掛け算
console.log(3 / 4) // 割り算
console.log(0.2 * 0.3) // 少数計算
console.log(2 + 2 * 3) // 計算の優先順位
console.log( (2 + 2) * 3) // 括弧による優先順位
console.log( 3 % 2) // 剰余(余り)
コンピュータは計算した瞬間に結果を忘れる
結果を使うために一時的に箱なようなものが必要
複雑な計算をするためには変数を使う
変数を使うために、宣言が必要
var a;
varはjavascriptでの変数宣言
var a;
var b;
セミコロン(;)は命令の終わりを知らせるためにつける
プログラミングで重要なことは想像力
var a;
a = 7;
プログラムではイコール(=)は同じという意味ではなく入れるという意味
入れるということを代入と呼ぶ
ここでは変数aに7を代入している
var a;
var b;
a = 7;
b = 5;
console.log(a * b); // => 35
var res = a * b;
console.log(res); // => 35
resは変数の初期化が行われている
計算順序として=は順番が遅い(演算子の優先順序)
- 演算 (計算すること)
- 演算子 (演算を表す記号)
a = 7;
a = 10;
console.log(a); // => 10
変数は複数の数字が保持はされるずに、上書きされる
文字と文字列 文字は1文字 例えば "a" 文字列は文字が並んだもの 例えば "abc"
var c = 'Hello World!'
javascriptで文字列はシングルクォーテーション(')またはダブルクォーテーション(")でくくる
var c = 'Hello World!'
console.log(c); // => Hello World!
数字や文字列はリテラルと呼ぶ
書いたとおりに表現できるもの、数字、文字列など
if (条件) {
// 条件が成立したときの命令
} else {
// 条件が成立しなかったときの命令
}
// var a = 5;
var a = 7;
if (a > 5) {
console.log('Big!');
} else {
console.log('Small!');
}
window.prompt('Number?')
window.promptはブラウザが提供している機能
window.promptを呼び出すことで、ユーザの入力(対話)を促せる
var a = window.prompt('Number?');
console.log(a);
if (a > 5) {
console.log('Big!');
} else {
console.log('Small!');
}
var a = window.prompt('Number?');
console.log(a);
if (a > 7) {
console.log('Big!');
} else if (a > 3) {
console.log('Middle!');
} else {
console.log('Small!');
}
forを利用する
for ( xxxx; xxxx; xxxx)
for (繰り返しの初期化; 条件; 継続処理)
例えば回数を数える 1,2,3,4,5....10
for (var i = 0; i < 10; i = i + 1) {
}
for (var i = 0; i < 10; i++) {
}
i++という書き方は i = i + 1 と一緒
i--という書き方は i = i - 1 と一緒
i++をincrement(インクリメント)といいます
i--をdecrement(デクリメント)といいます
var a = 2;
var res = 0; // 合計を保存する変数
for (var i = 0; i < 10; i++) {
res = res + a;
console.log('res = ' + res);
}
console.log('res = ' + res);
プログラムの動作に影響をさせないようにする スラッシュを二つ先頭につけるとコメントアウトになる
// console.log('これはコメントアウトです');
等差数列をプログラムで書いたもの
var res = 0;
for (var i = 0; i < 10; i++) {
res = res + (i + 1);
console.log('res = ' + res);
}
console.log('res = ' + res);
3で割り切れる Fizz と出力する 5で割り切れる Buzz と出力する 3でも5でも割り切れる場合は FizzBuzz と出力する
ヒント: 剰余算(%)を使う。割り切れる場合余りが0となるので===を使って比較する
var a = 10;
if (a % 3 === 0) {
console.log('Fizz');
}
if (a % 5 === 0) {
console.log('Buzz');
}
var a = 15;
var str = "";
if (a % 3 === 0) {
str = str + "Fizz";
}
if (a % 5 === 0) {
str = str + "Buzz";
}
console.log(str);