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