- 어떤 문제를 구현하고 해결하는 과정
- 예: 라면을 먹는다고 할 경우 슈퍼에 가서 라면을 구입해 부엌에 물을 올리고 라면을 넣어 끓여 다 익으면 먹는다.
- 라면을 먹는다면? : 문제
- 라면을 먹기까지의 과정: 알고리즘
1) 프로그램 알고리즘
- 컴퓨터에서 발생할 수 있는 문제들을 구현하고 해결하여 사용자가 원하는 결과를 얻어낼 수 있는 것.
2) 컴퓨터 프로그램
- 현실 세계의 데이터 정보를 컴퓨터에 넣어 처리 및 가공하여 사용자가 원하는 정보를 출력할 수 있는 프로그램.
- 예: 교보문고. SQL책명을 입력하여 장바구니에 저장시킨다면 사용자에게 원하는 정보를 보여줌.
- 대부분 프로그램 목적: 정보처리
- 처리는 프로그램 언어로 사용자가 원하는데로 결과를 보여줌.
3) 컴퓨터 알고리즘
- 컴퓨터 프로그램은 절차문, 조건문, 반복문으로 구성
- 컴퓨터에서 알고리즘을 직접 코드로 구현할 수 있지만 복잡한 알고리즘을 구현할 때 순서도로 만드는 것이 중요.
- 어떤 결과를 얻기 위한 과정을 그림으로 표현
- 조건문은 true, false로 갈라진 두 길이 언젠가 만나서 종료하는 구조.
- 반복문은 한 부분이 종료 다른 한 부분 다시 조건문으로 돌아오는 구조. 특정부분 반복.
1) 순서도 기호
- 동그라미 모양은 프로그램 시작과 끝에 사용됨.
- 즉, 하나의 프로그램에 시작과 끝이 필요함.
- 다이아몬드 모양은 판단이며 상황에 따라 실행되는 방법이 다름.
- 직사각형 모양은 처리이며 발생하는 작업을 기술할 때 사용함.
- 예: 데이터 입출력, 준비, 서류
- 순서도 그릴때 주의사항
- 반복문은 true부분이 반복되도록 기술.
- 하나의 처리 박스에는 하나의 흐름선만 존재.
- 종료 시점은 하나만 존재
- 의사코드는 프로그래밍 언어처럼 알아보기 쉽게 기술한 코드.
- 자바에 가까운 형태로 순서대로 기술한 것 : 절차문
- 조건문은 if문, 반복문은 while문으로 기술.
<의사코드> // 절차문 p(시작(집)) p(잠에서 일어난다) p(밥을 먹는다) p(이빨을 닦는다) // 조건문: if문의 true와 false값만 결과를 가짐. if(일찍 일어났는가?) { p(걸어간다.) } else { p(자전거를 탄다) } p(건널목으로 간다) // 반복문 while(초록색불이 아닌가?) { p(기다린다) } p(건널목을 건너 간다) 회사도착
1) if문
if(조건문) { System.out.println("결과내용"); } else { System.out.println("결과내용"); }
- 참일 경우 else 키워드 이전에 결과내용을 출력
- 거짓일 경우 else 키워드 결과내용을 출력
2) while문while(조건문) { 반복할 코드 블록 } while 문을 빠져 나오면 이어서 실행할 부분;
- while 다음에 소괄호로 묶은 조건식을 쓰고 중괄호에 반복할 코드 기술
- 조건식이 true면 반복할 코드 블록 반복.
- 조건식이 false면 while문을 빠져 나감.