SlideShare a Scribd company logo
1 of 53
cs-12. 式の抽象化と関数,モジュー
ル,算法(アルゴリズム)
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
1
金子邦彦
第12回の内容
1. 式の抽象化,関数
2. モジュール
3. 算法(アルゴリズム)
2
12-2 式の抽象化と関数
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
3
金子邦彦
変数と式
• 値が変化するオブジェクトのことを変数
という
• 式の実行結果として,値が得られる
4
問いかけ
• プログラミングでの根本問題は
何でしょうか?
• プログラミングの一番の基礎は
何でしょうか?
5
式の抽象化
6
類似した複数の式
変数 a を使って,複数
の式を1つにまとめる
(抽象化)
a * 1.1
100 * 1.1
150 * 1.1
400 * 1.1
式の抽象化と関数
7
類似した複数の式
変数 a を使って,複数
の式を1つにまとめる
(抽象化)
a * 1.1
100 * 1.1
150 * 1.1
400 * 1.1
式「a * 1.1」を含む
関数 foo を定義
関数 foo を使用.
100, 150, 400 は引数
関数
8
• この関数の本体は
「return a * 1.1」
• この関数は,式「a * 1.1」に,名前 foo を付
けたものと考えることもできる
式の抽象化と関数
9
類似した複数の式
実行結果
関数の定義と使用
同じ
実行結果になる
抽象化前 抽象化後
私の意見
• プログラミングでの根本問題は
何でしょうか?
誤り(バグ)の無いプログラムの
作成
• プログラミングの一番の基礎は
何でしょうか?
• 抽象化を行うこと.
• 抽象化により,繰り返し同じこ
とを書くことが減り,バグを防
げる.
• プログラムの変更(消費税率
10%変更)も簡単に.
10
12-3 関数の実行
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
11
金子邦彦
例題
式
100 * 1.1
150 * 1.1
400 * 1.1
変数を含む式
a * 1.1
関数
def foo(a):
return(a * 1.1)
12
Python Tutor
13
Python をビジュアルに体験,演習ができ
るオンラインサービス
① ウェブブラウザで次の URL を開く
http://www.pythontutor.com/
② 「Visualize your code and get live
help now」をクリック
③ 言語を選ぶ.この授業では Python 3.6
「Visualize your code and live help now」を
クリック
14
15
「Python 3.6」になっている
実行のためのボタン
エディタ
(プログラムを書き換えることができる)
次のプログラムを実行し,結果を確認
16
表示を確認
問いかけ
• 関数 では,変数が使用されるこ
とがあります.
• 「関数内で使用される変数 は,
関数の実行終了とともに,自動
で消える」は正しいですか?
17
• 関数 foo では,変数 a が使用されています
• 「関数内で使用される変数 a は,関数の実行終了
とともに,自動で消える」は正しいですか?
18
次のプログラムを実行し,結果を確認
19
実行結果を確認
20
・変数 p は残っている
・変数 a は自動的に消えている
12-4 関数呼び出し
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
21
金子邦彦
関数呼び出し
関数foo
呼び出され
22
呼び出し
ステップ実行 ステップ実行により、プログラム
実行の流れをビジュアルに観察
23
今から行うこと
• 関数呼び出しにおけるジャンプ
• 関数内で使用される変数が消えるタイミング
24
①「First」をクリックして,最初に戻す
25
② 「Step 1 of 11」と表示されているので,
全部で,ステップ数は 11 あることが分かる
(ステップ数と,プログラムの行数は違うもの)
26
③ プログラム実行を最初に戻したので
・すべての変数は消えている
・赤い矢印は,先頭行に戻っている
27
④ ステップ実行したいので,「Next」をクリック
しながら,矢印の動きを確認.
※「Next」ボタンを何度か押し,それ以上進めなく
なったら終了
28
見どころ
foo との間で
ジャンプするところ
⑤ 終わったら,もう一度,「First」をクリッ
クして,最初に戻す
29
⑥ もう一度,ステップ実行.
「Next」をクリックしながら,
・赤の矢印の動きを確認.
• 変数 a が現れるのは,どういうタイミングか?
30
関数 foo の実行中は,
変数 a が現れる
⑦ 終わったら「Edit self code」をクリックして,
元の画面に戻る
31
⑧ 次のように書き換えて,②から⑦と同じこと
を繰り返す
32
関数呼び出し
33
関数foo
呼び出し
呼び出され
関数bar
呼び出され
式の抽象化
34
類似した複数の式
1つの式に抽象化
a * 100 * 1.1
5 * 100 * 1.1
12 * 100 * 1.1
2つの式に抽象化
できるという考え方も.
この場合関数は2つ.
a * 100
a * 1.1
関数呼び出し
35
関数foo
呼び出し
呼び出され
関数bar
呼び出され
呼び出し
単価 100円で,税率 10% のときのプログラム例
36
変数 c は個数のつもり
5個は 550円
12個は 1320円
全体まとめ
• 式の抽象化とは,変数を使って,複数の式を1つ
にまとめる
• 関数の中でのみ使用される変数は,関数の終了と
ともに自動で消える
• 関数の評価値は return で返す
37
プログラムの基礎
• プログラム中の誤り(バグ)
※ バグの発見を,すべて自動で行うことは困難
バグの無いプログラムを作るには,関数などの実践知識が役立つ.既
存のプログラムの活用を考えることも大事.
• 性能,プログラムの見通しの良さ
算法(アルゴリズム)の工夫により,同じ問題をより簡単に,解くこ
とができる
• プログラムで解くことが難しい問題がある
※ プログラムで解こうと思っても,解くのに時間がかかりすぎる
このことが暗号の基礎になっている
38
12-5 Python モジュール,
標準ライブラリ
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
39
金子邦彦
Python のモジュール
• Python のモジュールは単体でも実行できるように作るこ
とができる.モジュールのテストを行いたときに便利
※ (if __name__ == “__main__”: のところがミソ)
40
この Python モジュールには,
関数 tax が入っている
• Python のモジュールは、1つ以上の関数をまとめて,1つの
ファイルにしたもの.
Python のモジュールとインポート
41
モジュールの入ったファイル
(ファイル名は hoge.py) 別のプログラム
・import hoge で,ファイル hoge.py
をインポート
・hoge.tax は,ファイル hoge.py の中の
関数 tax という意味
その実行結果
import コマンドでインポート
Python の標準ライブラリ
• 公式ドキュメント
https://docs.python.org/ja/3/library/index.html
• 組み込み関数、組み込み定数、組み込み型、組み込み例外、
テキスト処理、バイナリデータ処理、データ型、数値と数
学、関数型プログラミング、ファイルとディレクトリ、
データの永続化、デー圧縮とアーカイブ、ファイルフォー
マット、暗号、オペレーティングシステム、並列実行、コ
ンテキスト変数、ネットワーク通信とプロセス間通信、イ
ンターネット上のデータ操作、HTMLとXML、インター
ネットプロトコルとサービス、マルチメディアサービス、
国際化、プログラムのフレームワーク、グラフィカルユー
ザインタフェース、開発ツール、デバッグとプロファイル、
ソフトウエア・パッケージと配布、Pythonランタイムサー
ビス、カスタム Python インタプリタ、モジュールのイン
ポート、Python 言語サービス、各種サービス
• 多くは「インポート」により取り込んで使用する
42
モジュールをインポートするプログラムのイ
メージ図
43
自作の
プログラム
モジュール math
モジュール datetime
Python は、モジュールが豊富であることも、人気の理由
複数のモジュールをインポート
モジュール optimize
モジュール tensorflow
モジュール keras
など
有志らが制作、
配布している
モジュール
標準ライブラリ
内のモジュール
12-6 算法(アルゴリズム)
(コンピューターサイエンス)
URL: https://www.kkaneko.jp/cc/cs/index.html
44
金子邦彦
5×5×5×5×5×5×5×5×5×5×5×5×5×
5×5×5 は 152587890625
45
掛け算: 4 回
掛け算: 15 回
算法(アルゴリズム)の工夫で、掛け算の回数を削減できる場合がある
同じ
結果
算法(アルゴリズム)の例
次の2つのプログラムは,同じ答えが出る.
a = 5 * 5
b = a * a
c = b * b
d = c * c
print(d)
print(5*5*5*5*5*5*5*5*5*5*5*5*5*5*5*5)
46
次の2つのプログラムは,同じ答えが出る
a = 10 * 10
b = a * a
c = b * b
print(c)
print(10*10*10*10*10*10*10*10)
47
暗号
エニグマ暗号作成機械
(Wikipedia より転載)
48
暗号解読機械
暗号の「コードブック」をすばやく探すための機
械「ボンベ」 →コンピュータの基礎に
(Wikipedia に記載の「レプリカ」の写真を転載)
ヒトゲノム・プロジェクト
• 生物の「設計図」ともいわれるゲノム
塩基配列
• GenBankなどのウェブサイトで公開
49
• ゲノム塩基配列は,とても長い.細切れにした後で,装置で読
み取る.
• 読み取った結果を(ジグソーパズルのように)つなぎあわせる
とき,コンピュータが活躍
暗号を作成する Python プログラム
参考ウェブページ
http://nbviewer.jupyter.org/github/yoavram/CS1001.py/blob/master/recitation4.ipynb
50
Diffie-Hellman法で暗号化(Pythonを使用)
暗号を解読する Python プログラム
参考ウェブページ
http://nbviewer.jupyter.org/github/yoavram/CS1001.py/blob/master/recitation4.ipynb
51
Diffie-Hellman法の暗号を解読するプログラム
暗号作成より,暗号解読の方が手間がかかる
• 暗号解読の算法(アルゴリズム)は発見済み ということが多い
→ プログラムを作成可能
• しかし,プログラムが答えを出すまでに時間がかかる場合がある
すでに,2012 年に,このようなレポートが.
https://www.dit.co.jp/service/security/report/03.html
英大小文字+数字+記号を組み合わせた ZIP のパスワード
6桁の解読時間: 2分24秒 = 超危険
8桁の解読時間: 14日 = 危険
10桁の解読時間: 341年
52
「計算可能性」
• 算法(アルゴリズム)の作成が不可能という問
題は,すでに発見済みである
人間にもコンピュータにも解けない問題
チューリングマシンの停止判定
53

