순서도
순서도란? 정의 분석/설계 CASE 도구중 하나 순서도 사용이유 컴퓨터로 처리하고자 하는 문제를 분석하고 그 처리 순서를 단계화하여, 상호 간의 관계를 알기 쉽게 약속된 기호와 도형을 써서 나타낸 그림 분석/설계 CASE 도구중 하나 순서도 사용이유 작업 흐름(알고리즘) 이해 용이 프로그램 논리 파악 용이 프로그램 언어에 관계없이 공통으로 사용 에러 검색 용이
순서도(flowchart) 기호 기 호 의 미 의 미 시작/종료 함수호출 처리 내부 저장소 판단 대조 준비 정렬/분류 입/출력 기 호 의 미 의 미 시작/종료 함수호출 처리 내부 저장소 판단 대조 준비 정렬/분류 입/출력 추출 수동 연산 병합 수동 입력 순차 저장소 저장 데이터 자기 디스크 문서(출력) 직접 저장소 화면 표시 연결자
순서도기호 기호 설명 Flowline : 기호연결 Terminal : 시작과 끝 Process : 처리 Decision : 선택 Predefined Process : 함수(서브루틴) 호출 Connector : 순서도 연결
순서도 작성 방법 순차 조건(분기) 반복
순서도 작성 방법 단순 처리 순서도의 예 4개의 수(A, B, C, D)를 읽어 합과 평균을 구하는 과정
예제 소스 #include <stdio.h> #include <string.h> #define MAXLEN 10 int main() { char n[MAXLEN], name[MAXLEN]; printf(“What’s your first name ?\n”); scanf(“%s”, name); strcpy(n, name); printf(“Hello, %s.\n”, name); printf(“Your name of %d letter occupies %d memory cell.\n”, strlen(name), sizeof(name)); return 0: } Perfect C
키워드 if else 조건문 if에서 키워드 else를 사용하여 조건 표현식이 거짓인 경우, else 이후의 문장을 실행하는 구문을 구성 Perfect C
Perfect C
순서도 작성 방법 조건처리 순서도의 예 두 개의 값(A, B)을 읽어서 두 수의 합(S)을 구하는 경우의 상세 순서도
if 문과 if else 문 Example : { }가 포함된 경우의 if - else if 짝짓기 #include <stdio.h> int main ( ) { int num; printf(“Put a integer:\n”); scanf(“%d”, &num); if (num > 6) { if (num < 12) printf(“You‘re close !\n); } else printf(“Sorry, your lose a turn !\n); return 0; Result : 입력 출력 5 Sorry, you lose a turn! 10 You’re close! 15 none
반복문 while 문 while 문 구조 while 문 실행순서 조건검사 부분인 (expression)을 while 다음에 괄호로 구성 while 문 실행순서 조건문인 expression 을 검사하여 0이 아니면(참) 반복문의 몸체에 해당하는 문장이나 블록을 실행 몸체를 실행하면 다시 조건검사를 조사하여 1의 과정을 다시 실행 조건검사가 거짓이면 while 문장을 종료 Perfect C
순서도 작성 방법 반복 처리 순서도의 예
#define MAX 10 void main ( ) { int count = 1; count = 1; while (count <= MAX) { count++; ….. }
1부터 n까지의 곱 1에서 10까지의 곱을 구하는 while 문을 작성 mult = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10; mult = 1; i = 1; while (i <= 10) { mult *= i; i++; } mult = 1; i = 1; while (i <= 10) { mult *= i++; } Perfect C
순서도 작성 방법 설명 반복 처리 순서도의 예 SUM과 N을 초기화 N을 1씩 증가하면서 SUM에 N의 값을 더해줌 조건문에서 거짓이 되어 루프 탈출 끝으로 SUM의 결과 출력
for 문의 실행순서 Perfect C
for 문 Example: MAX까지의 정수의 합 #include <stdio.h> #define MAX 10 void main ( ) { int n, sum=0; for (n = 1; n < = MAX; n++) sum = sum + n; printf(“Sum of numbers from 1 to %d is %d.\n”, MAX, sum); }
문자 *를 한 줄에 5개씩 5줄 출력 정수형 변수 i의 초기값을 0으로 지정해서 5보다 작을 때까지, 증감연산 부분에 증가자(i++)를 이용하여 출력문을 출력 Perfect C
실습 예제 10 명의 학생의 성적을 읽어서 60점 이상이면 “PASS”를, 아니면 “FAIL”을 출력하는 프로그램의 순서도를 작성하시오.