Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
基礎情報処理演習 (2)PADその1
Search
自然言語処理研究室
September 20, 2013
Programming
0
2.1k
基礎情報処理演習 (2)PADその1
自然言語処理研究室
September 20, 2013
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
380
データサイエンス13_解析.pdf
jnlp
0
480
データサイエンス12_分類.pdf
jnlp
0
340
データサイエンス11_前処理.pdf
jnlp
0
460
Recurrent neural network based language model
jnlp
0
130
自然言語処理研究室 研究概要(2012年)
jnlp
0
130
自然言語処理研究室 研究概要(2013年)
jnlp
0
94
自然言語処理研究室 研究概要(2014年)
jnlp
0
120
自然言語処理研究室 研究概要(2015年)
jnlp
0
190
Other Decks in Programming
See All in Programming
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
690
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
310
Comparing decimals in Swift Testing
417_72ki
0
150
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
180
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
340
AIのメモリー
watany
12
1.2k
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
770
NEWT Backend Evolution
xpromx
1
170
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
730
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
400
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
910
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
250
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Thoughts on Productivity
jonyablonski
69
4.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for Performance
lara
610
69k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Typedesign – Prime Four
hannesfritz
42
2.7k
How to Ace a Technical Interview
jacobian
278
23k
Transcript
基礎情報処理演習 (2) PAD その1 山本和英 長岡技術科学大学 1
アルゴリズム アルゴリズム(algorithm)とは、作業手順のこと である。アルゴリズムを計算機が理解できるように 表現したものがプログラム。 アルゴリズムの記述方法 ・ フローチャート ・ PAD ・ NSチャート など、たくさんある。 長岡技術科学大学
電気系 基礎情報処理演習 2
フローチャートの例 長岡技術科学大学 電気系 基礎情報処理演習 3 起床 帰宅 就寝 月~金曜日 授業
終わった? No Yes No Yes 遊ぶ
PADの例 長岡技術科学大学 電気系 基礎情報処理演習 4 起床 土曜か日曜 遊ぶ 帰宅 就寝
勉強する 授業時間
NSチャートの例 長岡技術科学大学 電気系 基礎情報処理演習 5 起床 曜日? 起床 講義 月~金
帰宅 就寝 遊ぶ 土日祝 授業終了まで 繰り返す
一般にはフローチャートが 最も有名であるが、 分かりにくいことも多い。 そこで、本演習では PADを使って説明する。 長岡技術科学大学 電気系 基礎情報処理演習 6
PAD PAD (Problem Analysis Diagram) とは、アルゴリズムを 図に表現したものである。 以下のような記号を使う。 処理 入力
分岐 繰り返し まとめ処理 出力 右に伸びるタイプ 下に続くタイプ 長岡技術科学大学 電気系 基礎情報処理演習 7
2 1 18 17 4 11 16 3 14 5
10 15 13 12 6 8 9 7 図1 PADの特徴 アルゴリズムの全体像を つかみやすい。 右に行くほど細かい処理になる 処理が細かくなってゆく 処理が進んでいく 長岡技術科学大学 電気系 基礎情報処理演習 8
これからPADの説明ですが その前に... 長岡技術科学大学 電気系 基礎情報処理演習 9
変数 • 変数とは、数字を入れておく「箱」のことである。 • 変数には名前をつける。これを変数名と呼ぶ。 • 変数は、必要ならばいくつ作ってもよい。 変数のイメージ 変数名 箱
(数字を入れる) 長岡技術科学大学 電気系 基礎情報処理演習 10
変数への代入 変数の中に数字を入れることを代入と呼ぶ。 例えば、a という変数に 3 を代入する時は a ← 3 と書く(3
→ a とは決して書かないので注意)。 長岡技術科学大学 電気系 基礎情報処理演習 11
値の追加 すでに入っている値に追加することができる。 例えば、 a ← a + 2 とすると、現在入っている a
の値に 2 が追加される。 長岡技術科学大学 電気系 基礎情報処理演習 12
変数の初期化 変数は最初、空かどうかは分からない。 (最初に 0 となっているとは限らない) 変数を空にするには、その変数を使う前に 0 を代入する 必要がある。これを変数の初期化という。 p
← 0 初期化も代入の一種である。 長岡技術科学大学 電気系 基礎情報処理演習 13
変数が分かったところで 今度こそPADの説明です。 長岡技術科学大学 電気系 基礎情報処理演習 14
処理 入力 出力 普通の処理。 キーボード入力。 どの変数に入れるかを記入する。 画面出力。 何を出力するかを記入する。 箱の大きさ、線の長さは自由でよい。 長岡技術科学大学
電気系 基礎情報処理演習 15
wa ← a + b a, b wa 図2 例 : 二つの数の和を計算するアルゴリズム
二つの数を入力して、a と b に代入 和を計算して wa に代入する wa を画面に出力する 長岡技術科学大学 電気系 基礎情報処理演習 16
分岐 長岡技術科学大学 電気系 基礎情報処理演習 17 ある条件によって別の処理をさせたい時に使う。 条件分岐や枝分かれとも言う。 ある条件が Yes の場合と
No の場合の処理を書くが 必ずどちらかの処理しか実行されない。
Yesの場合 (条件が正しい場合)の処理 Noの場合 (条件が正しくない場合) の処理 a > b 条件を書く。 aよりbが小さい
などと言葉で書いてもよい (曖昧でなければ) “a が大きい" “a が大きくはない" 長岡技術科学大学 電気系 基礎情報処理演習 18 書き方
x > 0 かつ y < 0 注意: 分岐は必ず2つに分かれるとは限らない。 Yes
だけの場合(図3)は Noの部分に何も書かない。 “x と y は 異符号" 図3 もしxが正の数で yが負の数ならば "xとyは異符号"と出力 そうでなければ何もしない 長岡技術科学大学 電気系 基礎情報処理演習 19
x > 0 x ←x * (-1) x 図4 そうでなければ
(= x が正の数でなければ) (= x が0か負の数ならば) x を -1 倍する。 もし x が0より大きい(正の数)ならば 何もしない xを出力する 長岡技術科学大学 電気系 基礎情報処理演習 20 さらに、Noだけの場合(図4)もある。
w < 20 “110円" w < 50 “540円" “270円" “200円"
w < 100 それ以外 図5 Wが20未満なら"110円"、 Wが50未満なら"200円"、 Wが100未満なら"270円"、 それ以外なら"540円"と出力 たくさん分岐する場合もある(多重分岐)。 例 : 郵便料金の計算 長岡技術科学大学 電気系 基礎情報処理演習 21