More Related Content

Similar to cs-12. 式の抽象化と関数,モジュール,算法(アルゴリズム)

pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドkunihikokaneko1
 
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】Tomoharu ASAMI
 
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出CRF を使った Web 本文抽出
CRF を使った Web 本文抽出Shuyo Nakatani
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶShumpei Shiraishi
 
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】Tomoharu ASAMI
 
C言語 学習教材
C言語 学習教材C言語 学習教材
C言語 学習教材Jun MITANI
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in SwiftKaz Yoshikawa
 
Learning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryLearning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryAkira Takahashi
 
po-3. 式の抽象化と関数
po-3. 式の抽象化と関数po-3. 式の抽象化と関数
po-3. 式の抽象化と関数kunihikokaneko1
 
Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門Hisakuni Fujimoto
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】Tomoharu ASAMI
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeKen Morishita
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計アシアル株式会社
 
Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Takuya Tsuchida
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門y-uti
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章YOSHIKAWA Ryota
 

Similar to cs-12. 式の抽象化と関数,モジュール,算法(アルゴリズム) (20)

pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッド
 
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
 
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出CRF を使った Web 本文抽出
CRF を使った Web 本文抽出
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
 
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
 
C言語 学習教材
C言語 学習教材C言語 学習教材
C言語 学習教材
 
