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
君たちはどうプログラミングするか
Search
Hisateru Tanaka
November 26, 2023
Programming
12
1.6k
君たちはどうプログラミングするか
モデリングフォーラム2023の基調講演をさせていただいたときの発表資料です
https://umtp-japan.org/event-seminar/mf2023/13453
Hisateru Tanaka
November 26, 2023
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
哲学史とモデリング
tanakahisateru
4
600
オブジェクト指向宗教史
tanakahisateru
31
16k
ほげ言語にあってPHPにない機能
tanakahisateru
6
2.7k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
530
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.1k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.2k
まんがのかきかた
tanakahisateru
8
640
10秒で衝突するUUIDの作り方
tanakahisateru
40
39k
これならしんどくないGit運用の考え方
tanakahisateru
21
5.8k
Other Decks in Programming
See All in Programming
詳解UIWindow
natmark
3
2k
現代のVueとTypeScript - 型安全の活用術
minako__ph
4
3.1k
Some more adventure of Happy Eyeballs
coe401_
2
150
BQ+dbt+Lookerを用いた、月間800億件以上の広告リクエストに対するデータモデリング
hanon52_
4
990
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
200
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
100
Regular Expressions, REXML, Automata Learning
makenowjust
0
180
Meet BrowserEngineKit
swiftty
0
190
私のEbitengineの第一歩
qt_luigi
0
410
ドメイン駆動設計を実践するために必要なもの
bikisuke
3
290
Wallet API, Verifier APIで実現するIDカード on iPhoneの世界
shitamori1272
1
320
Ruby Parser progress report 2024
yui_knk
2
180
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
44
4.6k
Testing 201, or: Great Expectations
jmmastey
35
6.9k
Unsuck your backbone
ammeep
667
57k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
33
1.7k
The Invisible Customer
myddelton
119
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Optimizing for Happiness
mojombo
375
69k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Code Review Best Practice
trishagee
62
16k
For a Future-Friendly Web
brad_frost
173
9.3k
Scaling GitHub
holman
458
140k
Transcript
܅ͨͪͲ͏ ϓϩάϥϛϯά͢Δ͔ ʙ࣌ͷมΘΓʹ͜Ε·ͰΛݟͭΊ͢ʙ https://www.bing.com/images/create/a-programming--shoebill-stork/65472dcd29434f64beed0a8972ec7f67? id=DfDgw%2bjQrrlnSAm5rl664g%3d%3d&view=detailv2&idpp=genimg&FORM=GCRIDP&mode=overlay
8)0".* ͡Ί·ͯ͠ͷօ͞ΜΑΖ͓͘͠ئ͍͠·͢ w Α͘1)1ίϛϡχςΟʹݱΕ·͢ w ࣗࣾαʔϏεͷ8FCγεςϜͷ໘ ΛઐଐͰݟΔࣄΛ͍ͬͯ·͢ɻ ͏গ͠Ͱ΄ͲʹͳΓ·͢ w 5XJUUFSͰίϚອը͡Ί·ͨ͠
w ʮͪΐ͏ͥͭιϑτΣΞઃܭೖ ʯஶऀͰ͢ !UBOBLBIJTBUFSV ాதͻͯ͞Δ ͪΐ͏ͥͭιϑτΣΞઃܭೖ ʕʕ1)1Ͱཧղ͢ΔΦϒδΣΫτࢦͷ׆༻ ాதͻͯ͞Δஶ *4#/
ΤϯδχΞֶ ͷମܥʹى͖͍ͯΔੈلͷύϥμΠϜɾγϑτʹ͍ͭͯ
ݱͷϓϩάϥϛϯά
ΫΠοΫιʔτ ʮج४QJWPUʯͱʮΓͷू߹SFTUʯΛߟ͑Δɻ SFTUΛʮະຬू߹MUʯͱʮҎ্ू߹HUFʯʹ͚ͨͱ͖ɺ ιʔτ͞ΕͨMUˠج४QJWPUˠιʔτ͞ΕͨHUF ʜͷॱʹฒΜͩϦετιʔτ͞Ε͍ͯΔͱݴ͑Δɻ
੩తܕɾܕਪɾࢀরಁաͳϦετɾ࠶ؼ ҎޙɺؔܕϓϩάϥϛϯάͷӨڹΛड͚ͯ ଟ͘ͷओྲྀݴޠʹಋೖ͞Ε͖͍ͯͯΔཁૉɻ
૯শܕɾϙϦϞʔϑΟζϜ 0SEFSJOH ൺֱΛ࣋ͭ ͳͳΒԿͰιʔτͰ͖Δɻ ܕͷਖ਼ମΛΒͳ͔ͯ͘·Θͳ͍͠ɺ ·ͩ͜ͷੈʹͳ͍ܕͷιʔτՄೳͱ͑͞ݴ͑Δɻ
🤔ॻ͘ͷΉ͔ͣͦ͠͏ʜ
͜ͷϓϩάϥϜΛॻ͍ͨͷ (JU)VC$PQJMPUPO*OUFMMJ+*%&" ͬͱΘ͔Γ͘͢͠Α͏ͱࢼߦࡨޡͨ͠ΜͰ͕͢ɺ ݁ہ࠷ॳʹఏࣔ͞ΕͨҊͱಉ͡هड़ʹམͪண͖·ͨ͠ɻ
࠷ޙʹ͜ͷΤϐιʔυΛৼΓ ฦΔͨΊʹɺࠓ͔ΒΊͬͪΌḪΓ·͢
શମͷྲྀΕ w γϟϊϯͷΤϯτϩϐʔɾϑϥΫλϧ ۙͷʮՊֶతʯࢥߟɾωΞϯσϧλʔϧਓ w ݪࢠɾଠཅܥɾੜ໋ɾΧΦεͷ ใγεςϜͷΞʔΩςΫνϟɾࣗసंϞσϧ w
νϡʔϦϯάɾϊΠϚϯɾνϣϜεΩʔɾϚοΧʔγʔɾέΠ ੜจ๏ɾϓϩάϥϛϯάݴޠ ʙ ࠶ߟ w ΦϒδΣΫτࢦʹܗࣜతఆ͕ٛʮͳ͍ʯͱ͍͏͜ͱ40-*% w ʮීวจ๏ମثʯͷӕɾώτͷݴޠੑ֫ಘͱ σΧϧτɾύεΧϧɾΧϯσΟϯεΩʔɾϝΠϠεʔ
Τϯτϩϐʔ ྗֶͷୈೋ๏ଇˠ౷ܭྗֶ
ཚࡶ͞ඞͣ૿େ͢Δ ίʔώʔͱϛϧΫͱණͲΜͲΜࠞ͟ΓɺݩʹΒͳ͍ ྗֶͷΈͳ͞Μ͕ ͕ͳͥΘΔ͔Λ ߟ͍͑ͯΔ͏ͪʹɺ ͦΕࢠͷཚࡶ͕͞ ૿େ͢Δ͜ͱͩͱ͍͏ આ໌ʹͳͬͨɻ
w ʮ௨৴ͷֶతཧʯ w ใྔΤϯτϩϐʔ w ੑͷ֓೦ຊ࣭తͳใྔ ͱཧతͳใྔͷࠩ w ୯ҐϏοτ Ϋϩʔυɾγϟϊϯ
ࣝ ൃ৴ ϝοηʔδ ݴޠԽ ࣝ ཧղ ϝοηʔδ ݴޠԽ ϊΠζ
ແବͳෳࡶ͞ ૹ࿏
ใྔΛϓϩάϥϜίʔυͰᄻ͑ͯݴ͏ͱ ใྔʮՄೳੑͷରͷׂ߹૯Λऔͬͨͷʯͬͯײ͡ print(“Hello, World.”) if hello: print(“Hello, World.”) else: print(“Goodbye.”)
ใྔϏοτ ใྔϏοτ MPHͭͶʹͳͷͰ 1JʮJʹͳΔ֬ʯ MPHͱ͢Δͱ ͕͜͜ରͳͷ͕ϙΠϯτ
if hello: print(“Hello, World.”) if foo and bar: print(“...") elif
baz: print(“...") else: print(“...") else: print(“Goodbye.”) if foo: if bar: print(“...") else: print(“...") else: Ϗοτ Τϯτϩϐʔͷ૿େ ຊ࣭తͳذ ͦΕͱͳ͚ͩ ͱʹ͔࣮͘ମͲΜͲΜෳࡶʹͳ͍ͬͯ͘
Ͳ͏͢Δ Τϯτϩϐʔͷ૯ྔඞͣ૿େ த৺తؔ৺ Τϯτϩϐʔ ܥͷ֎͍ग़ͪ͠Ό͑ ˠ૿େͯ͠Α͍ Τϯτϩϐʔ Τϯτϩϐʔ ͍ग़ͨ͢Ίʹ֎෦ͷΤωϧΪʔΛ
͏͜ͱ૯Τϯτϩϐʔͷ૿େʹ͋ͨΔ IUUQTXXXEBJLJODPKQTDIPPMDMBTTMFTTPO
Τϯτϩϐʔ͍ग़͠ํ๏͋Ε͜Ε w ؔΛઃ͚ΔˠৄࡉͷӅṭ w มؔΛ·ͱΊΔˠڽूɾ݁߹ ߏԽϓϩάϥϛϯά͕ΜΔ w ܕ੍ͱෆมੑˠՄೳੑΛߜΔ
ΤϯτϩϐʔԼ͛ʹΘΓͱޮ͘ ੍Λ୲อ͢Δݴޠͷಋೖ͕େ͖͍͚Ͳ w ͳͲɺߴڃݴޠͷػೳΛआΓͯ ͏·͘Ζ͏Ͷ டংˢ ΧΦεˢ ৫Խ ͱ͘ʹࣗͣͱܗʹͳ͍ͬͯ͘߹Λ ཧֶͰࣗݾ৫Խͱݴ͏ ྫ݁থ
.BU[ʮߴͳܕγεςϜΛ͑Δ ͚ͩͰɺϓϩάϥϜྑ͘ͳΒͳ ͍ɻຊ࣭͕େࣄɻಈతܕݴޠͷྑ͞ ɺͦΜͳݬ͕ͳ͍͜ͱͩʯ ͬ͘͟Γɺ͜Μͳײ͡ͷ͜ͱΛੲ͔Βڼͬͯͨɻ
ઌେ૽͗ʹͳͬͨ݅ IUUQTHJUIVCDPNIPUXJSFEUVSCPQVMM
ʜͬͯɺ͍ ͦ͏͍͏͜ͱ͡Όͳ͍Ͱ͠ΐ
൱ఆ͞Εͨͷ͋͘·Ͱɺతͳٕज़ ৴ڼʹΑΔߴڃԽɻແବͳίʔυͷΤϯ τϩϐʔ૿େɻ͔࣮ͤͬ͘ӹ͕͋ͬͨܕ ऍΛΘ͟Θ͟ফ͢ཧ༝ͳ͍ɻ
ਓؒͷ͙͢ݶք͕དྷΔ ϊΠζใྔΛݮΒ͢ิॿπʔϧͰ ΑΓຊ࣭ͷใྔΛೖΕΔۭ͖Λ૿ͦ͏
ωΞϯσϧλʔϧਓͷ༗ೳ͞ ࣗͷͷେ͖͞ʹґଘ͠ɺಓ۩ͷൃ໌Λҭͯͳ͔ͬͨϗϞ IUUQTKBXJLJQFEJBPSHXJLJωΞϯσϧλʔϧਓ #ZIBJSZNVTFVNNBUUDPNQBSJTPOPG/FBOEFSUIBMBOE.PEFSOIVNBOTLVMMT GSPNUIF$MFWFMBOE.VTFVNPG/BUVSBM)JTUPSZ$$#:4"
ωΞϯσϧλʔϧਓʮܕώϯτͳΜ͔ͳͯ͘ɺಈ ͔ͤӡ༻্OVMM͕ͳ͍ͱ͙͢Θ͔ΔΜ͔ͩΒɺԿ ͷͳ͍ͩΖɻಈ͚͍͍ΜͩΑʯ ݱੜਓྨʮϓϩάϥϜ͕େ͖͘ͳΔͱΘ͔Βͳ͘ͳ Δɻಈ͔͞ͳͯ͘ܕͰOVMM͕͋Γ͑ͳ͍ͱ͔ɺͦ ͏͍͏ͷΛද໌͍ͨ͠ʯ ͠ੴث࣌ʹίϯϐϡʔλʔ͕͋ͬͨΒ
IUUQTNFEJVNDPNHSBQIDPNNPOTBOBMZ[JOHUIFOQNEFQFOEFODZOFUXPSLFDGDEE OPEF@NPEVMFT͙͢Θ͔Δʜͩͱ
ෳࡶܥ ྺ࢙͕͋Δ͔ͳ͍͔ͷ৽ֶ͍͠
ܭࢉΛΑΓ͘ਖ਼֬ʹ͢Δಓ۩ ˣ ਓؒʹෆՄೳͳܭࢉྔΛΔಓ۩ ͜ΕͰಘΒΕͨੈلҎޙͷൃ ίϯϐϡʔλʔֶ͕ज़ݚڀͷيಓΛม͑ͨ
Ϛϯσϧϒϩू߹
Dͣͬͱ D ʜൃࢄ D
ʜ॥ Dʹऩଋ DK KͱKΛަޓʹ॥
D KҰ؏ੑ͕શ͘ͳ͘ɺ͕ͯͲ͔͜ඈΜͰ͍͘ K K K
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K D KҰ؏ੑ͕ͳ͍Α͏ʹݟ͑ͨͷʹɺ܁Γฦ͍ͯ͠ Δͱ࣍ͷΛ௨ΔपظؔʹͳΔ K K K K K K K K K ·͞ʹΧΦε
ൃࢄ͠ͳ͍ˠࠇ ͲΕ͚ͩૣ͘ൃࢄ͢Δ͔ˠ৭ ֦େ ֦େ ֦େ
ϑϥΫλϧ ແݶʹ࠶ؼ͢ΔΑ͏ͳࣗݾ૬ࣅߏ ΧΦε͔Β͜ͷΑ͏ͳடং ҙຯ ͕ൃੜ͢Δ͜ͱʜ
ΧΦεͷԑ ͱ໊͚ΒΕͨ
'PSNαϯλϑΣݚڀॴ w ΫϦετϑΝʔɾϥϯάτϯ w ηϧɾΦʔτϚτϯͷݚڀ w ൴ͷͷൃݟʹ༝དྷ w ενϡΞʔτɾΧϑϚϯ w
ੜ໋ͷىݯɾਐԽΛߟͨ͠ w ੜ໋ΧΦεͷԑʹ͓͚Δࣗݾ ৫Խͩͱදݱͨ͠ ਓੜ໋
ͭ·ΓϥΠϑήʔϜ ܭࢉػՊֶऀͷ༡ͼ ˠຊؾग़ͨ͠ΒϚδͩͬͨ ࢲͨͪݚڀऀͰ ͳ͍͚ΕͲɺ ͔͜͜ΒಘΒΕΔ ڭ܇ͱͯ͠ʜ
΄Μͷͪΐͬͱͨ͠ҧ͍͕ ΧΦεʹൃࢄͨ͠ΓடংʹͳͬͨΓ͢Δ ˣ ݱϓϩάϥϛϯάͷෳࡶ͞ ΧΦεͷԑʹଘࡏ͢Δ
ιϑτΣΞ ʜΛΧΦεͷԑͷࢹͰߟ͑Δ
ΫϦʔϯΞʔΩςΫνϟ ΑΓڧ͍த৺Ձ͕पғͷߏΛݗҾ͢Δ ❌ಛผͳٕ๏ ⭕ภࡏ͢Δಛ த৺ͷϞσϧ Τϯτϩϐʔগ ݱ࣮ͷෳࡶ͞Λ֎ʹ ͍ग़͍ͯ͠Δ ֎ԑ෦ͷٕज़ Τϯτϩϐʔଟ
େͳϥΠϒϥϦͷ શѲͰ͖ͳ͞
߃ܥͷΞʔΩςΫνϟ ͜͜Կे͔ͷ؍ଌͰݟ͖͑ͯͨଠཅܥͷ࢟
ଠཅܥ͓͠Ζࡶֶ w ଠཅόεέοτϘʔϧ͙Β͍ͩͱ͢Δͱ NΕͨͱ͜Ζʹ͋Δϐϯϙϯۄ ΧΠύʔϕϧτͷԿඦͷ४܈LNΕͨ## w ෆࣗવͳҐஔʹ͋ΔఱମʮέϨεʯ
ΧΠύʔϕϧτʹ͋ΔΑ͏ͳ४Ͳ͖͕ɺͳ͔ͥͷखલͷখଳʹ͋Δ ͓ͦΒ͘தʹେྔͷਫΛ࣋ͭණͷఱମ ້ԦͳͲʹࣅ͍ͯΔ w ͦΕݴ͏ͳΒٿΑਫͷΑ͏ͳ͍࣭ܰॳظʹͬ͞͞ͱਧ͖ඈ͞Εɺ ΄ͱΜͲ͕ఱԦɾւԦΑΓ֎ʹଘࡏ͢Δͣʜ εϊʔϥΠϯͷଆͰӷମͷਫΛอ࣋͢ΔɺෆࣗવͳఱମͳΜͰ͢
$"ͱଠཅܥΛൺͯΈΔͱ w ߃ͱˠͱӴ ΫϦʔϯΞʔΩςΫνϟ࠶ؼ͢Δ͔͠Εͳ͍ ͪΐ͏ͥͭຊ w ·Εʹଞͷ߃ܥͱͷ૬ޓ࡞༻͕ى͖Δ͜ͱʜ
ΫϦʔϯΞʔΩςΫνϟͯ͢ͷத৺Ͱͳ͘ɺ ֎෦ʹ͋ΔιϑτΣΞ·ͨಠࣗͷΞʔΩςΫνϟΛ࣋ͭ ͪΐ͏ͥͭຊ w ॳظখരܸݱࡏΦʔϧτͷӢʹಧ͘ክͷପԁيಓ ֎ԑ෦ͷৼΔ͍͕෦ʹ࣮࣭తͳՁΛੜΉ ٿͷਫͲ͔͜Β ݟ͑ͳ͍͙Β͍ԕ͘ʹ͋Δͷ͕ɺ෦ʹ༗ҙٛͳมԽΛͨΒ͢ ґଘͷ͖
w ݪࢠ֩ͷେ͖͞ͱిࢠͷيಓɺଠཅͱ ͷيಓ͙Β͍ͷαΠζײ w ֩༥߹ˠཅࢠͱதੑࢠͷҐஔؔݻఆ ˠத৺ΤϯτϩϐʔݮগˠΘΓʹ େͳΤωϧΪʔΛ์ग़ w ࣗ༝ӡಈͷΤϯτϩϐʔΛୣΘΕΔͱˠ ݪࢠࢠʹͳΔˠࢠిՙͰ݁߹
Τϯτϩϐʔݮগ ΤϯτϩϐʔͱϑϥΫλϧͷ؍Ͱ ݟͨͱ͖ͷݪࢠͱͷ૬ࣅੑ
2ੈքॳͷσδλϧϝϞϦʔ Կલʹ࡞ΒΕͨͰ͠ΐ͏͔ ώϯτΞσχϯνϛϯάΞχϯγτγϯ
%/"ཐટσδλϧσʔλ w छྨϖΞͷࢠͷΈ w ηοτϫʔυͷίυϯ୯Ґ ͰN3/"ʹഔհ͞ΕΔػցޠ w ਓؒͷήϊϜຊͰɺใྔ .#΄Ͳ w
࣮ݘͷ΄͏͕ຊ͕ଟ͘ɺഏ ڕώτͷഒҎ্ "ԯલ
ͬ͟ͱ(#લޙͷσʔλʹ ϝμΧͱਓؒͷҧ͍͕શʹهड़͞Ε͍ͯΔ νϯύϯδʔͱਓؒಉ͡ྻ ੜֶతʹਓ͕ؒਓؒͩͱݴ͏ͨΊͷใྔ.#ͪΐ͍
ෳࡶܥͷࢹͰߟ͑Δͱʜ ࣗવքΞφϩάෆ֬ఆੑݪཧ ܭࢉػσδλϧશʹԋ៷త ͱ͍͏ʮۙతʯͳ؍೦ɺ$%30.࣌Ͱ͢Ͱʹٯస͠ ͍ͯΔͱݴ͍͍ͬͯͷͰ ·ͯ͠Πϯλʔωοτʜ
ιϑτ։ൃͦΕ͙Β͍ະ ͷઓ
ݱιϑτΣΞେͳΧΦεͷԑʹੜ·ΕΔ ͱݴΘ͟ΔΛ͑ͳ͍͕ʜ டং͕໌Β͔ͳྖҬΛ࣮֬ʹ͓͔ͬͯͳ͍ͱɺ ΧΦεͷԑ͔ΒΛ౿Έ֎ͧ͢
ͨͱ͑ύοέʔδͷݪଇ w ϥΠϒϥϦ͔ͯ͠Β͍ͳ͍͞ w ͳͷͰɺ͏·͚͘ͳ͍͞ w ·ͨɺ͏·͘·ͱΊͳ͍͞ w ґଘͷ͖ʹؾΛ͚ͭͳ͍͞ ॥ґଘ֎Ͱ͢
w ʮมߋͷগͳ͍ํ҆ఆʯʹ͖ͳ͍͞ w ҆ఆͱ͍͏ͷɺमਖ਼͖͢ࣄΛ͋·Γ࣋ͨͳ͍͜ͱͰ͢
ΞʔΩςΫνϟઃܭͷՌ͍ͨͯ͠Δ ઃܭͱࣗసंͷ྆ྠͷΑ͏ͳͷ υϝΠϯϞσϧ গ͖ͮͭ͠Λม͑ΒΕΔ ΞʔΩςΫνϟ ࣗసंલʹਐΉ͔ΒΕͳ͍ ΠςϨʔγϣϯ υϝΠϯ ސ٬͕ຊʹཉ͔ͬͨ͠ͷ ͜ͷຊͷதͰ͕ࣗ
͖ͳӅΕϫʔυ ʮࣗసंͷ྆ྠʯ ͜͜Λઆ໌͢ΔຊͬͯҙຯͰ ʮιϑτΣΞઃܭೖʯ
ϓϩάϥϛϯά ݴޠͱ ΞʔΩςΫνϟͷ࠷ԼΛࢧ͑Δཧͷྺ࢙
w ཧ্ͷܭࢉػϞσϧ νϡʔϦϯάϚγϯ w ໋ྩͷྻΛಡΈऔΔϙΠϯλΛ ಈ͔͢ΞΠσΞͷݩ w ࣗΛ฿Ͱ͖ΔܭࢉϞσϧ νϡʔϦϯάશ w
ਓೳͱνϡʔϦϯάςετ ΞϥϯɾνϡʔϦϯά
w ਆͱѱຐͱݺΕͨఱ࠽ w ͝Ζɺిؾࣜͷܭࢉػ ʹʮιϑτΣΞʯΛͨΒ͠ ͨਓʑͷද w ϊΠϚϯܕܭࢉػػցޠ ݩʮ໋ྩͱσʔλ͕ಉ͡ϝϞϦۭؒʹ
͋ΔλΠϓʯͷҙຯ w ݱࡏͷ$16ϊΠϚϯܕ ϑΥϯɾϊΠϚϯ
w ݴޠֶऀ w ʮੜจ๏ʯͰݴޠֶͷ ֵ໋ࣇʹ w ͋ΒΏΔݴޠදతͰɺ୯ޠͷ ฒͼͷنଇʹΑֶͬͯతʹϞσ ϧԽͰ͖Δͱߟ͑ͨ w
νϣϜεΩʔ֊ɺܗࣜݴޠʹ େ͖ͳӨڹΛͨΒͨ͠ ϊʔϜɾνϣϜεΩʔ
IUUQULVDFOUFSCMPHTQPUDPNCMPHQPTUIUNM
νϣϜεΩʔ֊ w จ๏ͳ͠ ޠኮͷฒͼॱҙνϡʔϦϯάϚγϯϊΠϚϯܕͷػցޠ w จ຺ґଘจ๏ औΓಘΔޠኮͷॱংΛཏ͢Δจ๏ ͋·Γ͍ಓͳ͍
w จ຺ࣗ༝จ๏ ߏతͳΈ͕͑ՄೳͰɺ͔͠ແݶ࠶ؼߏΛ࣋ͭ ˠϓϩάϥϛϯάݴޠͷఆٛʹ׆༻͞Εͨ w ਖ਼نจ๏ ࠶ؼ͕༗ݶͰࣗવݴޠͱͯ͠ݱ࣮తˠͦͷ··ਖ਼نදݱͱͯ͠ݱଘ
"-(0- ʙ w νϣϜεΩʔͷΞΠσΞʹӨڹΛड͚ͨ࠷ॳͷݴޠ w '0353"/ͷδϣϯɾόοΧε w όʔδϣϯʹՃΘͬͨϐʔλʔɾφΞ w จ຺ࣗ༝จ๏ʹόοΧεɾφΞه๏
#/' ΛఆΊͯ։ൃ w ैདྷͱҟͳΓɺઌʹϋʔυΣΞதཱͳจ๏ઃܭΛஔ͍ͨݴޠ w ޙͷଟ͘ͷϓϩάϥϛϯάݴޠͷ࢝ͱͳͬͨ
ػցޠ໋ྩʹϚοϓ͞ΕΔ෮ͱذ FOR i FROM 1 TO 100 DO IF i
MOD 15 = 0 THEN printf (( $ "FizzBuzz" l $ )) ELIF i MOD 3 = 0 THEN printf (( $ "Fizz" l $ )) ELIF i MOD 5 = 0 THEN printf (( $ "Buzz" l $ )) ELSE printf (( $ n(width(i))d l$, i )) FI OD
ීวจ๏ʹ͍ͭͯ w νϣϜεΩʔޙҎ্ʹΘͨͬͯɺʮਓؒʹͷΈݴޠೳྗ͕͋Δͷ ͳ͔ͥʯΛߟ͍͑ͯͨ w ਓؒͷʹઌఱతʹɺݴޠॲཧγεςϜʮීวจ๏ʯ͕Έࠐ·Ε͍ͯΔͷ Ͱͳ͍͔ ͜Εࣗମͷਖ਼ޡޙͷٞʹճ͢ͱͯ͠ʜ w
"-(0-ͱͦͷࢠଙʹͱͬͯීวจ๏ͱ ϊΠϚϯܕܭࢉػ νϡʔϦϯάϚγϯ ͷϞσϧ w ͔ͨ͠ʹ৬ۀϓϩάϥϚʔͷೝʹਂ͘ಥ͖͍ͬͯ͞Δ
-*41 ʙ ެ։͝Ζ w δϣϯɾϚοΧʔγʔʹΑΔνϣϜεΩʔͷผղ w ΧοίͱࣜͷϦετҎ֎ɺԿͳ͍ۃͳจ຺ࣗ༝จ๏ w ࠷େͷಛϊΠϚϯܕͷܭࢉϞσϧΛهड़͠ͳ͍͜ͱ w
-*41ͷීวจ๏ઢܗϦετϥϜμܭࢉ w ͕ɺ͜Ε·ͨສೳνϡʔϦϯάϚγϯͷͻͱͭ ໋ྩྻͷϙΠϯλҠಈ͚ͩ͡Όͳ͍
ߏจΛ໌ࣔతͳΧοίͰද͢จ๏ ໘ͳจ๏نଇͷ༷͕࠷খͰࡁΉ (map (lambda (n) (cond ((= (remainder n 15)
0) "FizzBuzz") ((= (remainder n 3) 0) "Fizz") ((= (remainder n 5) 0) "Buzz") (else (number->string n)) )) (iota 100 1)) (+ 1 2) + 1 2 + 1 * 3 4 (+ 1 (* 3 4))
ීวจ๏͕ҟͳΔܥྻ ΠϧΧڕྨ͡Όͳ͍Μͩ -*41 "-(0- 42- .- 1SPMPH 4NBMMUBML 1BTDBM "EB
$ 4JNVMB 3VCZ )BTLFMM $ 3VTU (P એݴܕ ໋ྩܕ $0#0- '0353"/
ඞͣ͠"-(0-͕ԦಓͰͳ͍Α w ʙශऑͩͬͨྔ࢈ίϯϐϡʔλͱ$ݴޠͷίϯϏ͕େޭ w ϓϩάϥϛϯάʹʮϑϩʔνϟʔτ͢͝Ζ͘ʯʮมೖΕʯͱ͍ͬͨΠ ϝʔδ͕ઌʹఆணͨ͠ $0#0-'0353"/ͦ͏ͩ͠ w νϡʔϦϯάϚγϯ͚͕ͩνϡʔϦϯάશͳܭࢉػͳΘ͚Ͱͳ͍
w ϊΠϚϯηϧɾΦʔτϚτϯ ϥΠϑήʔϜͷݩ Λߟ͑ͨਓؒͰ͋Δ w ϥΠϑήʔϜͰ͑͞ ͔ͨ͠ʹ νϡʔϦϯάશͩͱূ໌͞Εͨ
͜Ε͕ ʮϓϩάϥϛϯάݴޠͳΜͯɺ ͻͱ֮ͭ͑ͨΒଞࣅͨΑ͏ͳΜ͞ʯ ʜͱݴ͑Δ͔ݴ͑ͳ͍͔ͷ͑
͋͞ʜ໘ͳͱ͜Ζʹߦ͖·͠ΐ͏͔ ྺ࢙ͷࣄ࣮ͱଟͷೝ͕ࣝ৯͍ҧ͏ྖҬ 4NBMMUBML 4JNVMB $ $
w ʮΦϒδΣΫτࢦʯͷ໋໊ऀ w 4NBMMUBMLʙ w ܭࢉػՊֶऀͷͨΊͷܭࢉػͰ ͳ͍ɺͱ͍͏ίϯηϓτ w "QQMF͕ੈքॳͷύιίϯΛ࡞Δ લʹʮ୭͕൘ঢ়ͷίϯϐϡʔλ
ʔΛͬͯ׆ಈΛ͢Δʯߏ Λඳ͍ͨ ΞϥϯɾέΠ
w όϕοδͷղੳػؔͷύϯνΧʔυ ΛଧͬͨʮੈքॳͷϓϩάϥϚʔʯ w ϓϩάϥϛϯάݴޠ"EBͷݩωλ w ੈلʹະདྷͷίϯϐϡʔλʔͷ ՄೳੑΛࣔࠦ w ʮྫ͑ԻָཧΛͰදͤɺ
ղੳػؔͷܭࢉྗܳज़Մೳʹ͢ ΔͰ͠ΐ͏ʯ ΤΠμɾϥϒϨε
έΠͷΦϒδΣΫτࢦ w 4NBMMUBMLʮ։ൃڥ࣮ߦڥʯͷ(6* w ಈతܕɾԆଋറˡ͜͜ॏཁ ͯ͢ͷม࣮ߦ࣌·Ͱ࣮ମ͕ԿʹͳΔ͔Θ͔Βͳ͍ w ܭըతίʔσΟϯά͔ΒͷҰൃޭͳΓํΛ൱ఆ
ˠΠϯλϥΫςΟϒͳ*%&Ͱͷࢼߦࡨޡ ͳ͓ w 0CKFDUJWF$ʹܧঝˠʮ$ͷ··ʯͱʮ4NBMMUBMLͦͬ͘ΓʯͷΩϝϥ ˠ"QQMFͱ/F95ͷ(6*Ͱ׆༂ˠ (P'σβΠϯύλʔϯ
ϝοηʔδϯά ͦΕ͕4NBMMUBMLͷීวจ๏ yesOrNo ifTrue: [ Transcript show: ‘Yes’; cr. ]
ifFalse:[ Transcript show: ‘No’; cr. ]. #PPMFBOTVCDMBTT5SVF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?USVF#MPDLWBMVF #PPMFBOTVCDMBTT'BMTF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?GBMTF#MPDLWBMVF USVF#MPDL͚ͩධՁ͢Δ GBMTF#MPDL͚ͩධՁ͢Δ ͕ͯ͢ʮΦϒδΣΫτϝοηʔδʜʯͷཧ۶Ͱಈ͘ɻ ͳΜͱɺஞ࣍ॲཧͳͷʹ*'ߏจ8)*-&ߏจͳ͍
ZFT0S/P͞Μ ͱࢲ͕ݺͿͲͳ͔ͨ ͋ͳ͕ͨͲ͜ͷ୭ͳͷ͔ଘ্͛͡·ͤΜ͕ɺ ͦΕͰࢲ͋ͳͨʹJG5SVFJG'BMTFΛ͑·͢ɻ Ͳ͔͜ͷҟࠃͰɺͲ͏ͧ͜ͷҙਤΛड͚औ͍ͬͯͩ͘͞ɻ ϝοηʔδݴޠͱࣝͷ࣮ମԽ w શͯͷΦϒδΣΫτૄ݁߹ͩɺͱ͍͏ൃ w
খ͞ͳ୯ҐࣝʹΑΔ࠶ؼతͳωοτϫʔΫ w ϝϞϦ্ͷੜσʔλػցޠ໋ྩͷม શʹӅṭ͞ΕΔ ҙ͖ࣝ͢Ͱͳ͍
ͯ͢ϓϩτίϧͷઌͰى͖Δ ϙϦϞʔϑΟζϜ ΞϥϯɾέΠʮσʔλѱ͍ΞΠσΞʯ
͕ʜͦͷ໊લʮΦϒδΣΫτࢦʯ౪·Εͨ ͳͥ4JNVMBˠ$ ىݯͱ͍͏ӕΛ৴͡Δफ͕ੜ·Εͨͷ͔ 4JNVMB 4NBMMUBML $1- #$1- $ݴޠʙ ,3 $XJUI$MBTTFT
001Ͱͳ͍ $ ʙ Ԇଋറ ˣ 001Մೳ ΦϒδΣΫτࢦ "-(0- -*41 ϝοηʔδϯάͷώϯτ
w ʮ0014JNVMBىݯͷ$ +BWBͷΑ͏ͳͷʯͱ͍͏ҹΛ ͔ࠜͤͨுຊਓ w &J ff FMʙΦϒδΣΫτΛʮந σʔλܕͷܥࢠଙʯʹҐஔͮ
͚ɺ੩తܕͷܧঝΛΘΓͱॏࢹ έ Π.BU[ͱͷܾఆతҧ͍ w ѱ͘ͳ͍Μ͚ͩͲɺผ֓೦ͷͱ ͜Ζ໊લΛม͑Ζ όʔτϥϯυɾϝΠϠʔ
ʮݴޠʹΦϒδΣΫτͱ͍͏จ๏͕ ͋Δ͔Βͱ͍ͬͯɺΦϒδΣΫτࢦ ͩͱݴ͑ΔΘ͚Ͱͳ͍ʯ ʜͣͩͬͨͷ͕ແ͠
ಉ໊͡લΛ࣋ͭόϥόϥͳϞϊ ͜ΕΒͷશͯΛ؏͘ຊ࣭͕ඇৗʹΘ͔Γʹ͘͘ʜ
ʮΦϒδΣΫτࢦफڭ࢙ʯ ৄ͘͠དྷ·ͨ͠·͢
ΦϒδΣΫτࢦʹ ୯Ұͷఆٛͳ͍ ڞ௨͢ΔจԽతՁԿͳͷ͔
40-*%͔Βͷֶͼ ੈلɺफڭઓ૪ऴ݁ͷ
ʮ40-*%ͳΜͯͩ͘ΒΜʯ ͳͥཧղ͞Εʹ͍͘ͷ͔
ωʔϛϯάηϯε͕ͻͲ͍ ͜ͷॱͰͻͱͭͷҙຯΛཧղ͢Δͷࠔ ฒͼॱͷཧ༝ϚʔνϯɾϑΝϥʔ͕ʮൃԻ͍͢͠ʯͬͯݴͬͨ
%* 40 - ͜ͷॱʹ͢Δͱɺͻͱͭͷ֓೦͕ݟ͑ͯ͘Δ
%*1ґଘੑٯసݪଇ ଟଶੑશͳந4NBMMUBMLͷ5SVF'BMTF͋Δ͍Πψωί ❌ αϒϞδϡʔϧ ੍ޚ ґଘ ओϞδϡʔϧ ओϞδϡʔϧˠ҆ఆ αϒϞδϡʔϧˠࠩ͠ସ͑Մೳ ݘ
ೣ ʜͦͷଞҙͷಈͰ͔·Θͳ͍
*41ΠϯλʔϑΣʔεݪଇ ෦ܕͷґଘ4NBMMUBMLͷϓϩτίϧ͋Δ͍Ξώϧͷܕ ػೳ" ػೳ# ྫࠩΛऔΕΔ ྫൺֱͰ͖Δ ࣮ ϕΫτϧ จࣈྻ ػೳ"
ػೳ# ΄͔୯ମςετͷϞοΫ ػೳ"#ͱ҆ఆͷ··
431୯Ұݪଇ ͻͱͭͷ͜ͱΛ͏·͘ΕͦΕຊʹશͳಠཱੑ͋Δʁ w ϞδϡʔϧΛͻͱͭަ͢Δ͚ͩͰ͍͍ w ༨ܭͳͷΛؚΜͰ͍ΔͱແؔͳมߋӨڹ͕ग़Δ w ेͳػೳΛؚΜͰ͍ͳ͍ͱ͋ͪͪ͜ަ͠ͳ͍ͱ͍͚ͳ͍ w ͨͩ͠ɺߏԽɾػೳղͱ͍͏நԽͰશʹಠཱͨ͠୯ମʹͳΒͳ͍
w ্ҐͷϞδϡʔϧ͕ԼҐͷϞδϡʔϧͷมߋӨڹΛड͚Δ͔Β w ͳͷͰɺ431ʹͱͬͯ%*1ͱ*41ʹΑΔશͳநԽෆՄܽ
0$1։์ดݪଇ ֦ுʹରͯ͠Φʔϓϯɺมߋʹରͯ͠Ϋϩʔζυ w ʮͲ͜ͰίʔυΛมߋ͘͢͢͠Δʯͱ͍͏҆͞ɺ͍ͭͲ͕͜յΕΔ ͔Θ͔Βͳ͘͢Δɻ҆ఆͨ͠ϞδϡʔϧΛ͍͔ʹॻ͖͑ͳ͍͔͕େࣄͩɻ w ཁॴཁॴ͕શͳ431 %*1*41Λલఏʹ Λຬͨ͢ઃܭʹͯ͋͠Εɺ͍ͭ ͰͲ͜Ͱɺ֦ுόʔδϣϯͱͷަͷํͰ͍͚ΔɻΦʔϓϯ
w ަ෦ͷपғʹ͔͠มԽ͕ى͖ͳ͍ ҆શʹ֦ுͰ͖Δ ҆৺͕ɺϓϩδΣ ΫτΛ݈શʹ͢ΔΑɻ w ͜ΕͳΜͱɺϝΠϠʔ͕༩͑ͯ͘Εͨڭ܇
-41Ϧείϑͷஔݪଇ ։์ดݪଇΛຬͨͨ͢Ίͷݫີͳඞཁ݅ w ΠϯλʔϑΣʔε͕୲อ͢Δͱͨ͠ࣄલ݅ΛڱΊΔ࣮Λ͍͚ͯ͠ͳ͍ɻ w ྫܻ·ͰͷΛೖྗͰ͖·͢ˠܻ͡Όͳ͍ͱյΕΔ࣮μϝ w ΠϯλʔϑΣʔε͕୲อ͢Δͱͨ͠ࣄޙ݅ΛΊΔ࣮Λ͍͚ͯ͠ͳ͍ɻ w ྫඞͣਅِΛฦ͠·͢ˠCPPMcOVMMΛฦ͢ͱड͚औΓଆ͕յΕΔͧ
w ͜ͷͪΐͬͱҟ৭ͳݪଇͷ༝དྷͳΜͱɺৼΔ͍நσʔλܕͷݚڀऀό ʔόϥɾϦείϑઌੜσʔλѱ͍ΞΠσΞ͔Γ͡Όͳ͍Ͷɻ
Φʔϓϯ Ϋϩʔζυ ࣄલ݅ ࣄޙ݅ ࣄલ݅ ࣄޙ݅ ୯Ұ ަՄೳ ੍ޚ ґଘ
ԼҐͷ֦ுੑ ্Ґͷ҆ఆੑ ࣮ͷ Ԇଋറ ˠ%*
फڭઓ૪ͷฏతղܾ
͜ΕΛɺͲͷݴޠͷͲͷػೳʹରԠ͢Δ͔Ͱ ߟ͑ͩ͢ͱɺઈରʹࠓͷ001ͷ࢟ݟ͑ͯ ͖·ͤΜɻܗࣜతͳఆٛෆՄೳͳΜͰ͢ɻ
͘ΒͯΈΔͱ ੩తܕ੍ɾࢀরಁաੑ ಉҰ֊ͰͷతͳΤϯτϩϐʔ੍ ΦϒδΣΫτࢦ จԽ ݪࢠˠࢠͷΑ͏ͳɺΤϯτϩϐʔ͍ग़͠ͷߏʹ͓͚ΔҰ ൠύλʔϯ㲈ϑϥΫλϧͷཁૉ ͏ʔΜʜΤϯτϩϐʔΛԣʹҰͰಀ͕͔͢ɺॎʹ࠶ؼతʹಀ
͕͔͢ɺΈ͍ͨͳΠϝʔδ
ΧΦεͷԑ ݱ࣮ʹʹݟ͑ΔΑ͏ʹͳ͖ͬͯͨ
ීวจ๏Λऴ͑ͨ w ීวจ๏ͷΞΠσΞ੯͔͕ͬͨ͠ɺ લͷݹ͍ΞΠσΞ w νϣϜεΩʔಥવҨࢠʹΈࠐ·Εͨʮମث ʯͩͱ͚݁ͮͨ ֶۙͷԆൃ w
ੜֶతʹߟ͑ͯͪΐͬͱ͋Γ͑ͳ͍ w ͷՊֶతͳݚڀͷੵΈॏͶˠݴޠೳྗݱࡏ ʮޙఱతʹߏங͞ΕΔͷʯͱߟ͑ΒΕ͍ͯΔ ൃചͷॻ੶
ݴޠίϛϡχέʔγϣϯΛ௨ͯ֫͡ಘ͞ΕΔ w ͡Ί͔Βશͳීวจ๏ஔ͕ʹ͋ΔˠͦΜͳͷͳ͍ w ͍ͯ͠ݴ͑ɺ൚༻ϋʔυΣΞʮʯͷɺετϦʔϛϯάใॲཧͷੑೳ w ώτจΛߏతʹύʔε͢ΔͷͰͳ͘ɺ࣍ʑͱͬͯ͘ΔԻૉه߸Λν ϟϯΩϯά͠ɺਖ਼֬ͳใΛࣺͯͳ͕Βɺ૯߹తʹҙຯੈքΛ࡞͍ͬͯΔ w ίϛϡχέʔγϣϯΛ௨ͯ͡ɺޓ͍ͷϓϩτίϧΛ߹ΘֶͤͯΜͰ͍͘
w ΧΦεͷԑ͔ΒͷιϑτΣΞΤϛϡϨʔγϣϯͰɺීวจ๏͕͋Δͱࢥ͑ͯ ͠·͏΄Ͳڧྗͳʮݴޠʯ͕ɺੈքதͰಉ࣌ଟൃతʹੜΈग़͞Εͨ໘ന͞
νϣϜεΩʔ۪͔ͩͬͨͷ͔ w ʙͷੈքʹෳࡶܥͷ֓೦ͳ͔ͬͨɻ w ͨͬͨҰਓͰैདྷͷݴޠֶΛ෴ͨ͠ύϫϑϧ͞ͷ͍͢͝ɻ w ࢲ͕ͨͪݱͷϓϩάϥϛϯάݴޠΛ͑Δͷɺੜจ๏ͷཧͱීวจ ๏֓೦ͷ͓͔͛ɻ w ͍ͬ͡͞ɺීวจ๏ΛԾఆ͢Δ͜ͱɺ"-(0-ͱ-*41ͱ4NBMMUBMLͷҧ͍
Λઆ໌͢Δͷʹศརͩͬͨɻ
w ੈلۙੈֶͷʹֶͯ͠ ऀɾཧֶऀ w ʮզࢥ͏Ώ͑ʹզ͋Γʯ w ަ࠲ඪܥͷߟҊ w ʮڏʯΛ໋໊ͨ͠ ϧωɾσΧϧτ
σΧϧτ۪͔ऀ͔ͩͬͨ w ʮզ͋ΓʯΛ࡞ͬͨਆ͕͍Δͣɺͱ͍͏҆қͳਆͷଘࡏূ໌ɺύεΧϧͱ Χϯτʹ൷͞Εͨˠ࣮ଘओٛˠ།ʜ w ަ࠲ඪܥͱڏΛ࡞ͬͨʹ͔͔ΘΒͣɺෳૉฏ໘ͷʮճసʯΛൃݟ͢Δ͜ ͱͳ͔ͬͨɻΨεͷൃݟͱΦΠϥʔͷ׆༂Λͭ͜ͱʹͳͬͨɻ w ཧݱ࣭ͷ৮ͩͱߟ͑ͨɻԻͷୡۭؾͷৼಈͰઆ໌Ͱ͖Δ͕ɺ ΨϦϨΦͷࣗ༝མԼΛઆ໌Ͱ͖ͣɺʮΤʔςϧ͕͋ΔʯͱݴͬͨɻΤʔςϧ
ޙɺχϡʔτϯͷສ༗ҾྗʹΑͬͯશʹ൱ఆ͞Εͨɻ
ਓྨͷࣝ·ͨɺਖ਼͔ͬͨ͠Γؒҧͬ ͍ͯͨΓΛ܁Γฦ͠ͳ͕Βҭ͍ͬͯΔ
ɺχϡʔϥϧωοτܥ"*ͷ࣮༻Խ ˠࢲ͍ͨͪ·ʮΧΦεͷԑ͔Βੜ·Ε Δடংʯͷ۩ݱԽΛͷͨΓʹ͍ͯ͠Δ
͜͏͍͏ͷ͋Γ͕ͪͰ͚͢Ͳɺ Ͳ͏Ͱ͔͢ ͋ɺ͡Ό͋࣍͜͏Ͱ͢ ख͠
ීวతʹਖ਼͍͠ݴޠͳ͍ ݴޠίϛϡχέʔγϣϯͰҭͭ
"*ίʔσΟϯάҎલ w ͋Ε ϦΞϧλΠϜͳϑΟʔυόοΫΛ׆͔͢ϓϩάϥϛϯάͬͯɺ͜Ε·Ͱʹͳ ͔͚ͬͨͬ w *%&ͱରܕγΣϧ ˠ4NBMMUBMLҎޙΘΓͱҰൠతʹʜ w
.BDSPNFEJB%JSFDUPS 4DSBUDI #MFOEFS w *OUFMMJ+ͷ੩తղੳͳΜͯ"*ฒΈɺͱ͍͏͔"*ͱิؔʹ͋Δ͙Β͍ w 5%%ͷαΠΫϧ ˠ46OJU +6OJUʜ w ʮॻ͍ͨΒͦͷͰ͙͢୯࣮ߦʯ͏વͷΓํ
w 4NBMMUBMLͰ46OJUΛ։ൃ͠ɺ +6OJUʹҠ২ w 001ͷݪճؼʹӨڹ w ʮςετۦಈ։ൃʯʮΤΫετ ϦʔϜɾϓϩάϥϛϯάʯ w ΞδϟΠϧϜʔϒϝϯτͷֶత
ͳج൫ͱͳͬͨࢥ έϯτɾϕοΫ
͏ͪͷத̍*%&Ͱ͜͏ϓϩάϥϛϯάͨ͠ ύιίϯΛങͬͯͬͯϲ݄ɺ·͡ͰԿڭ͍͑ͯ·ͤΜ ΫοΩʔΫϦοΧʔͷήʔϜ༷Λੳɺແ͔Β࠶ݱ͍ͯͨ͠ɻ αϒϧʔνϯ:PV5VCFಈըͰཧղͨ͠Β͍͠ɻ ը૾ͰࣈΛग़͢ͱ͜ΖطଘϩδοΫΛύΫͬͯ࠷దԽɻ σϞΛݟͤͳ͕Βܻ͋;ΕόάΛݟ͚ͭͯͯͨ͠ɻ
͋ΔҰͷຊ͕Λऴ͑ΔͷͰͳ͍͔ w ͲͷΑ͏ͳهड़͕ʮΘ͔Γ͍͔͢ʯΛઆ໌Ͱཧղ͠ Α͏ͱ͍͏ίϯηϓτ w ଟͩͬͨʮखଓ͖ܕʯܥͷܦݧϕʔε͚ͩ w ྑ͞ѱ͞ͳΜͯશͯهड़͖͠Εͳ͍͡ΌΜ w ؾ͍ͮͨʮEPXIJMFʹҙ͠ͳ͍͞ʯͱ͍͏આ໌
ʹʮ࠷ճ࣮ߦ͠ɺ0,ʹͳΔ·Ͱ࠶νϟϨϯδʯ ͱ͍͏༗༻ͳྫ֎͕ॻ͔Ε͍ͯͳ͍ɻ
"*ͱͷରίʔσΟϯά w Α͘ಡ·Ε͍ͯΔίʔυΛֶशͨ͠"*ˠ044։ൃऀਫ४ͰʮҰൠతʹΞϯϦʔμ ϒϧʯͱ͞ΕΔίʔυΛఏҊͯ͘͠Δ͜ͱͳ͍ɻ w ͱ͍͏͔ɺ͠ಡΊͳ͍ίʔυ͕ग़͖ͯͯͦΜͳͷ࠾༻Ͱ͖ͳ͍ɻ w ΞϯϦʔμϒϧͳίʔυɺดతͳݱͷʮ݁Ռਖ਼͘͠ಈ͍ͯݟ͑Εɺҙຯෆ໌ Ͱ߹֨ʯͱ͢Δश׳͔Βੜ·ΕΔɻ w
·ͨٯʹɺ"*ʹΘΔ໋໊ϩδοΫΛҙࣝ͠ͳ͍ͱޮ্͕͕Βͳ͍ɻࣗ͑͞ Θ͔Ε͍͍ͱ͍ͬͨؾ࣋ͪΛɺϦΞϧλΠϜͰ൱ఆͯ͘͠ΕΔɻ w ʮϖΞϓϩάϥϛϯάͷ૬ํ͕ϋζϨʯ͕ͳ͍ɻ
ίϛϡχέʔγϣϯͰޭ͠ɺ ޭ͔ΒΑΓྑ͍ݴ༿ΛֶͿ ·͞ʹਓؒͷݴޠֶश
Ϧʔμϒϧίʔυͷڭ͑ํ ͳΜ͔ӳޠͷڭՊॻͬΆ͍ΜͩΑͳ ӳձͰ͖ͳ͍ຊਓͷΞϨ
ϢϏΩλεʮݴޠʯ w ώτͷݴޠ֫ಘʹ͍ͭͯཧղ͢Δ͏ͪʹɺʮϢϏΩλ εݴޠʯ͕ͳͥʮ༻ޠूʯͰͳ͘ʮݴޠʯͳͷ͔Λ ࠶ೝࣝͨ͠ɻ w ʮܾ·ͬͨఆٛΛ༩͑ΔʯͷͰͳ͘ɺର͔Βੜ· ΕΔίϛϡχέʔγϣϯ͕ʮϩʔΧϧݴޠʯʹͳΔɻ w υϝΠϯͷਓͱϞσϧͷਓͷؒͰɺ֓೦Λ͑Δࢼߦ
ࡨޡͷδΣενϟʔ͕ఆண͍ͯ͘͜͠ͱ͕େࣄɻ
ͱ͜ΖͰ͜ͷֆͬͯ͝ଘͰ͔͢ ࣮ΊͬͪΌେࣄͳίϯςϯπͩͱ࠷ۙؾ͕͖ͭ·ͨ͠
w நֆըͷ։ऀ w ҹͷֆʹײΛड͚ɺࡀ ͔ΒըՈͷಓʹೖͬͨ w ࣏ܦࡁֶͱ͔͖ͬͯͨཧ ܥͷਓ w ࡞༗໊͚ͩͲɺ࣮ܳज़ཧ
ͱஶ࡞͕൴ͷຊջ ϫγϦʔɾΧϯσΟϯεΩʔ
ΧϯσΟϯεΩʔͷʮநʯ w ҹͷֆը͕ʮࣸਅͷΑ͏ͳσοαϯͷਖ਼͠͞ʯΛ͍ͬͯͳ͍ͷʹɺਓͷೝࣝʹ ʮͳΜ͔ζʔϯͱདྷΔʯ͜ͱʹணɻ w ݱ࣮ʹ͋ΔମͰͳ͘ɺʮͱʯʮઢͱʯͱ͍ͬͨϓϦϛςΟϒͳந͕ਓʹ ༩͑Δ͜ͱΛදݱͨ͠ཧֆըΛΖ͏ɻ w நͷཁʮҹʯʮଈڵʯʮߏʯ w
ྲྀΕΔ࣌ؒͷதͰγϡοͱײ͕֮߹͏͜ͱͷΈཱͯʜΈ͍ͨͳ ˠԻָͷΑ͏ͳͷˠݴޠʹΑΔରͦ͏ͳͷͰ w ͜Εʜ·͞ʹɺநϞσϧͱରͰۦಈ͢Δ։ൃελΠϧͷ͜ͱ͡ΌΜ
ൃ ෦ͷੑ࣭ͷ୯७ͳ૯ʹͱͲ·Βͳ͍ੑ࣭͕ɺ શମͱͯ͠ݱΕΔ͜ͱ Τϯτϩϐʔ૿େˠϑϥΫλϧ IUUQTKBXJLJQFEJBPSHXJLJ&#&#"
w ੈلͷ৽ֶ͍͠ऀ w ਓؒΛతʹಛผͳଘࡏͱਾ͑ Δैདྷͷߟ͑ํ͔Βͷ٫ w ʮྶͷδϨϯϚʯͰʮϋΠύʔ ΧΦεʯͱ͍͏֓೦Λఏএ w ໊લʹͯ͠؆୯͡Όͳ͍ʜ
ΧϯλϯɾϝΠϠεʔ
Պֶͷઌʹ͋Δਅཧͱɺ ΧΦεͷԑ͔ΒͷൃͩΖ͏ ͱ͍ͬͨைྲྀ͕ɺֶͷੈքʹੜ·Ε͍ͯΔΜͩͳ͋ɻ ͨͩͷײ ਓؒͷੑݴޠ͚ͯ͠ಛผͳͷͰͳ͍
w ͪ͜Β1BTDBMͷݩωλ w ʮਓؒߟ͑ΔѵͰ͋Δʯ w ੈلͷ࣌Ͱ͏ɺਓ࣭ؒ తʹ͞΄ͲಛผͳͷͰͳ͍ͱ ݴ͍ͬͯͨ w Θ͚ͷΘ͔Βͳ͍ͱ͜Ζ͔Βɺະ
ͷͷΛߟ͑ੜΈग़͢͜ͱ ൃ͕ਓؒͷՁ ϒϨʔζɾύεΧϧ
ͰతͳਓؒͰͳ͚ΕແՁʹͳΔͷ͔ ͜Εɺਖ਼ղɺޡղͳΜ͡Όͳ͍͔ͳ w ࢈ۀֵ໋Ͱྗࣄ͕ͳ͘ͳͬͨΑ͏ͳ͜ͱ͕ɺ࣍త࿑ಇͰى͜Δɻ w ͚ΕͲɺਓͷ͍Δॴͷશͯʹɺେྔͷɺͷৎʹ͋ͬͨখ͞ͳൃ͕͋ ΓɺͦΕΒͷ΄ͱΜͲɺݴޠԽ͞ΕͨΓެ͞ΕͨΓ͠ͳ͍ɻ w ʮ͖Ε͍ʹݴޠԽ͞Εීٴͨࣝ͠ΛɺΈΜͳ͕ಉ͡Α͏ʹशಘ͢ΔʯͳΜ ͯͷɺ͏͔ͳΓੜ"*͕ͬͯ͘ΕΔɺͱ͍͏͜ͱʜ
w ͜ΕͰͬͱɺຊͷࣗͷʹશྗͰΛ͚ɺूதͰ͖Δ͡Όͳ͍͔ ˠਅͷҙຯͰͷ࿑ಇ ͋ͷϚϧΫεͰ͑͞࿑ಇͷҙຯΛ͜͏ߟ͑ͨ
͜͏͍͏͜ͱͳͷ͡Ό ύιίϯങͬͯϲ݄Ͱ͜͏ͳΔͷ͕σδλϧωΠςΟϒ
ͦͯ͜͠͏ͳͷ͡Ό ʮεΩϧਓࡐͰॻ͚Δݴޠ͔ʯͳΜͯɺ ίʔσΟϯάϨϕϧ͡Ό͏ɺߟ͑Δ͚ͩແବʹ
͍Α͍Αੈلલͷເ͕͏ͷ͔ ❌ٕज़తͳ࣮ମͷૢ࡞εΩϧΛചΔ ⭕ΦϒδΣΫτ తͷநͷ୯Ґ ΛࣗͰ͏ ͳΒͳ͍͔͠Εͳ͍͚ͲɺϓϩʹཔΉʹͨͬͯ͠ɺ ͦͷϓϩ͕୲͏ࢥߟͷ࣍ݩɺ·Δ·Δͻͱ্͕ͭΔΜ͡Όͳ͍Ͱ͔͢Ͷ
ΤϯδχΞʹֶඞཁ͔ ͑ࣗ໌ͳͷͰ͋Γ·ͤΜ͔