본문 바로가기
컴퓨터 기초

의사코드(pseudocode)

by 김마리님 2022. 12. 12.

프로젝트를 하다가 필요하다는 사람이 있어서 오랜만에 쓰게 되었던 의사코드. 수도코드라고도 부르기도 한다.

한 프로세스를 컴퓨터 언어로 짜기 전에 사람의 언어로 우선 로직을 짜는 것을 의미하며, 먼저 프로세스를 정리할 수도 있고, 동료 개발자들과 이후 해당 프로세스를 공유할 때 동료 개발자가 편리하게 코드를 해석하고 의사소통하는데에 도움이 된다.

 

의사코드의 예시를 들어보자.

개발자 A는 다음의 프로세스 개발을 요청받았다.

"기존에 데이터베이스에 온도를 기록하는건 그대로 하고, 날씨가 추워지니 영하 5도 아래가 되면 난방을 틀도록 메세지를 보내라."

 

이거를 사람의 언어로 짜면 어떻게 될까?

1. 온도계의 정보(온도)를 가지고 와서 변수를 초기화한다.

2. 가지고 온 온도 변수를 비교한다.

3. 만약 해당 온도가 영하 5도 아래라면 난방을 틀도록 메세지를 보낸다.

4. 데이터베이스에 기록한다.

 

이것을 컴퓨터 언어 짜듯 정리를 해봅시다.

온도 = 온도계의 온도값
if 온도가 -5도 아래라면
	메세지 발송("난방을 틀어주십시오.");
데이터베이스에 온도 저장(온도);

이렇게 정리가 될 것이다. 코드를 짜기에 훨씬 편하고 직관적으로 변경 됐다.

그럼 이걸 컴퓨터 언어로 옮겨본다(JAVA).

    private void sendMessage() {
        int degree = getDegreeFromThermometer();
        if(degree < -5) {
            sendNotification("난방기구를 켜주십시오.");
        }
        writeDatabaseDegree(degree);
    }

어떤가? 수도코드와 코드가 동일하지만, 한 쪽은 인간이 알아들을 수 있는 단어, 한 쪽은 컴퓨터가 알아들을 수 있는 언어로 구성되었다.

반응형