평범한 연구소

[JAVA] 의사코드란? (Pseudo-code, 슈더코드) 본문

JAVA

[JAVA] 의사코드란? (Pseudo-code, 슈더코드)

soyeonisgood 2023. 2. 2. 19:22

의사코드 (Pseudo-code) 란?

- Java에서 프로그래밍 및 알고리즘 기반 필드에 사용되는 용어.

- 알고리즘을 표현하는 방법 중 하나.

- 자연어를 이용해 만든 문장을 프로그래밍 언어와 유사한 형식으로 배치한 코드

- 정해진 기준이나 문법은 없다.

 

 

의사코드의 장점 ?

- 개발자가 이해할 수 있는 코드와 자연어의 중계 역할

- 코드를 읽고 디버깅을 하거나 내용을 수정해야하는 개발자에게 도움을 줄 수 있음

- 알고리즘을 실행 가능한 코드로 옮길 때 높은 편의성을 제공

- 테스트, 디버그 수정 단계에서 작업하는 것 보다 의사코드 설계 단계에서 미리 오류 수정하는 것이 경제적.

- 프로그램의 흐름에 대해 소통하기 편리

 

 

의사코드 예시

if 첫메일수신일 > 결제일 then
	환불 불가 문구 표시
else
	환불 가능 문구 표시
endif

 

의사코드 수정하기

- 추가되거나 까다로운 부분을 추후에 채워넣을 수 있다.

- 알고리즘 문제를 어떻게 접근할지 고민하는데 도움이 된다.

- 복잡한 프로그래밍 문제를 단순하게 표현 가능

수정(기능추가) 전

파일을 연다.
파일의 각 행(line)에 대해서 단어를 찾는다.
	찾은 단어를 지운다.
    그 자리에 새로운 단어를 넣는다.
파일을 닫는다.

수정(기능추가) 후

파일을 연다.
사용자에게 바꾸고 싶은 단어가 무엇인지 물어본다.
그리고 그 단어를 어떤 단어로 바꾸고 싶은지 물어본다.
	파일의 각 행(line)에 대해서
    	단어를 찾기 위해 다음과 같은 과정을 반복한다.
        	각 글자를 읽어 들인다.
            글자가 바꾸고 싶은 단어의 첫 글자와 일치하면,
            끝까지 일치하는지 확인해 본 후
            일치한다면, 단어를 찾은 것이다.
        그 단어가 몇 번 나왔는지 카운트한다.
        그 단어에 해당하는 글자들을 지운다.
        그리고 그 자리에 새로운 단어에 해당하는 글자들을 채워 넣는다.
        단어를 몇 번 바꾸어 줬는지 사용자에게 알려준다.
파일을 닫는다.

 

권장 되는 표준

- 정해진 기준이나 문법은 없다. 

ex) 의사코드를 영어로 작성한다면
입력: READ, OBTAIN, GET
출력: PRINT, DISPLAY, SHOW
계산: COMPUTE, CALCULATE, DETERMINE
초기화: SET, INIT
요소 추가: INCREMENT, BUMP
증가: SEQUENCE
반복: WHILE, FOR
조건문: IF-THEN-ELSE
마지막에 조건문이 있는 반복문: REPEAT-UNTIL IF-THEN-ELSE
조건 분기 처리: CASE
boolean: TRUE/FALSE
EXCEPTION ...

 

 

 

 

 

 

 

참고자료

https://ko.wikihow.com/%EC%9D%98%EC%82%AC%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EB%B2%95 

 

의사코드 작성법 - wikiHow

의사코드(Pseudocode, 슈도코드, 수도코드, 유사코드라고도 불린다)는 알고리즘을 어떻게 짤지 계획할 때 사용되는 비공식적인 도구이다. 머리 속으로 코드 내용을 전부 생각해 낸 후 코드를 작성

ko.wikihow.com