C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++で円錐台の体積と表面積を求めるプログラム


円錐台とは?

円錐台(えんせいだい)とは、円錐の先端部分を水平に切り落としたことでできる立体のことです。切り口の上底と、元の円錐の下底から構成されます。円錐台の各寸法は以下のように定義されます。

  • 上底の半径:r
  • 下底の半径:R
  • 高さ:h
  • 母線の長さ(斜高):L

問題

母線の長さ、高さ、上底の半径「r」、下底の半径「R」が与えられたとき、円錐台の体積と表面積を計算するのが課題です。

円錐台の体積と表面積は、以下の公式を使って求めることができます。

体積 (V) = 1/3 × π × h × (r² + R² + r×R)
側面積 (CSA) = π × l × (R + r)
表面積 (TSA) = π × l × (R + r) + π × (R² + r²)

入出力の例

入力: r=4 R=9 h=12 L=13
出力: 円錐台の体積 : 1671.33
      側面積 : 530.929
      表面積 : 835.663

アルゴリズム

開始
ステップ1 → マクロを定義する
    #define pi 3.14
ステップ2 → 円錐台の体積を計算する関数を宣言する
    float volume(float r, float R, float h)
        return (float(1) / float(3)) * pi * h * (r * r + R * R + r * R)
ステップ3 → 円錐台の側面積を計算する関数を宣言する
    float CSA(float r, float R, float l)
        return pi * l * (R + r)
ステップ4 → 円錐台の表面積を計算する関数を宣言する
    float TSA(float r, float R, float l, float h)
        return pi * l * (R + r) + pi * (r * r + R * R)
ステップ5 → main() 内で処理を行う
    変数 R1=4, R2=9, slantHeight=13, height=12 を宣言する
    volume(R1, R2, height) を呼び出す
    CSA(R1, R2, slantHeight) を呼び出す
    TSA(R1, R2, slantHeight, height) を呼び出す
終了

サンプルコード

#include <iostream>
#define pi 3.14159
using namespace std;
// 円錐台の体積を計算する関数
float volume(float r, float R, float h){
    return (float(1) / float(3)) * pi * h * (r * r + R * R + r * R);
}
// 円錐台の側面積を計算する関数
float CSA(float r, float R, float l){
    return pi * l * (R + r);
}
// 円錐台の表面積を計算する関数
float TSA(float r, float R, float l, float h){
    return pi * l * (R + r) + pi * (r * r + R * R);
}
int main(){
    float R1 = 4;
    float R2 = 9;
    float slantHeight = 13;
    float height = 12;
    cout << "Volume Of Cone : "<< volume(R1, R2, height)<< endl;
    cout << "Curved Surface Area Of Cone : "<<CSA(R1, R2, slantHeight)<< endl;
    cout << "Total Surface Area Of Cone : "<<TSA(R1, R2,slantHeight, height);
    return 0;
}

実行結果

Volume Of Cone : 1671.33
Curved Surface Area Of Cone : 530.929
Total Surface Area Of Cone : 835.663

このプログラムでは、体積・側面積・表面積のそれぞれを独立した関数として実装しています。そのため、コードの可読性が高く、他の数値に対しても容易に再利用できます。円の面積や体積の計算で重要となる円周率は、マクロとして定義しておくことで、プログラム全体で一貫した精度を保つことができます。


  1. C++で十二面体の表面積を計算するプログラム

    十二面体とは? 「十二面体(dodecahedron)」という言葉は、ギリシャ語に由来しています。「dodeca」は「12」、「hedron」は「面」を意味します。幾何学における十二面体とは、12枚の平面から構成される3次元の正多面体(プラトンの立体)のことです。 他の立体図形と同様に、十二面体にも以下のような特徴的な性質があります。 20個の頂点 30本の辺 12枚の正五角形の面(五角形は5つの辺を持つ多角形) 以下は十二面体の図です。 問題 一辺の長さが与えられたとき、その十二面体の表面積を求めるプログラムを作成します。ここでいう表面積とは、図形のすべての面が占める空間の総面積のこ

  2. 直方体の表面積と体積を求めるJavaプログラム

    この記事では、直方体の表面積と体積を計算するJavaプログラムの書き方について詳しく解説します。直方体とは、6つの長方形の面で構成される三次元の立体のことであり、各辺の長さ・幅・高さがそれぞれ異なる場合があります。立方体と直方体の違いは、立方体では長さ・高さ・幅がすべて等しいのに対し、直方体ではこれら3つの寸法が必ずしも同じではないという点です。直方体の表面積と体積の計算式直方体の表面積は、次の式で求めることができます。2*(縦 × 横 + 横 × 高さ + 高さ × 縦)直方体の体積は、次の式で求めることができます。縦 × 横 × 高さ以下に具体的な計算例を示します。入力Length = 6