見出し画像

経営者のためのAI&CS講座 4:プログラムを書いてみよう!

プログラミングの本を手元にプログラミングに挑戦したことある方もいるとは思いますが、全くプログラミングなんて書こうとも思ったことない!という経営者に向けて、今どきの簡単なプログラミングを紹介します。面白い!と感じてもらえる方がいたらそれでよし!というぐらいの感覚で書いてみます!

今どきのプログラミング?

最近、今後プログラミングはAIが書くようになるというような話を耳にします。本当でしょうか?ちょっと試してみましょう。Googleのアカウントがあって、有料版ChatGPT Plusが使えることが前提となっていますのでご了承ください。

  1. https://colab.research.google.com/ にアクセスしてください。

  2. 「ノートブックを新規作成」というボタンをクリックしてください。

  3. ブラウザの別タブで、https://chat.openai.com/ にアクセスしてください。

  4. プロンプトに、「1から1,000,000まで足し合わせるプログラミングをPythonを使って書いてください」と入力してください。

  5. 出力されたプログラムみたいな画面の、「Copy code」をクリックしてください。

  6. https://colab.research.google.com で表示されてる画面に、貼り付けてください。

  7. 三角矢印をクリックしてください。

  8. 500000500000 と表示されました! 一瞬で、1から100万までの数字を1つづつ足してくれました!コンピュータってすごいですよね。

簡単なコードの解説

# 1から1000000までの合計を計算
total = 0
for i in range(1, 1000001):
    total += i

print(total)

上のようなプログラムがChatGPTにより作成されていると思います。時と場合で異なるプログラムのこともあるでしょうが、なんとなくやりたいことわかりますよね?わかりやすくするため、ChatGPTにコードの解説をお願いしてみましょう。プロンプトに、「プログラムにコメントをつけてください」と書いてみてください。

# 1から1000000までの数を合計するプログラム

# total変数を初期化して、合計を格納する
total = 0

# 1から1000000までの数に対してループを実行
for i in range(1, 1000001):
    total += i  # 各イテレーションでiをtotalに加算

# 合計値を出力
print(total)

「変数(コラム参照)」とか、「初期化」とか、「イテレーション」とかよくわからないかもしれませんが、プログラムコードのイメージはわかるのではないでしょうか。

ステップアップ

もう少し複雑なプログラミングに挑戦しましょう!
SaaS事業をやってると仮定して、現在のMRRと月次の成長率を入力すると、5年後、10年後、20年後のMRRを表示するプログラムを作りましょう!

  1. ChatGPTに、「月次売上金額と、月間の成長率を入力させ、5年後、10年後、20年後の月次売上を計算するプログラムをPythonで書いてください。」とお願いしてください。

  2. 出てきたコードの右上、「Copy code」をクリックします。

  3. https://colab.research.google.com の画面の左上の「+コード」というところをクリックして、新しい箱のようなものを作ります。

  4. 新しい箱に、コピーしたコードを貼り付けます。

  5. 三角ボタンをクリックします。

言われるままに、数字を打ち込んでいくと、夢のある数字が出てきますね!

現在の月次売上金額を入力してください(円): 1000000
月間成長率をパーセンテージで入力してください(%): 2
5年後の月次売上: 3281030.79円
10年後の月次売上: 10765163.03円
20年後の月次売上: 115888735.15

見づらいので、出力数値を3桁ごとにカンマ入れてもらいましょう。ChatGPTに、「出力数字を見やすくするために、カンマで区切ってください。」とお願いしてみましょう。嫌な顔せず、すぐに、プログラムを修正してくれます。僕が今回お願いしてChatGPTが作ってくれたコードはこちらになります。

def calculate_future_sales(current_sales, monthly_growth_rate, years):
    # 月間成長率を割合に変換
    monthly_growth_rate = monthly_growth_rate / 100
    
    # 指定された年数後の月数を計算
    months = years * 12
    
    # 月次売上の成長を計算
    future_sales = current_sales * ((1 + monthly_growth_rate) ** months)
    
    return future_sales

# 利用者からの入力を受け取る
current_sales = float(input("現在の月次売上金額を入力してください(円): "))
monthly_growth_rate = float(input("月間成長率をパーセンテージで入力してください(%): "))

# 5年後、10年後、20年後の売上を計算
sales_in_5_years = calculate_future_sales(current_sales, monthly_growth_rate, 5)
sales_in_10_years = calculate_future_sales(current_sales, monthly_growth_rate, 10)
sales_in_20_years = calculate_future_sales(current_sales, monthly_growth_rate, 20)

