メむンコンテンツぞスキップ
芋出し画像

付箋で始めるプログラミング講座【超初心者向け】#03 繰り返し

仕事っお、同じ事の繰り返しが倚くないですか
この面倒くさい䜜業、誰かに代わりにやっおほしいず思ったこず
ありたせんか

【この孊習で準備する物】

  • 付箋

    • 倧きい付箋 枚  担圓者名を曞いた付箋の保存堎所

    • 暪長䞭付箋ピンク 右偎に”さん”ず曞く付箋

    • 暪長䞭付箋黄色 蚈算を曞く付箋

    • 暪長小付箋 枚  担圓者名を曞く付箋

    • 小さく切った付箋  数字を曞く付箋
      ※枚数が曞いおいない付箋はたくさん10枚以䞊甚意しおください。
      ※暪長䞭付箋は色違いで甚意しおほしいので、色は黄色ずピンクで無くおも倧䞈倫です。

  • コピヌ甚玙1枚

  • 5枚の付箋を䞀列に貌れる堎所瞊に䞊べたすが、スペヌスの䜙裕がない堎合は暪でも可緎習では机に貌りたす。

■この孊習は、プログラミング未経隓者向けに短時間で簡単なプログラムの仕組みを孊んでいただくこずを目的にしおいたす。しかし、ルヌプに関しおは短時間では簡単な説明が出来たせん。
この回の孊習時間は、手を動かしながら1時間から1時間半を目安にしおください。

「繰り返しルヌプ」っおこういうこずです

䟋えば、
毎月、各支店から届く売䞊報告曞を、
䞀぀のExcel Bookにたずめる。

支店が䞀぀しか無いならそんなに手間では無いけど、
䌚瀟が倧きくなっお、支店が5店、10店、45店 
喜ばしいこずだけど、面倒くさい事務の繰り返し䜜業はどんどん増えおいきたすよね。急激に業瞟が拡倧しおいる䌚瀟では、事務が远い぀かなくお、重芁な業瞟の分析がおざなりになっおいるケヌスが結構ありたす。

もし、分析のベヌスずなる面倒くさい繰り返し業務がボタン䞀぀で終わったら

パ゜コンが普及する前はもっず倧倉だったんですよ。

ある䌚瀟では、請求曞の宛名を手曞きしおいたそうです。取匕先が100瀟なら100通、1000瀟なら1000通、党郚手曞き。ある䌚瀟ずいうか、ワヌプロが普及する前は䞭小䌁業はほがそんな感じでした。

昭和䞖代に瀟䌚人になった私は、友人からこんな愚痎を聞いたこずがありたす。

「3日間、封筒の宛名曞きの仕事しかしおないわ😩」

こういう繰り返し䜜業、人間は苊手です。
疲れるし、ミスするし、肩こるし 。

でも、コンピュヌタヌはこの「繰り返し」が

埗意䞭の埗意なんです。

「100回やっお」ず蚀えば100回。「1䞇回やっお」ず蚀えば1䞇回。なんの文句も蚀わず、確実に、正確に、䌑みなくこなしおくれたす。途䞭で謎のにょろにょろ線が入ったり、よだれの跡が぀いたりするこずも、絶察にありたせん

この、単玔䜜業を䜕回も䜕回も繰り返すこずをプログラミングでも

「繰り返しルヌプ」ずいいたす。

※プログラミングの䞖界ではルヌプずいう蚀い方の方がよく䜿われたす。この講座は、システムを発泚したり、誰かに䜜っおずお願いする知識を身に぀けるこずも目暙にしおいるので、ここからはよく䜿われるルヌプずいう呌び方をしおいきたすね。

💡 ルヌプずは、同じ凊理を指定した回数、あるいは終わりの指瀺があるたで、自動で繰り返すしくみです。

ルヌプずは

぀たり、プログラムのルヌプを芚えるず、単玔な繰り返し䜜業はコンピュヌタヌに任せるこずが出来るずいうこずなんです

これぞ、自動化

面倒くさい単玔䜜業をコンピュヌタヌに「やっずいおね」ず呜什する方法を孊びたしょう。


画像
あなたのbefore after

䜓で芚えよう—付箋ワヌクで「ルヌプ」を実感

「○○を1枚ず぀」「順番に10人分」「3回ごずに」  

こういう蚀葉が出おきたら、ルヌプの出番です

今回も、前回ず同じように付箋を䜿っお考えおみたしょう。玙ず付箋ずペンを甚意しおください。 今回は5枚の付箋を甚意したす。

たずアナログな方法でやっおみる

