見出し画像

ゲーム開発に向けてChatGPT先生に教わりながらC++を学習

 趣味と仕事で学習を始めたゲーム開発において、近い将来にC++というプログラミング言語を用いる可能性が出てきました。私はC言語を遠い昔に触った経験はあるもののC++言語はあまり触った経験がなかったので、本日はChatGPT先生に教わりながらC++の学習をしました。その際に下記の関数を解くC++のプログラムを教わりました。

f(x)= 4x^3 + 7x^2 - 5x + 6

C++のプログラムで解きたい関数

 ChatGPT先生によると、上述の関数を解くコードは次の通りです。

//function.h (関数宣言)

#ifndef FUNCTION_H
#define FUNCTION_H

// f(x) の関数宣言
double f(double x);

#endif
//function.cpp(関数定義)

#include "function.h"
#include <cmath>  // std::pow() を使用するために必要

// f(x) = 4x^3 + 7x^2 - 5x + 6 の定義
double f(double x) {
    return 4 * std::pow(x, 3) + 7 * std::pow(x, 2) - 5 * x + 6;
}
//main.cpp

#include <iostream>
#include "function.h"  // 関数 f(x) の宣言をインクルード

int main() {
    double step = 0.5;  // ステップ幅
    for (double x = -10; x <= 10; x += step) {
        double result = f(x);  // 関数 f(x) を呼び出し
        std::cout << "f(" << x << ") = " << result << std::endl;
    }
    return 0;
}

 これらを次のようにコンパイルすると、即座に上述の関数を求めることができました。

g++ main.cpp function.cpp -o my_program

 このような簡易な関数を解くプログラムは、私にとってプログラミングを学習する際の取っ掛かりになるのですが、ChatGPT先生に頼れば検索の手間を省けて、一瞬で上述のようなプログラムを手に入れられます。ある程度のプログラミングスキルがある方ならば、あっという間に新しい言語をChatGPT先生から学ぶことができますね。

なお、上述の結果は次の通りです。

f(-10) = -3244
f(-9.5) = -2744.25
f(-9) = -2298
f(-8.5) = -1902.25
f(-8) = -1554
f(-7.5) = -1250.25
f(-7) = -988
f(-6.5) = -764.25
f(-6) = -576
f(-5.5) = -420.25
f(-5) = -294
f(-4.5) = -194.25
f(-4) = -118
f(-3.5) = -62.25
f(-3) = -24
f(-2.5) = -0.25
f(-2) = 12
f(-1.5) = 15.75
f(-1) = 14
f(-0.5) = 9.75
f(0) = 6
f(0.5) = 5.75
f(1) = 12
f(1.5) = 27.75
f(2) = 56
f(2.5) = 99.75
f(3) = 162
f(3.5) = 245.75
f(4) = 354
f(4.5) = 489.75
f(5) = 656
f(5.5) = 855.75
f(6) = 1092
f(6.5) = 1367.75
f(7) = 1686
f(7.5) = 2049.75
f(8) = 2462
f(8.5) = 2925.75
f(9) = 3444
f(9.5) = 4019.75
f(10) = 4656

C++のプログラムで算出した関数の解

この記事が参加している募集

今以上のやる気につながります!