# 結果を表示(カンマで区切り)
print(f"5年後の月次売上: {sales_in_5_years:,.2f}円")
print(f"10年後の月次売上: {sales_in_10_years:,.2f}円")
print(f"20年後の月次売上: {sales_in_20_years:,.2f}円")

再び、https://colab.research.google.com で新しいコード入力の箱を作って、貼り付け実行(三角ボタンをクリック)してみましょう!

現在の月次売上金額を入力してください(円): 1000000
月間成長率をパーセンテージで入力してください(%): 5
5年後の月次売上: 18,679,185.89円
10年後の月次売上: 348,911,985.67円
20年後の月次売上: 121,739,573,742.23

月次売上を100万円、月の成長率を5%とすると、10年後には月次売上3億5千万円程度になります🤣

どうでしょう?今どきのAIを使ったプログラミング体験です。プログラムを書いたとは言えませんが、一応AIの力を借りて自分でプログラムを作ったと言えなくもありません。もちろん本物のアプリケーションを作るには、AIだけではまだ作れません。しかしChatGPTと遊びながら、プログラミング体験を重ねていくことで徐々に本当のプログラミングに関心を持ち、学んでみよう!と思って頂けると嬉しいです。

コラム:変数とは?

プログラミングを学ぶ上で、「変数」という概念を理解しないことには、何も始まりません。上記では、

# total変数を初期化して、合計を格納する
total = 0
# 一部略
# totalという変数の中の値を、今入ってる数値+iの値に置き換える。iも変数。
total += i 

という形で、「変数」という概念が登場します。プログラミングを学び始めた頃、いろいろな説明を読みました。よく出てくるのが、「箱」という説明です。例えばこんな説明(https://wa3.i-3-i.info/word1603.html)。こちらも「箱」という説明(https://www.iot-makers.co.jp/blog/column/6291/)。
よりコンピュータサイエンス的に説明すると、「メモリ」という単語が出てきます(https://9cguide.appspot.com/15-02.html)。
ゆっくりじっくりプログラミングを理解するには、この「メモリ」という概念が重要になってきますが、今の段階では、何か値を保存できる便利なものぐらいの理解で良いのかなと思います。totalという「変数」を利用して、1から1,000,000までの数値を足し続けるということをしています。「箱」という説明が分かりやすいのですかね。みなさんどうでしょう?わからなかったらわかんねーよと突っ込んでください😅

コラム2:どうしたら天才プログラマーを採用できますか?

この原稿を経営者仲間の何人かにレビューしてもらったところ、ある人から、「コードを書くまえにもっと、経営者視点でエンジニアマネジメントに関して書いて欲しい」というリクエストがありました。一応コンピュータサイエンス講座と謳っているので、その手の話は本題からズレるため、コラムという形でエンジニアマネジメント的な話をたまに書きます。
最初のコラムは、「どうしたら天才プログラマーを採用できますか?」です。
手前味噌ですが、フィックスターズには天才プログラマーがたくさんいます。良いプログラマ数百名。天才プログラマー100名以上。超天才プログラマーも10名以上は軽くいます。間違いなく日本有数の天才エンジニア集団になっています。現在は入社動機の9割ぐらいが、「社員のスキルレベルが異常に高い。自分のスキルを磨くのに最高の環境。」的な感じです。ですが、もともとは、マンションの一室から自分でプログラムを書きながら始めた会社です。徐々に天才プログラマが集まってくれました。企業秘密にしたい内容ですが、1つだけこっそり、これからソフトウェアエンジニアチームを作りたい方へポイントを教えます🤫
社内に天才プログラマーがいない場合、話が会う相手がいないためほとんどの良いプログラマーはその会社を選ばないと思います。だって、自分の言うことわかる人誰もいないのですから。良いプログラマーはほとんどどこの会社でも自分の行きたい会社に行ける時代です。そんな人に自分の会社に入ってもらうためには、ズバリ、
社長自身がプログラミングを学び、共通言語を話せるようになること。少なくとも学んでる姿勢を示すこと。
だと思います。良いプログラマーからすると、そんな社長を応援したくなって、入社してくれる可能性がグンと上がると思います!なんかこのnoteを推奨するようなオチとなりましたが、必ず効果出ますので、しっかりプログラミング勉強して、良いプログラマーとテクニカルトーク盛り上がれるようになってください!

この記事が気に入ったらサポートをしてみませんか?