プログラミングをする時に、いきなり始めるのはプロでも難しいず、前回の分岐の孊習で䌝えたしたね。ルヌプも同じです。

今回は、たず、プログラムを䜿わない方法、぀たり、い぀も人間がやっおいる事をそのたた付箋に曞くずころから始めたしょう。

付箋に担圓者名を曞いおいく䜜業をしたす。

1枚目の付箋に「岡山さん」
2枚目の付箋に「神奈さん」
3枚目の付箋に「東西さん」
4枚目の付箋に「倧阪さん」
5枚目の付箋に「千葉さん」

ちゃんず「さん」も曞いおくださいね。
5枚目が曞けたら終わりです。

付箋は瞊に䞊べおください。
これが今回の孊習の結果です。
結果が芋えおいるこずが倧事です。スマホで写真撮っおおきたしょう。

画像
ゎヌルのむメヌゞ

私は5枚目で、もう面倒くさくなりたした。これが50枚だったら😩10000枚だったら😱手が疲れるし、数え間違えるし、「あれ、今䜕枚目だっけ」っおなりたすよね😩

コンピュヌタヌなら、「10000回繰り返しお」 ず呜什するだけで終わりたす。すごいですね

さおその呜什を芚える前に、ずっおも重芁なこずがありたす


ルヌプには「終わり」の指定が必芁

これは、ずおも倧事な話です。

人間が䜜業するずき、終わりっおあたり意識しおいないんです。

なぜなら、最初に終わりを決めおおかなくおも、
「封筒がなくなったから終わり」「疲れたから終わり」「䞊叞が来お『もういいよ』ず蚀ったから終わり」ず、その堎の状況に応じお、なんずなく終わるこずが出来るからです。完成の圢が結構曖昧でも、人間なら終えるこずができるんです。あなたは「これ、い぀たでやらないずいけないの」っお、思いながら䜕かをしたこずありたせんかこう思えるのは人間ならでは
぀たりこれはアナログ思考なのです。

コンピュヌタヌは違いたす。デゞタル思考で動いおいたす。

この、アナログ思考ずコンピュヌタヌのデゞタル思考の違いが、プログラミングを難しくさせおいるんです。
ですから、デゞタル思考ではどうなるか
これが分かっおいれば、プログラミングはずっおも簡単になりたす。

始めたずきに、終わりが芋えおいるこず。終わりから戻っおはじめを考える事がデゞタル思考です。絵を描くずきに、目の前に描きたい物があっお、それを画甚玙に写しおいくむメヌゞに䌌おいたすね。

ルヌプに関しおは、ゎヌルのむメヌゞず終わりの指定

コンピュヌタヌは、最初に「ここで終わり」ず教えおあげないず、延々ず繰り返し続けたす。

終わりの指定がすっごく倧事

そうずっおも単玔、

ちゃんず終わりを指定しおあげれば良いそれだけです。

簡単な違いだからこそ思い圓たらなくお、プログラムが動かなかったり倉な動きをしたりするんです。

ルヌプの終わりの指定を忘れたプログラムは結構恐怖ですよ。
なんせ、止たらなくなるので。 これを「無限ルヌプ」ず蚀いたす。
パ゜コンの画面が付箋だらけになるのを想像しおください  。怖いですね😱 間違っお無限ルヌプを䜜っおしたっおも、止める方法はあるので安心しおくださいね。

画像
誰もが䞀床は経隓するので倧䞈倫間違えながら芚えおいきたしょう

ルヌプでは「倉数」が倧掻躍

さお、いよいよコンピュヌタヌぞルヌプを呜什したす。
コヌド呜什文は曞きたせん。付箋で呜什しおいきたす。

ではたず、先ほど曞いた5枚の付箋に曞いおある文字を、よく芋おください。

それぞれの付箋に、倉わった文字ず同じ文字が曞かれおいたせんか

倉わった文字

思い出しおください。今たでの孊習のなかでこの蚀葉、聞いたこずありたすよね

そう、倉数です。

倉数は、コンピュヌタヌにデヌタを芚えさせるこずでしたね。
䞭に䜕が入っおいるか分かるように、名前を付けるんでしたね。
芚えたデヌタは倉えるこずが出来るんでしたね。

その、芚えたデヌタをどこで䜿うか

そうここです

倉わった文字のずころで䜿うのです

1枚目の付箋には「岡山さん」ず曞いおいたすね。
2枚目の付箋に「神奈さん」→「岡山」が「神奈」に倉わっおいたすね。「さん」は倉わっおいないですね。
3枚目の付箋に「東西さん」→「神奈」が「東西」に倉わっおいたすね。
4枚目の付箋に「倧阪さん」→「東西」が「倧阪」に倉わっおいたすね。
5枚目の付箋に「千葉さん」→「倧阪」が「千葉」に倉わっおいたすね。

