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
490
データサイエンス12_分類.pdf
jnlp
0
340
データサイエンス11_前処理.pdf
jnlp
0
460
Recurrent neural network based language model
jnlp
0
140
自然言語処理研究室 研究概要(2012年)
jnlp
0
130
自然言語処理研究室 研究概要(2013年)
jnlp
0
98
自然言語処理研究室 研究概要(2014年)
jnlp
0
120
自然言語処理研究室 研究概要(2015年)
jnlp
0
190
Other Decks in Programming
See All in Programming
楽して成果を出すためのセルフリソース管理
clipnote
0
180
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
AI時代のUIはどこへ行く?
yusukebe
18
9k
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.3k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
440
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.8k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Facilitating Awesome Meetings
lara
55
6.5k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How STYLIGHT went responsive
nonsquared
100
5.8k
Writing Fast Ruby
sferik
628
62k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Done Done
chrislema
185
16k
Visualization
eitanlees
148
16k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Embracing the Ebb and Flow
colly
87
4.8k
Building Adaptive Systems
keathley
43
2.7k
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