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
基礎情報処理演習 (3)PADその2
Search
自然言語処理研究室
September 27, 2013
Programming
0
2.1k
基礎情報処理演習 (3)PADその2
自然言語処理研究室
September 27, 2013
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
330
データサイエンス13_解析.pdf
jnlp
0
380
データサイエンス12_分類.pdf
jnlp
0
290
データサイエンス11_前処理.pdf
jnlp
0
400
Recurrent neural network based language model
jnlp
0
100
自然言語処理研究室 研究概要(2012年)
jnlp
0
100
自然言語処理研究室 研究概要(2013年)
jnlp
0
69
自然言語処理研究室 研究概要(2014年)
jnlp
0
64
自然言語処理研究室 研究概要(2015年)
jnlp
0
120
Other Decks in Programming
See All in Programming
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
3
340
Folding Cheat Sheet #1
philipschwarz
PRO
0
210
try! Swift Tokyo 初参加報告LT
hinakko2
0
190
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.2k
Site Reliability Engineering for GMO
pyama86
6
940
SpringBoot+MyBatisで例外が出たときどこを見るか
syukai
0
110
ONE WEDGE_company_guide
1wedge_one
0
380
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
470
pixivアプリでマルチモジュールを実現するまで
gatosyocora
1
130
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
310
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
Folding Cheat Sheet #3
philipschwarz
PRO
0
110
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Optimizing for Happiness
mojombo
370
69k
GraphQLとの向き合い方2022年版
quramy
31
12k
Building Effective Engineering Teams - LeadDev
addyosmani
27
1.8k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Scaling GitHub
holman
457
140k
The Invisible Customer
myddelton
114
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Unsuck your backbone
ammeep
662
57k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
Transcript
基礎情報処理演習 (3) PAD その2 山本和英 長岡技術科学大学 1
配列 配列とは一列に並んだ「箱」である。 • 箱の一つ一つは変数と同じ働きをする。 • それぞれの箱には数字を一つだけ入れることができる。 • 配列も、必要なだけ作ってよい。 配列の呼び方 •
配列全体で一つの名前をつける。 • 個々の箱(要素)には、配列の何番目という呼び方 をする。ただし、0番目から数えるところが違う。 長岡技術科学大学 電気系 基礎情報処理演習 2
配列の例 長岡技術科学大学 電気系 基礎情報処理演習 3
繰り返し(範囲) 範囲を指定した繰り返しを行う。例えば、 (a) 回数が決まっている場合(例:10回何かしたい) (b) 変数の値を変動させたい場合(例: p を20~40にしたい) このような場合に使う。 ここで、(a)
のように単に10回何かしたい場合も、変数を 変化させることで繰り返しを行う。例えば、 変数 w (変数名は何でもいい) を 1~10 (101~110でも何でもいい)に変化させる という操作で繰り返しを行う。 長岡技術科学大学 電気系 基礎情報処理演習 4
a ← 1 ~ 10 "こんにちは" どの変数を (変数名は何でもよい) いくつからいくつまで 減少方向(例:10~1)にはできない
何をする (処理は一つとは限ら ない。複数ある場合は 下に続ける) 長岡技術科学大学 電気系 基礎情報処理演習 5 書き方(例1)
a ← 5 ~ 14 "こんにちは" 単に同じ処理を10回繰り返すだけなら 変化させる数字は (右の数字が左の数字+9になっていれば) 何でもよい
長岡技術科学大学 電気系 基礎情報処理演習 6 書き方(例2)
a ← 1 ~ 10 変数の値を使って何かしたい場合 繰り返し変数 a の値を 表示させている
長岡技術科学大学 電気系 基礎情報処理演習 7 書き方(例3) "a回目の数字は p です!" p
i ← 1 ~ 5 S ← S + i
S ← 0 S S を初期化 i を 1,2,3,4,5で繰り返して S に S+i を代入 S を出力 長岡技術科学大学 電気系 基礎情報処理演習 8 書き方(例4)
繰り返し(前判定) 繰り返し(後判定) 長岡技術科学大学 電気系 基礎情報処理演習 9 どちらも、ある条件を満たす間はずっと繰り返す。 繰り返す回数を指定するのではなく、 それ以外の変数の値(例: k
が 0 かどうか)によって 繰り返しを続けるかどうかを決める。 これを繰り返し1回ごとに毎回判断する。 前判定と後判定は非常によく似ているが 使われ方が少し違う。次のスライドを参照。
a > 0 "あと a 回" (動作説明) a ← 10
a > 0 をチェックしてOK "あと10 回" a が 9 になる(a ← a – 1) a > 0 をチェックしてOK "あと9 回" a が 8 になる(a ← a – 1) … a > 0 をチェックしてOK "あと1 回" a が 0 になる(a ← a – 1) a > 0 をチェックしてNG (プログラム終了) 長岡技術科学大学 電気系 基礎情報処理演習 10 書き方(例1:カウントダウン) a ← a - 1 a ← 10
a > 4 a > 4 長岡技術科学大学 電気系 基礎情報処理演習 11
まず a > 4 をチェックして、正しければ右の処理を実行する。 条件によっては、右の処理が1回も実行されない。 まず右の処理を1回実行し、その後 a > 4 をチェックする。 どんな条件でも右の処理が最低1回は実行される。 前判定と後判定の違い どちらがいいという問題ではなく、場合によって使い分ける。
i < 5 S ← S + i S ←
0 S i ← i + 1 i < 5 i 継続条件 (もしこうなら右の処理を行う) ① ② 長岡技術科学大学 電気系 基礎情報処理演習 12 書き方(例2)
i < 5 S ← S + i S ←
0 S i ← i + 1 i < 5 i ① ② 条件のチェックよりも 処理を先に行う 長岡技術科学大学 電気系 基礎情報処理演習 13 書き方(例3) 例2と例3は同じ動作をしますか? それとも何か違いが出てきますか?