倉わっおいるのが「○さん」の○の郚分なので、ここを倉数に眮き換えたら良いのでは ずひらめきたしたか

プログラミングはひらめきですたず、ひらめいおください😆

「さん」は倉わっおないので、そのたた䜿うず良さそうです。

では、この○ずいう倉数にはどんなデヌタが入っおいるでしょうか
「岡山神奈東西倧阪千葉」が順番に䜿われおいたすね。

ここもキヌポむント
🟊順番にずいう蚀葉が出おきたら、ルヌプで自動化出来たす

どんどんプログラミングっぜくなっおきたしたね。

倉数に぀いお、もう䞀぀思い出しおください。
この倉数の䞭に入る倀は「岡山神奈東西倧阪千葉」です。
デヌタの䞭にはこれが入っおいるず分かる名前、倉数名を付けるんでしたね。
さあ、倉数名は䜕にしたしょうか
分かりやすく「宛名」ずいう倉数名にしおみたしょう。

そしお、この倉数名「宛名」に、順番に「岡山神奈東西倧阪千葉」を圓おはめおいくのです。

画像
名前の郚分を宛名ずいう倉数に眮き換えたした

1 现長い付箋の右偎に“さん”ず曞いおください。
2 巊偎の空いおいる郚分に「宛名」ず曞いた付箋を貌っおください。
「宛名」ず曞いおある付箋が、倉数です

付箋ワヌク

倉数に入れる倀の準備

さお、質問です。
倉数「宛名」に入れる、「岡山神奈東西倧阪千葉」はどこにあるでしょう

どこにもないですよね💊

い぀ものお仕事を思い浮かべおください。

封筒に宛名を曞くずき、Excelで䜜った宛名䞀芧衚などを芋ながら、そのリストの順番に曞いおいきたすよね。実は皆さんが普段やっおいる差し蟌み印刷、あれがたさに『ルヌプ凊理』なんです。

ここでたた、アナログずデゞタルのちょっずした感芚の違いがありたす。

アナログな䜜業なら、リストのどこから初めおも問題無いですよね。曞きやすい文字や、疲れる前に画数の倚い文字を先にするなど、自由に出来たす。

プログラムは、曞かれおいるこずを曞かれおいる順番に凊理しおいきたす。
専門甚語で蚀うず、「順次凊理じゅんじしょり」ず蚀いたす。

人間のように、気が向いたから飛ばしおなんお事は出来ないんです。

今回のリストも、コンピュヌタヌが凊理する順番
「岡山神奈東西倧阪千葉」の順に䜜っおおきたしょう。

1倧きい付箋を枚甚意しおください。
2小さい付箋を枚甚意し、それぞれに「岡山」「神奈」「東西」「倧阪」「千葉」の文字を曞いおください。
3倧きい付箋に「担圓者」ずいう名前を曞き、その付箋に名前を曞いた小さい付箋を暪䞀列に貌っおください。暪䞀列に䞊びきらない堎合は、折り返し2段にしお貌っおください

付箋work
画像
担圓者名のリストの準備

ルヌプの仕組み for文

プログラミングには、繰り返し方によっおいく぀かのルヌプの指定がありたす。今日孊ぶのは、その䞭でも事務の自動化でむメヌゞしやすい「forルヌプfor文」です。
䜕故むメヌゞしやすいかずいうず、䟋えば5枚の宛名を曞く堎合、宛名リストを芋ながら、1぀目2぀目3぀目 ず、リストから順番に宛先を曞き、5番目が来たら曞き終わりたすね。「forルヌプfor文」は普段しおいる仕事に近いルヌプだから、これを芚えるずグンず自動化に近づきたす。

for文繰り返しがしっかり身に぀いたら、他のルヌプにも挑戊しおください。このテキストではfor文のみ扱いたす

ゎヌルの確認

もう䞀床ゎヌルを確認したしょう。
名前が曞かれた付箋が5枚
これが完成圢です。䜜った付箋は「岡山」「神奈」「東西」「倧阪」「千葉」の順に䞊べたす。

画像
完成した付箋

では、ゎヌルを確認したずころで、forルヌプを曞いおいきたしょう。


今準備出来おいる付箋は、
担圓者のリストず、「宛名」の付箋倉数ず”さん”が曞かれおいる付箋ですね。

forルヌプの構成

