cloned

現役プログラマ。 https://cloned.jp

cloned

現役プログラマ。 https://cloned.jp

マガジン

  • プログラムが魔法でないとわかればプログラマになれる

最近の記事

OSの役割 ~ プログラムが魔法でないとわかればプログラマになれる 24

OSの役割入力と出力を通してOSについて説明しました。アプリではキーボードやディスプレイのことを深く考えなくてもあらかじめ用意された命令を使って簡単に扱えます。このようにOSにはコンピューターという物理的な装置と中で動くプログラムを繋ぐ役割があります。 OSには他にもたくさんの役割があります。プログラムを書くときに自分自身がプログラムをするのかOSの機能を使うだけなのかを区別する基礎知識としてもう少しOSの役割をみてみましょう。 コンピューターの電源を入れるとすぐに操作で

    • 出力とOS ~ プログラムが魔法でないとわかればプログラマになれる 23

      出力でOSがやっていること入力の反対が出力です。画面に何か表示するのは最も典型的な出力の命令です。出力というとどうしてもケーブルを繋いで外部ディスプレイに映像を出力するようなイメージをしてしまいますが、OSから見た出力先はコンピューターに直接取り付けられている機器ですのでディスプレイやスピーカー、他にもLEDや振動などがあります。流れは入力の逆になります。アプリからの出力はまずOSが受け取り、OSの出力を機器が受け取ります。 画面に文字を表示したいだけなのにわざわざOSを経

      • 入力とOS ~ プログラムが魔法でないとわかればプログラマになれる 22

        組み込まれた命令これまでプログラミング言語が何であるかやその書き方を中心に説明してきました。もちろんプログラムを読むために必要な知識ですが、実はそれだけ学習してもプログラムは理解できるようになりません。なぜかというとプログラムに用意されている命令の意味がわからないからです。 プログラミング言語には既に用意されている命令がいくつもあります。説明で使ってきた alert() もそうです。 alert() はウェブブラウザでプログラムを動かした時に画面にメッセージを表示するための

        • なぜ配列が必要か ~ プログラムが魔法でないとわかればプログラマになれる 21

          配列は行列をイメージするプログラムで使えるデータの中でも複雑なものに「配列」があります。配列は知っている人にとってはそれほど難しくありませんが最初は理解が難しいものです。どうして配列は難しいのでしょうか。データがどうなっているのかイメージしにくいことが一つの原因でしょう。 数値や文字列は具体的な内容そのものです。数値は 1 や 2 といった数そのものですし、文字列は abc や アイウエオ といった文字そのものです。ですが配列は空間を指していますから具体的な内容をこれと言う

        OSの役割 ~ プログラムが魔法でないとわかればプログラマになれる 24

        • 出力とOS ~ プログラムが魔法でないとわかればプログラマになれる 23

        • 入力とOS ~ プログラムが魔法でないとわかればプログラマになれる 22

        • なぜ配列が必要か ~ プログラムが魔法でないとわかればプログラマになれる 21

        マガジン

        • プログラムが魔法でないとわかればプログラマになれる
          24本

        記事

          データの種類 ~ プログラムが魔法でないとわかればプログラマになれる 20

          データの種類プログラムは色々な種類のデータを使えるように作られています。データについて数値や文字など今まで必要に応じて説明していますが、データとはどういうものか理解するために既に説明したものも含めて代表的なものをみてみましょう。 整数(数値の一種) 整数は 0、1、2、3… といった数のことで小数点を使わないものです。足し算や掛け算などの計算が行えます。-1 や -2 のように負の数を使うこともできます。「2 + -1」を計算すると答えは「1」になります。今まで「数値」と

          データの種類 ~ プログラムが魔法でないとわかればプログラマになれる 20

          情報とデータ ~ プログラムが魔法でないとわかればプログラマになれる 19

          プログラムで使う複雑な情報私たちがプログラムを使って何をしているかというと情報の操作です。「情報操作」というと情報を改変して誰かを惑わすような悪意のある言葉になってしまいますが、そういう意味ではなく情報の形を変えたり整理することで新たな価値を生み出しているということです。例えばスマートフォンで地図アプリを開くと現在地を中心に地図が表示されます。これは「現在地」という情報を使って地図の表示位置をリアルタイムに動かすプログラムが動いているからです。「現在地」や「地図」の情報を組み

          情報とデータ ~ プログラムが魔法でないとわかればプログラマになれる 19

          繰り返し ~ プログラムが魔法でないとわかればプログラマになれる 18

          繰り返しは「条件」なしに使えないプログラムの重要な動きの一つに 繰り返し があります。繰り返しとは同じことを何度もすることです。日本語で考えてみましょう。例えば、国語の先生に「川という漢字を繰り返し書きなさい」と言われたとします。何度も何度も「川」を書け、という意味です。ではいったい何回書けば先生は許してくれるでしょうか。 人間であれば「まさか100年書き続けろとは言わないだろう」といった常識がありますので「十分と思えるくらい書いたらやめても良いだろう」と勝手に判断します。

          繰り返し ~ プログラムが魔法でないとわかればプログラマになれる 18

          インデント ~ プログラムが魔法でないとわかればプログラマになれる 17

          文字だけでわかりやすくする工夫if (level >= 60) { alert("上級者");} このプログラムを動かすと level が 60 以上であれば「上級者」と表示されます。さて、見ているだけだと案外気がつかないかもしれませんが、このプログラムを書き写そうとするとあることに気がつきます。alertの前ににある半角スペースの存在です。説明のために半角スペースを□に置き換えてみましょう。 □□□□alert("上級者"); このように半角スペースが4つ入力さ

          インデント ~ プログラムが魔法でないとわかればプログラマになれる 17

          文字か数字にして比較する ~ プログラムが魔法でないとわかればプログラマになれる 16

          色々な比較方法大小を比較する場合は > (大なり)もしくは < (小なり)を使いました。似たもので ≧(大なりイコール) と ≦ (小なりイコール)があります。使い方は同じですが「≧」と「≦」は英文字として簡単に使えませんのでプログラミング言語では >= と書きます。> と = の2文字をスペースを入れずに続けて書きます。反対は <= です。大小を比較する記号の意味をおさらいしましょう。 a > b a は b より大きいa < b a は b より小さ

          文字か数字にして比較する ~ プログラムが魔法でないとわかればプログラマになれる 16

          条件の作り方 ~ プログラムが魔法でないとわかればプログラマになれる 15

          2つのものを比較すれば条件が作れるもし◯◯だったら、に使う条件を考えてみましょう。例えば「もし今日が誕生日だったら」という条件を考えたとします。誰の誕生日なのか(何月何日なのか)を決めておく必要はありますが、今日が誕生日かどうかはイエスかノーで明確に答えられます。では私たちはどうやってイエスかノーかを判断しているのでしょうか。 今日 が 誕生日 かどうか判断するためには 今日 と 誕生日 を比べなければなりません。 今日 と 誕生日 が同じ月日であればイエス、違えばノーと言

          条件の作り方 ~ プログラムが魔法でないとわかればプログラマになれる 15

          条件はイエスかノーか ~ プログラムが魔法でないとわかればプログラマになれる 14

          もし◯◯に使える条件はイエスかノーで答えられるものだけlet age = 19;if (age < 20) { alert("お酒は販売できません");} このプログラムは20歳未満の場合にお酒を販売できないと画面に表示するものです。このプログラムでは age の内容を 19 としましたが、この 19 の部分は 20 や 25 など他の数も入れて動かしてみると考えてください。 age が 19 であれば「お酒は販売できません」と表示されます。 age が 20 であれ

          条件はイエスかノーか ~ プログラムが魔法でないとわかればプログラマになれる 14

          プログラムの通り道 ~ プログラムが魔法でないとわかればプログラマになれる 13

          プログラムの通り道今まで説明してきたプログラムは全て 上から下に順番に 動くものでした。それで作れるプログラムもありますが、役に立つプログラムを作ろうとすると繰り返しや条件分岐が必要になります。条件分岐は「条件によって作業内容を変える」と説明してきたものです。 プログラムの命令だけを見ながら話をしても頭に入らないと思いますのでまずは既に知っているもので説明しましょう。 「すごろく」はご存知でしょうか。人生ゲームなどを思い浮かべても問題ありません。「すごろく」には「ふりだし

          プログラムの通り道 ~ プログラムが魔法でないとわかればプログラマになれる 13

          プログラムを使う理由 ~ プログラムが魔法でないとわかればプログラマになれる 12

          税込価格を計算するプログラムの解説税込価格を計算するプログラムを説明する準備ができましたので一気に読み切ってしまいましょう。 let price = 100;let tax = price * 0.08;let total = price + tax;alert(total); 1行目は 100 を price という名前で使えるようにする命令です。 2行目は * (アスタリスク)に注目してください。 * は掛け算の記号です。先に説明したように「price * 0.08

          プログラムを使う理由 ~ プログラムが魔法でないとわかればプログラマになれる 12

          四則演算を使う ~ プログラムが魔法でないとわかればプログラマになれる 11

          計算は真っ先に行われるプログラムには計算を行う命令があります。足す、引く、掛ける、割る、など数学の式と同じように使うことができます。 let answer = 1 + 2;alert(answer); このプログラムをウェブブラウザで動かすと 3 と表示されます。 1行目は 1 + 2 を answer という名前で呼べるようにする命令です。2行目は alert() (画面に表示するための命令)に answer を入れています。つまり「画面に answer の内容を表示」

          四則演算を使う ~ プログラムが魔法でないとわかればプログラマになれる 11

          命令の組み合わせで動作になる ~ プログラムが魔法でないとわかればプログラマになれる 10

          プログラムは小さな命令を積み上げて動くlet price = 100; 先ほどから例に出しているプログラムの1行目です。 100 を price と呼んで使えるようになる命令だとわかっても、いまひとつピンとこないのではないでしょうか。100は100のままで良いのではないか、100をわざわざpriceと言い換えて何か良いのか、といった疑問が湧いてきます。このように命令の意味がわかっても釈然としないのは命令の目的がわからないからです。 プログラムにおける1つの命令はボードゲー

          命令の組み合わせで動作になる ~ プログラムが魔法でないとわかればプログラマになれる 10

          名前の付け方 ~ プログラムが魔法でないとわかればプログラマになれる 9

          名前の付け方プログラムの = が数学の = ではなく、 = の右に書かれた内容に名前をつける命令であることを説明しました。 let price = 100; 「price」という名前は私が勝手に名付けたと述べましたが、名前はどうやって決めれば良いでしょうか。 まず、名前に使っても良い文字というものがあります。普通はアルファベット、数字、 _ (アンダースコア)を使います。具体的な例でいうと「cat」や「dog100」や「cat_food」などです。大文字も使えますから「

          名前の付け方 ~ プログラムが魔法でないとわかればプログラマになれる 9