Upload
noah-fuentes
View
123
Download
0
Embed Size (px)
DESCRIPTION
알고리즘 (Algoritm). 이 상 희. 프로그래밍의 기본 논리. 1. 순차논리 : 주어진 명령들을 순차적으로 하나씩 수행하는 논리로서 하나의 명령이 수행된 후 다음 명령을 수행하는 단순한 구조. START. X = 3. Y = 5. NUBI = X * Y. NUBI. END. 예제 1. 가로가 3 이고 세로가 5 인 사각형의 넓이를 출력하는 순서도 작성. 예제 2. 2 개의 수를 읽어서 두 수의 합과 차를 출력하는 순서도. START. READ A, B. SUM = A + B. - PowerPoint PPT Presentation
Citation preview
알고리즘 (Algoritm)
이 상 희
프로그래밍의 기본 논리
1. 순차논리 : 주어진 명령들을 순차적으로 하나씩
수행하는 논리로서 하나의 명령이 수행된 후 다음 명령을 수행하는 단순한 구조
예제 1
가로가 3 이고 세로가 5 인 사각형의 넓이를 출력하는 순서도 작성
START
Y = 5
END
NUBI
NUBI = X * Y
X = 3
예제 2
2 개의 수를 읽어서 두 수의 합과 차를 출력하는 순서도START
SUM = A + B
END
SUM, DIF
DIF = A - B
READ A, B
프로그래밍의 기본 논리
2. 판단논리 : 현재까지의 값을 바탕으로 상태를
판단하여 참과 거짓 2 가지의 경우의 수 중에서 하나를 수행하는 논리
예제 1
2 개의 수를 읽어 두수와 두 수 중에 최대값을 출력하는 순서도 작성
START
MAX = B
END
A, B, MAX
MAX = A
READ A, B
A > BYES NO
예제 2
3 개의 수를 읽어 그 중에 최대값을 출력하는 순서도 작성
START
MAX = BMAX = A
READ A, B, C
A > B
END
MAX
MAX = C
C > MAXYES
YES NO
NO
프로그래밍의 기본 논리
3. 반복논리 : 반복 수행하고자 하는 명령을 주어진
조건에 따라서 반복적으로 수행하기 위한 논리로 프로그램의 작성 과정에서 주어진 조건에 따라서 반복적으로 명령을 처리하는 경우가 빈번하다 .
예제 1
1 부터 100 까지의 합을 구하는 순서도
START
CNT = 1
SUM = SUM + CNT
SUM = 0
END
SUM
CNT = CNT + 1
CNT <= 100YES
NO
예제 2
1 부터 100 까지의 합을 구하는 순서도
START
CNT = 0
CNT = CNT + 1
SUM = 0
END
SUM
SUM = SUM + CNT
CNT < 100YES
NO
예제 3
1 부터 100 까지의 합을 구하는 순서도START
CNT = 0
CNT = CNT + 1
SUM = 0
END
SUM
SUM = SUM + CNT
CNT >= 100YES
NO
변수란 ?
상수 : 하나의 고정된 값 변수 : 값 또는 수식의 결과를 저장하기 위한
상자와 같은 기억공간 ( 변할 수 있는 값 ) 예 ) A = 10, 기억공간 A 라는 변수에 상수
10 을 대입하는 것 변수명은 프로그램 작성을 용이하게 하기 위해 메모리에 붙인다 .
변수명 잘 붙이는 법 ! - 영문자 , 한글 , 숫자를 사용할 수 있다 . - 단 , 첫 글자는 숫자와 공백을 사용할 수 없다 .
변수의 종류
누적변수 : 변수 자신에 일정한 값이 계속 가감승하는 특징을 가지며 , 여러 번 누적 되어야 하기 때문에 반드시 반복문 내에 포함됨
예 ) A = A + 2( 증가값 ) B = B – 2( 감소값 ) C = C * 2( 승산값 )
누적변수의 예
A = 0
A = A + 2
비교
A = 10
A = A - 2
비교
A = 1
A = A * 2
비교
2 씩 증가하는 누적산 2 씩 감소하는 누적산 2 씩 곱하는 누적산( 초기값이 0 이면 안됨 )
변수의 종류
스위치 변수 : 데이터를 반복 처리하는 과정에서 일정 조건인 경우에 한해서 수행하도록 하기 위한 방법으로 , 변수의 값이 0 또는 1 로 계속 변경되는 것이 특징이며 두가 처리가 계속 교대로 바뀌는 경우에 사용
예 ) 1+2-3+4-5+6-7+8 (+, - 가 교대로 처리되는 경우 )
스위치변수의 예
조 건 : 처리 1 이 먼저 수행되고 , 처리 1 과 처리 2 가 한번씩 반복적으로 수행될 수 있도록 프로그램을 구성
처리 2처리 1
SW = 0
SW = 0SW = 1
SW = 0
YES NO
스위치변수의 예
조 건 : 처리 1 이 먼저 수행되어야 한다 .
처리 2처리 1
SW = 1
SW = 1SW = 0
SW = 1
YES NO
변수의 종류
플래그 변수 : 스위치 변수와 비슷한 방식으로 처리 1 을 한번 처리하고 처리 2만을 반복 수행해야 하는 경우나 처리 1 을 수행하다가 특정 조건을 만족하면 반복을 종료하는 용도로 사용하는 변수
예 ) 1-2+3+4+5+6+7+8 (- 를 한번 , + 를 계속 처리하는 경우 )
스위치변수의 예
조 건 : 처리 1 이 먼저 수행하고 처리 2 를 계속 수행
처리 2처리 1
FLAG = 0
FLAG = 1
FLAG = 0
YES NO
변수의 종류
누적변수 : 변수 자신에 일정한 값이 계속 가감승하는 특징을 가지며 , 여러 번 누적 되어야 하기 때문에 반드시 반복문 내에 포함됨
예 ) A = A + 2( 증가값 ) B = B – 2( 감소값 ) C = C * 2( 승산값 )
연산자
A. 수치의 계산에 사용하는 산술연산자
연산자 기능 사용법 의미
+ 덧셈 a = b + c b 와 c 를 더한 값은 a 에 대입한다 .
- 뺄셈 a = b - c b 에서 c 를 뺀 값을 a 에 대입한다
/ 나눗셈 a = b / c b 를 c 로 나눈 값을 a 에 대입한다
X , * 곱셈 a = b * c b 와 c 를 곱한 값을 a 에 대입한다
^, ** 거듭제곱 a = b ^ cb 를 c 만큼 거듭제곱 값을 a 에
대입한다
연산자
B. 관계연산자
연산자 기능 사용법 의미
= 같다 a = b a 와 b 는 같다 .
<> 같지않다 a <> b a 와 b 는 같지 않다 .
> 크다 a > b a 는 b 보다 크다 .
>= 크거나 같다 a >= b a 는 b 보다 크거나 같다 .
< 작다 a < b a 는 b 보다 작다 .
<= 작거나 같다 a <=b a 는 b 보다 작거나 같다 .
배열 (ARRAY) 의 기본개념
정의 : 변수는 하나의 값만을 기억하는 기억공간인데 반하여 같은 종류의 데이터에 대하여 이를 쉽게 처리하기 위해 모든 변수들을 조합해서 하나의 변수명으로 정의
배열명으로 여러 개의 기억공간을 설정하고 첨자를 이용하여 배열의 각 원소를 참조하도록 구성된 자료구조이다 . 첨자는 () 를 사용
예 ) X(5) 로 선언된 배열
X
X(1) X(2) X(3) X(4) X(5)
1 차원 배열
X
X(1) X(2) X(3) X(4) X(5)
- X 는 배열명이고 첨자는 1 부터 5 까지이다 . 첫 번째 기억장소는 X(1) 이며 , 마지막 기억장소는 X(5) 이다 .- 배열 X 의 세번째 공간에 10 이라는 값을 기억시키는 치환문은 X(3) = 10 으로 표현한다 .
다차원 배열
A(3,5)
A(1,1) A(1,2) A(1,3) A(1,4) A(1,5)
- 다차원배열은 배열의 차수를 확장한 배열로 차수가 2 인 배열을 2 차원 배열이라 한다 .- A(3,5) 로 선언된 2 차원 배열이며 , 첨자는 행이 1 부터 3, 열이 1 부터 5 까지로 2 차원 배열은 첨자를 2 개 사용하여 몇 번째 행의 몇 번째 열을 나타낼 수 있다 .- 2 행 3 열에 10 이라는 값을 기억시키는 치환문은 X(2,3) = 10 으로 표시한다 .
A(2,1)
A(3,1) A(3,5)
A(2,3)
함수의 기본개념
정의 : 함수란 특정기능을 수행하도록 일련의 처리집합 으로 함수를 사용하는 것을 ‘함수를 호출한다’라고 하며 여러 번 함수를 호출할 수 있다 . 미리 약속되어진 함수명은 변수명으로 사용할 수 없다 .
예 ) MOD 함수 , INT 함수 등이 있다 .
MOD 함수
정의 : 나머지를 구하는 함수 예 ) mod(3,2) = 1 or 3 mod 2 = 1 mod(6,4) = 2 or 6 mod 4 = 2
mod 함수의 활용 ① 짝수 , 홀수 판별에 활용
Mod(A,2) = 0
짝수홀수YES
NOMod(A,2) = 1
홀수짝수YES
NO
MOD 함수
mod 함수의 활용 ② 배수 판별에 활용 예 ) mod(A,N) = 0 or A mod N = 0
Mod(A,N) = 0
N 의 배수배수가 아니다YES
NO
int 함수
정의 : 정수를 구하는 함수 예 ) int(4.3) =4, int(9.99) = 9, int(12.48) = 12 int 함수의 활용 ① 짝수 , 홀수 판별에 활용 예 ) int(n/2) = n/2 이면 짝수 , int(2/2) = 2/2 int(n/2) <> n/2 이면 홀수 , int(3/2) = 3/2 ② 소수점 첫째자리에서 반올림 예 ) int(3.4 + 0.5) = 3, int(3.5 + 0.5) = 4 - 평균값을 구해 반올림하는 경우 int(74.4 + 0.5) = 74, int(74.5 + 0.5) = 75
수열
1 부터 100 까지의 자연수의 합을 구하는 순서도
START
sum = 0
i = i + 1
i = 0
END
SUM
sum = sum + i
i < 100YES
NO
선증가 후처리의 순서도
i<=99도
가능하다
수열
1 부터 100 까지의 자연수의 합을 구하는 최적화순서도
START
sum = 1
i = i + 1
i = 1
END
SUM
sum = sum + i
i < 100YES
NO
선증가 후처리의 순서도
i<=99도
가능하다
수열
1 부터 100 까지의 자연수의 합을 구하는 최적화 순서도
START
sum = 1
sum = sum + i
i = 2
END
SUM
i = i + 1
i <= 100YES
NO
선처리 후증가의 순서도
I < 101도
가능하다
수열
1 부터 100 까지의 자연수의 합을 구하는 순서도
START
sum = 0
sum = sum + i
i = 1
END
SUM
i = i + 1
i <= 100YES
NO
선처리 후증가의 순서도
I < 101도
가능하다
수열
1 부터 100 까지의 자연수의 합을 구하는 순서도
START
sum = 0
sum = sum + i
i = 1
END
SUM
i = i + 1
i > 100NO
YES
선처리 후증가의 순서도
I < 101도
가능하다