Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
400
データサイエンス13_解析.pdf
jnlp
0
500
データサイエンス12_分類.pdf
jnlp
0
350
データサイエンス11_前処理.pdf
jnlp
0
480
Recurrent neural network based language model
jnlp
0
140
自然言語処理研究室 研究概要(2012年)
jnlp
0
150
自然言語処理研究室 研究概要(2013年)
jnlp
0
110
自然言語処理研究室 研究概要(2014年)
jnlp
0
130
自然言語処理研究室 研究概要(2015年)
jnlp
0
210
Other Decks in Programming
See All in Programming
FluorTracer / RayTracingCamp11
kugimasa
0
250
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
tparseでgo testの出力を見やすくする
utgwkk
2
270
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
Microservices rules: What good looks like
cer
PRO
0
1.6k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
140
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
520
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
Developing static sites with Ruby
okuramasafumi
0
320
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.6k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
530
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
190
Build your cross-platform service in a week with App Engine
jlugia
234
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Prompt Engineering for Job Search
mfonobong
0
120
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
230
Paper Plane
katiecoart
PRO
0
44k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
180
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
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