의사 코드(pseudo code) 작성법

yungi·2022년 9월 25일
0

코딩테스트

목록 보기
1/1

의사 코드(Pseudo code)란?

의사코드 또는 수도 코드로 불리는 이 방법은 실제 코딩을 하기 전에 우리의 언어로 코딩의 흐름을 정리해보는 것이다.

의사 코드를 사용하는 이유?

  • 나중에 그 프로그램을 읽고 디버깅하거나 내용을 수정해야하는 개발자에게 도움이 될 수 있다.
  • 컴퓨터 입력 프로그래 알고리즘이 어떻게 실행하고, 되는지 보여줄 수 있다.
  • 나중 코드 입력, 테스트, 디버그 수정 단게에서 작업하는 것보다 의사코드 설계단계에서 미리 오류를 수정하는 것이 경제적이다.
  • 프로그램의 문제를 해결하기 위한 도구로, 또는 다른 사람들과 프로그램의 흐름에 대해 소통하기 위한 방법으로 활용한다.

의사코드를 작성하는 법

작성규칙

  1. 구체적 방법보다 무슨 일을 할 것인가? 를 기술한다.
  2. 입력, 치환, 산술, 관계, 논리, 출력의 기본 기능 단위로 한번에 한가지만 키술한다.
  3. 목적어 + 동사 형식으로 기술한다.
  4. 처리단계 레벨은 되도록 3단계까지만 표현한다. (들여쓰기(인텐트) 3단계)

작성순서

  1. 문제 전체에 대한 처리를 순차적으로 표현한다.
  2. 순차적인 표현에서 선택(분기)이나 반복이 필요한 부분에 추가한다.

의사코드 예시

이름과 국어, 영어 점수를 입력받고, 총점과 평균을 계산하고, 평균을 기준으로 평가하고 학생성적을 출력한다.

//작성 순서1 : 
//1. 이름, 국어, 영어점수를 입력받는다.
//2. 번호를 매긴다.
//3. 총점을 구한다.
//4. 평균을 구한다.
//5. 평가를 한다.
//6. 평가를 출력한다.
//7. 끝낸다.
//작성순서2 :
//1. 이름, 국어, 영어점수를 입력받는다.
//2. 번호를 매긴다.
//3. 총점을 구한다.
//4. 평균을 구한다.
//5. 평균이 70점 이상인지 판단한다.(선택/분기)
//  5.1 참이면 통과한 것으로 판단
//  5.2 거짓이면 실패인 것으로 판단
//6. 평가를 출력한다.
//7. 끝낸다.
//작성순서3 :
//1. 파일의 끝이 아닌 동안 방복한다.(반복)
//  1.1 이름 국어, 영어점수를 입력받는다.
//  1.2 번호를 매긴다.
//  1.3 총점을 구한다.
//  1.4 평균을 구한다.
//  1.5 평균이 70점 이상인지 판단한다.(선택/분기)
//    1.5.1 참이면 통과한 것으로 판단
//    1.5.2 거짓이면 실패인 것으로 판단
//  1.6 평가를 출력한다.
//2. 끝낸다.

1-3까지 순차적으로 내용을 적어 보았다.

의사코드를 직접 짜보면?

n을 매개변수로 받아 0부터 n까지 모든 수의 총 합을 반환하는 함수를 작성하시오

//작성순서 1 :
//1. 매개변수로 n을 받는다.
//2. 0에서 1씩 더한다.
//3. 더한 값은 저장한다. 
//4. n번째 1을 더했을 때 멈춘다.
//5. 저장된 값을 반환한다.
//작성순서2 :
//1. n까지 반복하여 더한다.
//  1.1 반환할 변수 sum 을 선언하고 0을 대입한다.
//  1.2 n을 입력받는다.
//  1.3 sum에 0부터 1씩 더한다.
//  1.4 n번째 1을 더했을 때 멈춘다.
//2. 저장된 sum 값을 반환한다.

구현된 코드는 다음과 같다.

function sum(n) {
  let sum = 0;
  for(let i=0; i<=n; i++){
    sum = sum + i;
  }
  return sum;
}

마지막으로

의사코드는 한번만에 작성되는 것이 아니고 몇 번의 수정을 거쳐 최종적인 프로토타입을 만든다. 또한 반환되는 값을 고민하며 의사코드를 짜야한다. 마지막으로 의사코드는 굳이 영어로 작성할 필요가 없다.

profile
미생을 완생으로

0개의 댓글