第一回初級プログラミング講座

Y
第一回
初級プログラミング講座
Ver.1.0.0 全78枚
情報システム工学科 1年 安井 慎一郎
Copyright © 2016 Shinichiro Yasui All Rights Reserved
自己紹介
• 安井 慎一郎
• 情報システム工学科1年
• 音楽 サイクリング
• C# Java node.js Ruby on Rails
• 普段はゲームとか作ってる人
2
目的
対象
プログラミング経験時間が1時間以下の人
レベル
設計部分と実装部分の両方に少しずつ触れた内容
3
仕様の決定 設計 実装設計 実装
概要
本講はイメージトレイニー主催 ハッカソン事前勉強会として開講が決
定されました。
ハッカソンとは制限時間内に作品を作るプログラミングコンテストで、
外部の人間ももちろん参加することが可能です。
景品に関しても現在申請中です。
ハッカソンではゲーム制作を行うため、簡単なゲーム制作ができるレ
ベルというところまで達します。
当講座は全3回合計7時間を予定し、ワークショップ(体験講座)形式で
進行します。
扱う内容は極端に難解ではありませんが、技術習得のため、この講
座外でも復習してみてください。
4
プログラミングとは?
• コンピュータに命令すること
• 一定の書式を守る必要がある
5
(コンピュータに命令する人の様子)
(一定の書式を守る人の様子)
Processingとは?
• Javaライクな言語
Javaを簡単にしたみたいな感じで書きやすい
• これ以上簡単なオブジェクト指向言語を知らない
• 絵を描くのが得意
• すごいやつは「Processing 作品」
で検索すればいっぱいでてきます。
• 無料から使える
6
これの背景もProcessingで描いた→
(ベビースターラーメンみたいなやつ)
おわり
おわり(ここでProcessingを起動)
7
素材提供 いらすとや
第一講
標準出力と定数
Copyright © 2016 Shinichiro Yasui All Rights Reserved
画面の見方
9
① ファイル名
② エディタ部分
③ 実行ボタン
④ 中止ボタン
⑤ コンソール画面
1
2
3 4
5
標準出力 1
• コンピュータに文字を書けという命令をします。
• まずエディタにこう書いて下さい。
• 実行ボタンを押すとコンソール画面に・・・・
• 確認したら中止ボタンを押して終了します。
10
print(“I am here.”);
I am here.
↓だぶるこーてーしょん(Shift + 「2」)
せみころん↑
code1.1
out1.1
1
解説 1.1
• 「print(“I am here.”);」と入力したらコンソール画面に
I am here.と表示されました。
• 「print」というのは先ほど行ったように「文字を書け!」という命令で、
「()」の中の内容をコンソール画面に書いてくれます。「””」は文字列を示
す記号で囲まれた中身をそのままの状態で保持してくれます。「;」は文
の区切りをコンピュータに教えてあげられます。
• 「;」は日本語で言うところの「、」とか「。」のようなものです。
これがないとコンピュータが意味を読み間違えちゃうのでエラーが出て
きます。
• ちなみに「;」は英語では強い文の区切りを表します。
11
標準出力 2
• こう書いて下さい。赤いところを追加します。
• どう書こうが自由だろ!って思うかもしれませんが、同じ命令を使う
ので、コピーアンドペーストを使って””の中身だけ編集するなどコー
ディング効率を上げましょう。
• 実行してみると・・・・
• 2つの文がつながって出てきちゃった。
12
print(“I am here.”);
print(“You are there.”);
I am here.You are there.
code1.2
out1.2
1
2
改行してくれる標準出力
• 見づらいので改行してもらいます。赤いところを追加します。
• 実行します
• 今度は2行になって出力されました。
13
println(“I am here.”);
println(“You are there.”);
える↑ ↑えぬ
I am here.
You are there.
code1.3
out1.3
1
2
解説 1.2 1.3
• 「println(”I am here.”);」と入力したら出力後に改行してくれます。
• 「print」のあとについている「ln」は「line」の略で、
「()の内容の行を書け!」という命令です。
• 基本的には「println」のほうが使用頻度が高いですが、両方使うの
で「printlnはprintの派生なんだ」ということを合わせて憶えましょう。
• また、上の行の処理から順番に表示されました。プログラムは上の
行から進行するというルールをよく憶えておきましょう。
14
数値と数字
• 「println」の「()」の内容を以下のように書き換えます。
• 実行します
• 全く同じ内容が出力されましたね。
15
println(“123456”);
println(123456); code1.4
123456
123456 out1.4
1
2
解説 1.4
• 同じ内容が2つ出力されましたが内部での意味は全く異なります。
• 「println(“123456”);」は123456という数字を表しています。
• 「println(123456);」は123456という数値を表しています。
• 言語ではあまり区別されませんが、数値と数字は全く異なるもので
す。数字は数という概念を表す文字、数値は数で示される量や内容
です。
• 本講では詳しくやりませんが、今後この違いを理解する必要がある
ので一応触れておきます。
• また、本講で扱ったプログラムで「()」内に入っている値は直接書き
換えなければ内容が変わらないので定数といいます。
16
おわり
• 演習時間にはコンソールになにか3行出力するプログラムを作ってく
ださい。
• 第一講で扱った命令であればなにを使っても構いません。
17
解答例 1
• 例えばこんな感じです。
• 最後の行は「println」と「print」のどちらでも可とします。
18
println(“恒河沙”);
println(“阿僧祇”);
println(“那由他”);
1
2
3
恒河沙
阿僧祇
那由他
code1.5
out1.5
第二講
変数
Copyright © 2016 Shinichiro Yasui All Rights Reserved
数値型
• まず、こう書きます。
• 実行します。
• 出力の文と違う内容が出力されているように見えます。
20
int x;
x = 2;
println(x);
2
code2.1
out2.1
1
2
3
解説 2.1
• 出力では「xを出力しろ」と書いたのに数字が出力されました。
• 順を追って説明します。
• まず、1行目の「int x;」です。これは「x」という変数を宣言しています。
少しわかりづらいですね。
• 変数を使うときには予めコンピュータにこういう数を使いたいと教え
ておいてあげる必要があるのです。数学を例に取ると「xを自然数と
する」とか「xを実数とする」などと同じです。
• 「int」というのは整数型といいます。要するに「int x;」とは
「xを整数とする」ということなのです。
• 「int」は「integer(整数)」という英単語に由来します。
• そして2行目の「x = 2;」。これは「代入文」と言います。プログラミング
では「=」という演算子は「代入演算子」といい、「左辺を右辺とす
る。」というようなニュアンスです。
• そして3行目の「println(x);」、「println」は変数の内容を表示できます。
なので変数としての「x」を渡して内容を表示させたのです。
21
変数
• 変数というのはモノを入れるハコのようなものと表現されることが多
いです。
• プログラムにおいての変数には型というものが存在します。
• 数値とか文字列のように、中に入っているデータが何かを表してい、
ハコの形や大きさを表します。
• 例えば、丸い穴の空いたハコに四角いモノは入りません。
• つまり決まったモノしか入らないのです。
• また、同時に2つ以上のモノは入りません。
• 変数名はハコに付いているラベルです。
22
(丸い穴に四角いモノは入らないの図)
変数の初期化について
• こう書き換えて下さい。
• 実行すると
• 代わり映えしないですね。
23
int x = 2;
println(x); code2.2
1
2
2 out2.2
解説 2.2
• 変数に対し、一番初めに入れられる値を初期値といい、これを代入
する作業を初期化といいます。先程は別々の行で書いていましたが、
これはあまり良くなく、宣言と代入の間で「x」を使う式を書いてしまう
となにが入っているのかわからないので怒られてしまいます。
• しかし、実はこの初期化というのは宣言と同時にできます。
• 「int x = 2;」のように書けば宣言と初期化を同時にできるので簡略化
できます。
• また、宣言から初期化までの操作を併せて定義といいます。
• 特に理由がないときには必ず初期化するようにしましょう。
24
変数の性質
• こう書き加えて下さい。
• 実行します。
• 同じ出力文なのに違う内容が出力されました。
25
int x = 2;
println(x);
x = 4;
println(x);
2
4
code2.3
out2.3
1
2
3
4
解説 2.3
• まず、2行目までは(code2.2)と変わりませんが、3行目以降が大きく
変わります。プログラムが上から進行するというルールがよく効いた
内容になります。
• 3行目の「x = 4;」で「xの内容が4に書き換わっている」のです。ハコに
置き換えて考えると、同時に2つのものが入らないので2を出してか
ら4を入れたというイメージです。
• そして4行目ではその内容を表示させています。
• よって同じ「println(x);」だけどそれぞれ「x」の値が違うので違う結果
が表示されたのです。
• ここでの「println(x);」は2とか4とかを表示させる命令ではなく「xの内
容を表示しろ」という命令だということを意識しましょう。
26
文字列型
• まず、こう書いて下さい。
• 実行すると
• それでは解説します。
27
String x = “I eat dinner”;
println(x); code2.4
1
2
I eat dinner out2.4
解説 2.4
• 「String」は文字列を扱う型です。プログラミングでは数値以外も変数
で扱います。
• 「String」は「文字列」という英単語です。
• 文字列型は「””」で囲んで示した値を代入できます。
• 1行目でxという文字列型の変数を「I eat dinner」で初期化して定義。
2行目で表示させています。
28
おわり
• もちろん少数を扱える値型もあるのですが、それは利用範囲が少数
まで広がった時に紹介します。
• 演習時間にはコンソールの
1行目に「Lazy dog」
2行目には「4」を表示するプログラムを以下の条件に従い、作って下
さい。
• 変数は一つしか宣言してはいけません。
• 出力に定数を使ってはいけません。
29
解答 2
• 解答は以下のとおりです。
• 定義を2行に分けても正解とします。
• また「x = 4;」は「4」が数値なのでエラーになっちゃいます。
30
String x = “Lazy dog”;
println(x);
x = “4”;
println(x); code2.5
1
2
3
4
Lazy dog
4 out2.5
第三講
演算子
たいくつですいません
Sorry for you boring
Copyright © 2016 Shinichiro Yasui All Rights Reserved
算術演算子
• 算術演算子とは計算に使うための符号のことです。
• プログラミングにおいての主要な算術演算子は以下の通りです。
• それでは意味を確認していきましょう。
32
+ - * / %
算術演算子 コード
• 少し長いです。コピペをうまく使って下さい。
• 実行すると・・・・
• すいません、入りきらなかったのでページまたぎます。
33
println(6 + 3);
println(6 - 3);
println(6 * 3);
println(6 / 3);
println(6 % 3); code3.1
1
2
3
4
5
算術演算子 出力
• 出力はこのようになります。
• 見慣れた演算子もありますが、よくわからない演算子もありますね。
34
9
3
18
2
0 out3.1
解説 3.1
• まず「+」は加算「-」は減算「*」は乗算「/」は除算です。
• そしてよくわからない結果を吐いた「%」です。
• これは剰余算という計算をしています。これは割った余りを求める計
算のことです。
• 今回は「6」を「3」で割ったので「2」余り「0」になります。
• この剰余算というのは今まで聞き慣れない言葉だったかもしれませ
んが、プログラミングにおいてはすごく大切です。
憶えておきましょう。例は後ほど挙げていきます。
35
代入演算子 1
• 変数の講でもすこし触れましたね。
• 実行します。
• それでは解説します。
36
int x = 4;
println(x);
x = x + 2;
println(x); code3.2
1
2
3
4
4
6 out3.1
解説 3.2
• 「=」というのが代入演算子だというのは第二講でも触れました。ここ
では算術演算子と混ぜて使ってみました。
• 3行目ですね。これは意味合い的には「xに2を加算」ということなの
です。もちろん「=」が等価という意味だと成立しない式になります。
• 「x」は初めは「4」でしたが、「2」を加算したので「6」になりました。
37
代入演算子 2
• コードをこのように書き換えます。
• 実行します。
• まったく同じ結果がでてきました。
38
int x = 4;
println(x);
x += 2;
println(x); code3.3
1
2
3
4
4
6 out3.3
解説 3.3
• 「+=」という演算子ですが、これは「左辺に右辺を加算」
という意味になります。
• つまり(code3.2)と全く同じ動きをします。
• 一般に動作は(code3.2)よりも早いとされます。
• 同様に「-=」「*=」「/=」「%=」もありそれぞれ動作は
「左辺から右辺を減算」「左辺を右辺で乗算」
「左辺を右辺で除算」「左辺を右辺で剰余算」です。
• 例は省略しますが、演習で使います。
39
2つの変数
• こう書き加えて下さい。
• 実行します。
40
int x = 4;
int y = 3;
println(x);
println(y);
println(x + y); code3.4
1
2
3
4
5
4
3
7 out3.4
解説 3.4
• 今までの式と特に変わりはありませんが、変数同士の計算ができる
ことも憶えておいてください。
41
カッコの使い方
• こう書いて下さい。
• 実行します。
• 2つの結果が出てきました。
42
println(3 + 4 * 2);
println((3 + 4) * 2); code3.5
1
2
11
14 out3.5
解説 3.5
• 算数や数学のように式内に「()」を用いることができます。
意味は数学などと同様で除算や乗算よりも優先順位が高いです。
• 今後非常に良く用いるので憶えておいてください。
43
コメント
• おまけとしてコメントというものを紹介します。
• 実行します。
• 同じ結果が返ってきました。
44
int x = 4;
println(x);
// x += 2;
println(x); code3.6
1
2
3
4
4
4 out3.6
解説 3.4
• プログラムにおいて「//」のあとはコメントと解釈されます。
• この後にはなにを書いてもコンピュータは読むことができません。
• 今回の例では(code3.3)の3行目をコメントアウトして読めないようにしたので
「xに2加算しろ」と書いてあることがコンピュータはわからなかったから加算
されなかったのです。
• つまりここには、コンピュータの悪口を書いてもいいし、コンピュータにはひ
みつな好きな子の名前とかを書いてもコンピュータにはバレません。しかし
多分大抵のことは「//」を外すとめちゃくちゃ怒られるので気をつけて下さい。
• 冗談はさておき、これから結構複雑なコードを書くことになりますが、なにを
しているかわかりやすくするためにメモを書いたり、修正の必要がある場所
とかを書いておくことができます。
45
おまけ
• 任天堂のマリオ30周年のホームページのソースコードのコメントに
はマリオが隠されています。
• ほかにもコカ・コーラのサイトでは
コメントでロゴが書かれてたり
• 探せば他にもあると思います。
46
(引用:https://www.nintendo.co.jp/mario30th/)
おわり
• 演習時間ですが、基礎数学履修者は退室してください。
• なお、この問題の解説は次回行います。
• コンソールの
1行目に「xを3で割った余り」①
2行目に「①に1を足した数」②
3行目に「②に2を掛けた数」
を出力するプログラムを以下の条件に基づいて書いて下さい。
• xの初期値は4。
• 出力に渡す値はxを含めなくてはならない。
• 「=」を二度までしか使ってはならない。
47
解答例 3-1
• 難しかったですかね。
• このように()を用いて代入文を使わずに数値を操ります。
48
int x = 4;
x %= 3;
println(x);
println(x + 1);
println((x + 1) * 2); code3.7
1
2
3
4
5
1
2
4 out3.7
解答例 3-2
• ちなみに、こう書くと()が必要ありません。
• しかし、代入文が少し汚いですね。
49
int x = 4;
println(x % 3);
x = x % 3 + 1;
println(x);
println(x * 2); code3.8
1
2
3
4
5
1
2
4 out3.8
第四講
条件式とif文
Copyright © 2016 Shinichiro Yasui All Rights Reserved
条件式
• 条件式とは数学でいう論理式です。
• プログラミングにおいても、単に論理式とも言います。
• しかし記号が少し違います。とりあえず、本講で扱うものを紹介しま
す。
• それぞれ、等値 小なり 小なりイコール 等号否定です。
• 大也も同様にありますが、時間の関係上省略します。
• また、今回は「==」のみを紹介します。
51
== < <= !=
if文 1
• このように記述します。
• 実行するとこうなります。
• 出力がなんかおかしいですね。
52
int x = 3;
print(“I eat dinner”);
if(x == 2)
println(“ on the table.”); code4.1
1
2
3
4
I eat dinner out4.1
解説 4.1
• 今回、「println(“ on the table.”)」という一文が実行されませんでした。
• これは「if(英語で「もし」という意味)」が強く働いています。
• (code4.1)では、まずはじめに「xを3で初期化」しています。
• 「if文」では「if (x == 2)」という風に記述しています。
• これは「もしxが2だったら」と解釈できます。
• また、その直後の行を「then節」といい、論理式が真であるときにこ
こを実行します。
つまり、「もしxが2だったら“ on the table.”と出力せよ」という意味に
なります。
• 今回は、論理式が偽であるので「println(“ on the table.”)」は実行さ
れなかったのです。
53
if文 2
• それではこう書き換えてみてはどうでしょう。
• 実行するとこうなります。
• しっかり書いたコードが動きました。
54
int x = 2;
print(“I eat dinner”);
if(x == 2)
println(“ on the table.”); code4.2
1
2
3
4
I eat dinner on the table. out4.2
解説 4.2
• 今度は結果が真だったので「then節」が実行されました。
• このように「if文」を用いることによって論理式の結果によって処理し
たりしなかったりという「分岐」をさせることができます。
• 今後「if文」は実に多くの用途に使うことになります。それで憶えてほ
しいことがまだあるので紹介します。
55
else節 1
• こう書き加えてください。
• 実行するとこうなります。
• これでは変化がわかりませんね。
56
int x = 2;
print(”I eat dinner”);
if(x == 2)
println(“ on the table.”);
else
println(“ on the floor.”); code4.3
1
2
3
4
5
6
I eat dinner on the table. out4.3
else節 2
• 書き換えてみましょう。
• 実行すると。
• 「晩ごはんを床の上で食べる。」と出力されました。
57
int x = 3;
print(“I eat dinner”);
if(x == 2)
println(“ on the table.”);
else
println(“ on the floor.”); code4.4
1
2
3
4
5
6
I eat dinner on the floor. out4.4
解説 4.3 4.4
• 「else」は「そのほか」というような意味になります。
• 「if文」に対して「else節」を記述するとその「if文」を通った時、必ず
「then節」か「else節」の何れかを通過します。
• なので、「if文」内の論理式に従い、
(out4.3)では”I eat dinner on the table.”、
(out4.4)では”I eat dinner on the floor.”と表示されたのです。
• このプログラムのif部分を日本語にするとこうなります。
「xが2の時は” on the table.”と出力せよ。そうでないときには” on
the floor.”と出力せよ。」
「if文」は論理式を日本語のように読めるようになるだけで動作の流
れを汲みやすくなります。
58
おわり
• 不等号はループ文と併せて詳しく解説したかったので「if文」の講で
はここまでとします。
• 演習時間には
「xが偶数だったら”Johannes”と出力するプログラム」
を書いてください。
• このプログラムは次の講でも使うのでなくさないでください。
• 少し難しいのでヒントを出します。
xが偶数を言い換えてみて偶数である性質を考えてください。
• 偶数は必ず2で割り切れます。
• 割り切れるということは余りが必ず0になります。
59
解答例 4
• 少し難しかったでしょうか。このように記述すると偶数の時という条
件を作れます。
• この時、「xは偶数」なのでもちろん出力は・・・・
• 非常に応用の利く手法なので憶えておきましょう。
60
int x = 4;
if(x % 2 == 0)
println(“Johannes”); code4.5
1
2
3
Johannes out4.5
第五講
ループ文
Copyright © 2016 Shinichiro Yasui All Rights Reserved
while文 1 コード
• while文はif文と少し似ています。
• いろいろ新しいものが出てきましたが順番に解説します。
まず、出力を見てみましょう。
62
int x = 0;
while(x < 5) {
if(x % 2 == 0)
println(“Johannes”);
else
println(“Gerda”);
x += 1;
} code5.1
1
2
3
4
5
6
7
8
↓ちゅうかっこ
↑ちゅうかっことじ
while文 1 出力
• こうなります。
• 少し忙しいですが解説していきます。
63
Johannes
Gerda
Johannes
Gerda
Johannes out5.1
解説 5.1-1
• まず、2行目に突然現れた「while」ですよね。
• whileとは英語で「〜の間に」という意味です。
• 「while文」は直後の「()」内に書いた論理式が真である間後ろ1行を繰り返し
ます。
• しかし、今回は動作させたい行が複数行でした。
このような場合「if文」や「while文」では「{}」(中括弧)を使います。
• これにより、「if文」とか「while文」の操作の対象の行を複数にすることがで
きます。
• 次に突然「<」が出てきました。
数学と同様に、「左辺が右辺”より”小さいとき」に真です。
• それでは演算子と命令の確認ができたのでプログラムを見ていきます。
64
解説 5.1-2
• まず、「while(x < 5)」を一回目に通過するとき、「x==0」
なので論理式は真、「if(x % 2 == 0)」を通ります。この時も、「x==0」で
真なので”Johannes”を出力します。最後に
「x += 1」を通って中括弧の最後に到達したので「while」
に戻ります。
• 次に、「while(x < 5)」を二回目に通過するとき、「x==1」
なので論理式は真、「if(x % 2 == 0)」を通るときは今度は
論理式が偽になるので「else節」を通り、”Gerda”を出力します。そし
てxが5になるまでこれが続き。
• 「x==5」になったときに「while(x < 5)」を通過すると論理式が偽になり
ます。この時、ループをぬけ出すことになります。
• つまり日本語にすると「xが5より小さいとき、偶数なら”Johannes”と
出力し、奇数なら”Gerda”と出力せよ」
と解釈できます。
65
while文 2 コード
• 不等号を使うためにこう書き換えてください。
• これで実行してみましょう。 66
int x = 0;
while(x <= 5) {
print(x + “:”);
if(x < 3)
println(“Johannes”);
else
println(“Gerda”);
x += 1;
} code5.2
1
2
3
4
5
6
7
8
9
while文 2 出力
• 出力が単調になるのが難点ですね。
• それでは解説しますね。
67
0:Johannes
1:Johannes
2:Johannes
3:Gerda
4:Gerda
5:Gerda out5.2
解説 5.2
• まず、while文の論理式を見ると「<=」小なりイコールが使われていま
すよね。
• これは以下という意味です。つまり、この「while(x <= 5)」は0から5の
時に6回繰り返されます。
• そしてループ内のif文を見ると「x < 3のとき”Johannes”と出力し、そ
うでないとき”Gerda”と出力せよ。」と書いてあります。
• この時、xの値は連続しているので3回連続で”Johannes”が
出力されたあと、3回連続で”Gerda”が出力されました。
• そして気になっていることがあるんじゃないでしょうか
3行目ですね。これはループ回数を表示させているのですが、変数
と文字列を加算させています。このようにすると文字列と数値を結
合して表示させられるのです。今回は”:”を間に入れて読みやすくし
てみました。また、文字列同士も繋がります。
68
おわり
• プログラムは少なかったですが、非常に濃密な内容だったと思いま
す。ぜひ振り返ってみてください。
• 演習時間には
「0から10の整数のうち、3の倍数の時にのみ”Amanojaku”と
出力するプログラム」を以下の条件に従って作ってください。
• ループにはwhileを用いてください。
• 「println」は一度しか使ってはいけません。
69
解答例 5
• 解答例は以下の通りです。
• 実行すると4回”Amanojaku”と出力されるはずです。
70
int x = 0;
while(x <= 10) {
if(x % 3 == 0)
println(“Amanojaku”);
x += 1;
} code5.3
1
2
3
4
5
6
第六講
関数
Copyright © 2016 Shinichiro Yasui All Rights Reserved
関数とは
• 関数とは実は今までも使っていました。
• しかし、改めて紹介したいと思います。
• まず、「print」は関数です。
• 「print」は「 ()」の中の値を取ってコンソール画面に表示してくれます。
この受け取る値のことを引数(ひきすう)と言います。
「print」は違いますが、一般に結果(返り値)を返します。
• つまり、関数はプログラムです。値を受け取って相応の処理をして
結果を返してくれます。
72
関数の目的
• プログラミングにおいて同じような動作を書くことはかなりの頻度で
あります。
• 文字出力は代表的な例です。
• 「print」の中には様々な動作が記述されていますが、値を渡すだけ
で簡単に文字を画面に書くことができます。
• 文字を書くときに変わるのは書く内容だけで、それ以外のところは変
わりません。そこでプログラムを再利用させているのです。
• 喩え話を用いるとこのようなものがあります。
73
電子レンジ
• 電子レンジは非常に頭のいい機械ですよね。
• 中に温めたいモノを入れて時間とか温度とか
を指定します。
• これが引数です。
• 電子レンジは受け取った情報を元にモノを調
理して返してくれます。
• これが返り値です。
• 電子レンジという関数は手段に応じて引数と
共に呼び出されます。モノを温めたい人は電
子レンジの使い方がわかればいいのです。
74
60秒温めて
print
• 「print」も同様です。
• 文字を出力したかったら出力したい文字を渡します。
• これが引数。
• そして受け取った引数の内容を出力します。
• 実にシンプルですが、これも使い方を知っていれば文字出力ができ
るという関数の例です。
75
sqrt
• 単純な関数に「sqrt」というものがあります。
• 初めて見る型がありますが、すぐに解説します。
• 察しがついている方もいると思いますが、「float型」は少数値も扱う
ことができます。
76
float x = sqrt(5);
print(x); code5.1
1
2
2.236068 out5.1
解説 5.1
• 「float型」は少数値が扱える変数の型です。「float」とは英語で「浮
く」の意味ですが、それは「浮動小数点型」という「float型」の構造に
由来するものです。今は憶えなくても
大丈夫です。
• 「sqrt関数」は平方根を計算してくれます。
ちなみに「sqrt」は「SquareRoot」という「平方根」という英単語に由来
します。
なので5を引数に渡したら「2.236068」を返してくれました。
その返ってきた値は「float型」なのでそれを「float型」のxに代入して
います。
• ちなみに、ここでは一度変数を定義していますが、「sqrt」の結果を
直接「print」に渡しても動作します。
77
おわり
• 関数の部分はスライドが間に合いませんでした。
次回、関数2にてまた詳しい解説を入れていきたいとおもいます。
• ご清聴ありがとうございました。
• 次回までに
「0から100までの数で整数の2乗の数になっている数を出力するプ
ログラム」
を作ってきてください。
• 今の知識があれば作れるはずです。
• 一応書いておきます。
• 「println」は1度しか使ってはいけません。
• 整数は1で割った余りが0の数になります。
78
1 of 78

Recommended

ChatGPT and the Future of Work - Clark Boyd by
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
22K views69 slides
Getting into the tech field. what next by
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
5.3K views22 slides
Google's Just Not That Into You: Understanding Core Updates & Search Intent by
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
6.1K views99 slides
How to have difficult conversations by
How to have difficult conversations How to have difficult conversations
How to have difficult conversations Rajiv Jayarajah, MAppComm, ACC
4.6K views19 slides
Introduction to Data Science by
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data ScienceChristy Abraham Joy
82.2K views51 slides
Time Management & Productivity - Best Practices by
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
169.7K views42 slides

More Related Content

Recently uploaded

さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
94 views58 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
184 views13 slides
Web3 Career_クレデン資料 .pdf by
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdfnanamatsuo
14 views9 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
17 views38 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
73 views64 slides

Recently uploaded(11)

さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4184 views
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo14 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka76 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda188 views
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.50 views

Featured

Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
55.4K views138 slides
12 Ways to Increase Your Influence at Work by
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
401.6K views64 slides
ChatGPT webinar slides by
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slidesAlireza Esmikhani
30.3K views36 slides
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
3.6K views12 slides
Barbie - Brand Strategy Presentation by
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
25.1K views46 slides

Featured(20)

Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by Applitools
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools55.4K views
12 Ways to Increase Your Influence at Work by GetSmarter
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter401.6K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by DevGAMM Conference
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference3.6K views
Barbie - Brand Strategy Presentation by Erica Santiago
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well by Saba Software
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software25.2K views
Introduction to C Programming Language by Simplilearn
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn8.4K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr... by Palo Alto Software
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software88.3K views
9 Tips for a Work-free Vacation by Weekdone.com
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
How to Map Your Future by SlideShop.com
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -... by AccuraCast
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
AccuraCast3.4K views
Exploring ChatGPT for Effective Teaching and Learning.pptx by Stan Skrabut, Ed.D.
Exploring ChatGPT for Effective Teaching and Learning.pptxExploring ChatGPT for Effective Teaching and Learning.pptx
Exploring ChatGPT for Effective Teaching and Learning.pptx
Stan Skrabut, Ed.D.57.6K views
How to train your robot (with Deep Reinforcement Learning) by Lucas García, PhD
How to train your robot (with Deep Reinforcement Learning)How to train your robot (with Deep Reinforcement Learning)
How to train your robot (with Deep Reinforcement Learning)
Lucas García, PhD42.5K views
4 Strategies to Renew Your Career Passion by Daniel Goleman
4 Strategies to Renew Your Career Passion4 Strategies to Renew Your Career Passion
4 Strategies to Renew Your Career Passion
Daniel Goleman122K views
The Student's Guide to LinkedIn by LinkedIn
The Student's Guide to LinkedInThe Student's Guide to LinkedIn
The Student's Guide to LinkedIn
LinkedIn87.9K views
Different Roles in Machine Learning Career by Intellipaat
Different Roles in Machine Learning CareerDifferent Roles in Machine Learning Career
Different Roles in Machine Learning Career
Intellipaat12.4K views
Defining a Tech Project Vision in Eight Quick Steps pdf by TechSoup
Defining a Tech Project Vision in Eight Quick Steps pdfDefining a Tech Project Vision in Eight Quick Steps pdf
Defining a Tech Project Vision in Eight Quick Steps pdf
TechSoup 9.7K views

第一回初級プログラミング講座