마름모란 무엇인가?
기하학에서 마름모는 네 변의 길이가 모두 같은 사각형을 의미합니다. 마름모는 다이아몬드(◆) 모양과 닮았으며, 두 대각선이 직각으로 만나는 경우에는 정사각형이 됩니다.
마름모의 주요 성질은 다음과 같습니다.
- 네 변의 길이가 모두 같다
- 마주 보는 두 변은 서로 평행하고, 마주 보는 두 각의 크기도 같아서 평행사변형에 속한다
- 두 대각선은 서로 직각으로 이등분한다
아래 그림은 마름모의 형태를 나타낸 것입니다.

문제 정의
두 대각선의 길이 d1과 d2가 주어졌을 때, 마름모의 넓이와 둘레를 구하는 것이 이번 과제입니다. 여기서 넓이는 도형이 차지하는 공간의 크기를 의미하고, 둘레는 도형의 경계선 길이 전체를 의미합니다.
대각선 값을 이용해 마름모의 넓이와 둘레를 계산하는 공식은 다음과 같습니다.

공식을 텍스트로 정리하면 아래와 같습니다.
- 넓이 = (d1 × d2) ÷ 2
- 둘레 = 2 × √(d1² + d2²)
예시
입력: d1=6, d2=12
출력: 주어진 대각선을 가지는 마름모의 둘레 : 26
주어진 대각선을 가지는 마름모의 넓이 : 36
알고리즘
시작
1단계 -> 마름모의 둘레를 계산하는 함수 선언
int perimeter(int d1, int d2)
long long int perimeter 변수 선언
perimeter = 2 * sqrt(pow(d1, 2) + pow(d2, 2)) 대입
perimeter 출력
2단계 -> 마름모의 넓이를 계산하는 함수 선언
int area(int d1, int d2)
long long int area 변수 선언
area = (d1 * d2) / 2 대입
area 출력
3단계 -> main() 함수 안에서
int d1 = 6, d2 = 12 변수 선언
perimeter(d1, d2) 호출
area(d1, d2) 호출
종료
C++ 코드 예제
#include <iostream>
#include <math.h>
using namespace std;
// 마름모의 둘레를 계산하는 함수
int perimeter(int d1, int d2){
long long int perimeter;
perimeter = 2 * sqrt(pow(d1, 2) + pow(d2, 2));
cout<< "주어진 대각선을 가지는 마름모의 둘레 :"<<perimeter;
}
// 마름모의 넓이를 계산하는 함수
int area(int d1, int d2){
long long int area;
area = (d1 * d2) / 2;
cout<<"\n주어진 대각선을 가지는 마름모의 넓이 :"<< area;
}
int main(){
int d1 = 6, d2 = 12;
perimeter(d1, d2);
area(d1, d2);
return 0;
}
실행 결과
주어진 대각선을 가지는 마름모의 둘레 :26
주어진 대각선을 가지는 마름모의 넓이 :36