AIがプログラミングをしている画像です。

昨今の世界ではAIの進歩が凄まじいですですね。

そこで、無料のAIにプログラムを書かせると、どのようなプログラムを表示するのか。
また、そのプログラムは正確なのか

という疑問を検証していきます。

今回は「Chat GPT」を使用していきます。

指示の仕方などで表示結果が変わるかもしれませんので、今回の検証が正しいかどうかはご自分で確認の上、納得していただきたいです。

目次

そもそもプログラムをAIで書けるの?

これが書けちゃうんですよね。
僕よりも速く正確に。

「Chat GPT」本人にも聞いてみました。

C言語扱えるそうです。

九九表作って

さっそく「Chat GPT」にプログラムを書いてもらいましょう!

最初は簡単に、九九表を作ってもらいます。

画像の通り、「Chat GPT」に指示を出しました。

そうすると、このようなコードが返ってきました。

#include <stdio.h>
int main ( ){
int i , j ;

//九九表の出力
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
printf(” %2d × %2d = %2d “, i , j , i * j ) ;
}
printf(“\n”) ;
}
return 0 ;
}

実行してみましょう。

結果

どうですか?

素晴らしすぎますね(笑)

九九表と呼べるかは正直怪しいですが、1~9までの掛け算という意図も伝わり、それを表のように表示してくれました。

int main(){
のところの()の中に、「void」が入ってないのが気になりましたが、そこまで問題ないでしょう。

より九九表に近づけるために、追加で指示を出してみます。

このようなプログラムに修正されました。

#include <stdio.h>
int main ( ){
int i , j ;

//九九表の出力(積のみ表示、3桁指定)
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
printf(” %3d ” ,i * j ) ;
}
printf(“\n”) ;
}
return 0 ;
}

結果

このように出力されました!

すごすぎませんか、、、

一回修正をお願いしただけで九九表が出来上がってしまいました。

これが無料のAIだなんて、、、

しかも指示の文ちょっと誤字ってしまったんですよね。「プログラム」→「プログラ」と。
そんなとこも意図をくんで理解してくれます。優秀です。

では、もう少しだけ難しいプログラムを書いてもらいましょう。

関数とポインタを扱えるか

関数とポインタを扱えるかを検証すべく、「文章を入力し、それを出力するプログラム」を関数とポインタ作ってもらいます。

ポインタに関しては本格的に扱うわけではありませんが、関数で配列を扱うので、ポインタを扱っているということにします。

まず、文字を入力し、それを出力するプログラムを作ってもらいましょう。

このように指示したところ、次のようなコードが返ってきました。

#include <stdio.h>
int main() {
     char input[100];
// ユーザーに文字入力を促す
printf(“文字を入力してください: “);
fgets(input, sizeof(input), stdin);
// 入力された文字を出力
printf(“入力された文字: %s”, input);
return 0;
}

実行してみます。

すごすぎますね。

これを入力する部分を関数化していきます。

このように指示を出しました。

#include <stdio.h>
void getInput(char *input, int size) {
    printf(“文字を入力してください: “);
    fgets(input, size, stdin);
}
int main() {
char input[100];
// 文字入力を関数で処理
getInput(input, sizeof(input));
// 入力された文字を出力
printf(“入力された文字: %s”, input);
return 0;
}

実行すると、

問題なく出力されています。

これで、「Chat GPT」は関数もポインタも問題なく使用できることが分かりました。

簡単なゲームを作る

やっぱりAIを使うなら、簡単なゲームくらい作ってほしいですよね。

ということで、ゲームの作成をお願いしてみたところ、

「じゃんけんゲーム」

を作ってくれました。

こちらがコードです。

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main() {
    int player, computer;
    // 乱数の初期化
    srand(time(NULL));
    printf(“\nじゃんけんゲーム!\n”);
    printf(“0: グー, 1: チョキ, 2: パー\n”);
    printf(“選択してください (0-2): “);
    scanf(“%d”, &player);
    if (player < 0 || player > 2) {
        printf(“無効な入力です。0-2の数値を入力してください。\n”);
        return 1;
    }
    computer = rand() % 3;
    char *choices[] = {“グー”, “チョキ”, “パー”};
    printf(“あなた: %s\n”, choices[player]);
    printf(“コンピュータ: %s\n”, choices[computer]);
    if (player == computer) {
        printf(“引き分けです!\n”);
    } else if ((player == 0 && computer == 1) ||
               (player == 1 && computer == 2) ||
               (player == 2 && computer == 0)) {
        printf(“あなたの勝ちです!\n”);
    } else {
        printf(“コンピュータの勝ちです!\n”);
    }
    return 0;
}

実行してみます。

はぁ、すごすぎます。

お願いをした瞬間にこんなプログラムを作ってしまうんですからね。

皆さんもAIを用いてゲームを作ってみてください!

結論

AIでプログラミングはできます。

無料のAIを用いても、僕より大分速いですし、正確です。

長くなってくると少しの間違いは出るかもしれませんが、ヒューマンエラーがない分、それでも人間よりかは正確かもしれません。

今回使ったAIは無料の「Chat GPT」です。

結果や返答はその時その時によっても差があると思いますので、自分自身で確認してみてください。

こちらが今回使用したAIを制作した会社のホームページです。
>https://openai.com/ja-JP/

最後まで読んでいただきありがとうございました!

今回のような検証をいくつか記事にしています。
>検証