Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그램으로 정사각형 안의 잎 모양 영역 넓이 계산하기

정사각형 내부에 있는 잎(leaf) 모양 영역의 넓이를 구하려면, 전체 도형을 여러 부분으로 나눈 뒤 각 부분의 넓이를 개별적으로 계산하고, 그 결과를 더하는 방식을 사용합니다.

여기서는 잎 모양 영역을 두 부분으로 나누어 계산합니다.

첫 번째 부분인 AECA의 넓이는 사분원(quadrant) AECDA의 넓이에서 삼각형 ACDA의 넓이를 뺀 값으로 구할 수 있습니다.

C 프로그램으로 정사각형 안의 잎 모양 영역 넓이 계산하기

계산에 사용되는 공식

사분원의 넓이 = ¼ × (π × r2)
여기서 π = 22/7 또는 3.141입니다.

직각삼각형의 넓이 = ½ × 밑변 × 높이 = ½ × a2

두 부분의 넓이를 각각 구한 뒤 더하면, 잎 모양 영역의 최종 넓이는 다음과 같은 간단한 공식으로 표현됩니다.

잎 모양 영역의 넓이 = 2 × (사분원 넓이 − 삼각형 넓이) = 2 × (πa2/4 − a2/2) = a2 × (π/2 − 1)

예제 코드

아래 C 프로그램은 위 공식을 그대로 적용하여, 한 변의 길이가 12.3인 정사각형 안의 잎 모양 영역 넓이를 계산합니다.

#include <stdio.h>
#define PI 3.14159265

int main() {
    float a = 12.3;
    float area = a * a * (PI / 2 - 1);
    printf("area = %f", area);
    return 0;
}

실행 결과

area = 86.355782

이처럼 기하학적 공식을 코드로 옮기면 복잡해 보이는 도형의 넓이도 간단한 연산 하나로 손쉽게 구할 수 있습니다. 변의 길이만 바꾸면 어떤 크기의 정사각형에 대해서도 동일한 방식으로 계산할 수 있습니다.