Functional Programming in Swift
Functional Programming in SwiftFunctional Programming in Swift
Functional Programming in Swift
 
Learning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.GeomtryLearning Template Library Design using Boost.Geomtry
Learning Template Library Design using Boost.Geomtry
 
po-3. 式の抽象化と関数
po-3. 式の抽象化と関数po-3. 式の抽象化と関数
po-3. 式の抽象化と関数
 
Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門Swiftによる関数型プログラミング超入門
Swiftによる関数型プログラミング超入門
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
20150131 mvp com_camp_lt
20150131 mvp com_camp_lt20150131 mvp com_camp_lt
20150131 mvp com_camp_lt
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
設計/コンポーネント設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第22回】
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
 

More from kunihikokaneko1

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い kunihikokaneko1
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション kunihikokaneko1
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスkunihikokaneko1
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要 kunihikokaneko1
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門kunihikokaneko1
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスkunihikokaneko1
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 kunihikokaneko1
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタkunihikokaneko1
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンkunihikokaneko1
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線kunihikokaneko1
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システムkunihikokaneko1
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニングkunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習kunihikokaneko1
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要kunihikokaneko1
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について kunihikokaneko1
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承kunihikokaneko1
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しkunihikokaneko1
 

More from kunihikokaneko1 (20)

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニング
 
mi-4. 機械学習
mi-4. 機械学習mi-4. 機械学習
mi-4. 機械学習
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
 
kaneko202304.pptx
kaneko202304.pptxkaneko202304.pptx
kaneko202304.pptx
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出し
 

cs-12. 式の抽象化と関数,モジュール,算法(アルゴリズム)