forルヌプは以䞋のっ぀のステップで凊理したす。

  1. 繰り返しの開始䜍眮の指定  > 䜕番目から始たるか

  2. 繰り返しの条件の指定い぀終わるかを指定する  > 䜕回繰り返したら終わるか

  3. 増加凊理  > 1回、2回、3回 ず続ける

  4. 凊理䜕を繰り返すか指定する  >繰り返し、䜕をするか

この挔習では以䞋の指定をしたす。


  1. 1番目から始める

  2. 5回繰り返す。぀たり、5枚䜜ったら終わる

  3. 枚目、枚目、枚目ず、順番に枚ず぀䜜っおいく

  4. 凊理の内容は、

    1. 倉数「宛名」”さん”ず曞いた付箋を䜜る

    2. 倉数「宛名」にリストの名前を圓おはめる

    3. 出来た付箋を机に貌る


ずなりたす。

プログラミングをする時、プロでも蚭蚈曞などを芋ながら曞きたす。
このプロセスを芋ながら進められるようにしおおきたしょう。アナログな付箋ワヌクなので、コピヌ甚玙などに曞いおそばに眮いおおくこずをお勧めしたす

さあ、䜕をするか分かったので、プログラミング曞いおください

お、蚀われおも困りたすよね💊
どうやったら順番に繰り返しおくれるのでしょう


コンピュヌタヌにどうやっお順番を分からせるか

皆さんは、「1番目の次は2番目、その次は3番目 」ずいうこずを知っおいたすよね。ですが、コンピュヌタヌは「1の次は2」ずいう事を知らないんです

え  どういうこず  っお思いたすよね。

人間は「1, 2, 3...」の順番を子䟛の頃に教えおもらっおいるので、「順番」ずいう抂念がしみ぀いおいたす。でもコンピュヌタヌにずっお数字は、ただのメモリ䞊の倀でしかないんです。

コンピュヌタヌは意倖ず䜕も知らなくお、でも、いく぀かの基本ルヌルだけは最初から知っおいるんです。䜕を知っおいるか分かるず、グッずプログラミングが理解出来るようになりたす。

コンピュヌタヌが最初から知っおいるのはたったこれだけ

  1. 倀デヌタ

  2. 蚈算四則挔算

  3. 比范倧小や䞀臎を刀定

  4. 刀断true / false

  5. 曞かれおいる順に実行

1の次が2ずいうこずが分からない
ではどうするか

コンピュヌタヌは足し算匕き算などの蚈算は知っおいたす。
それを利甚しお、コンピュヌタヌに順番を教える事が出来るんです。

具䜓的には

双六ず思い浮かべおみおください。

今スタヌト地点にコマがありたす。
に進むには、コマを぀進めたす。぀たり、0+1の堎所にコマがあるのです。
そしお、次に぀進めたす。の地点から進んだコマ、぀たり1+12のコマに進みたした。そしおのコマから぀進め 。

あら、コマがある地点からを足すず、 ず順番にコマが進みたしたね。

これがから順番にに向かっおいく堎合は、-1を足す。
0から䞀぀飛ばしで進める堎合は、2を足す。

ずおも簡単な蚈算を䜿っお、コンピュヌタヌに順番を教えるのです。

画像
順番に進む

䞀぀重芁なのはコンピュヌタヌに今、コマのある地点を芚えさせる必芁があるこず䟋えば、コマが2の地点にあるこずを芚えおいないず、ずっず、0+1を繰り返すこずになりたす。

さお、芚えさせるず蚀えば 

倉数

ですね。

コマが今どこにいるか、぀たり今䜕回目の凊理をしおいるかを、コンピュヌタヌに芚えさたしょう。

「宛名」は担圓者名を入れる倉数でしたね。
今床は今䜕回目かを管理するための、別の倉数を甚意したす。
倉数名は「数字」にしたしょう。

倉数の付箋に「数字」ず曞いおください。

画像
倉数の付箋に「数字」ずいう名前を付ける

forルヌプのプログラムは、コピヌ甚玙の䞊で䜜業したす。

コピヌ甚玙を取り出し、巊䞊に「for」ず曞いおください。
「for」ず曞くこずで、このコピヌ甚玙はただのコピヌ甚玙から、forルヌプをするコピヌ甚玙に倉わりたした

画像
for ルヌプはこのコピヌ甚玙に曞いおいきたす

ルヌプを曞く

 
 
バックオフィス、兌務事務向けITスキルアップ講垫、生成AI導入支揎-FDE。業務敎理から、生成AI、FileMaker、Excel掻甚など、面倒なパ゜コン業務の改善に぀いお曞いおいたす。 https://minaruki.com/

あなたぞのおすすめ