1 / 34

알고리즘 (Algoritm)

알고리즘 (Algoritm). 이 상 희. 프로그래밍의 기본 논리. 1. 순차논리 : 주어진 명령들을 순차적으로 하나씩 수행하는 논리로서 하나의 명령이 수행된 후 다음 명령을 수행하는 단순한 구조. START. X = 3. Y = 5. NUBI = X * Y. NUBI. END. 예제 1. 가로가 3 이고 세로가 5 인 사각형의 넓이를 출력하는 순서도 작성. 예제 2. 2 개의 수를 읽어서 두 수의 합과 차를 출력하는 순서도. START. READ A, B. SUM = A + B.

Download Presentation

알고리즘 (Algoritm)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 알고리즘(Algoritm) 이 상 희

  2. 프로그래밍의 기본 논리 1. 순차논리 : 주어진 명령들을 순차적으로 하나씩 수행하는 논리로서 하나의 명령이 수행된 후 다음 명령을 수행하는 단순한 구조

  3. START X = 3 Y = 5 NUBI = X * Y NUBI END 예제1 • 가로가 3이고 세로가 5인 사각형의 넓이를 출력하는 순서도 작성

  4. 예제2 • 2개의 수를 읽어서 두 수의 합과 차를 출력하는 순서도 START READ A, B SUM = A + B DIF = A - B SUM, DIF END

  5. 프로그래밍의 기본 논리 2.판단논리 : 현재까지의 값을 바탕으로 상태를 판단하여 참과 거짓 2가지의 경우의 수 중에서 하나를 수행하는 논리

  6. START READ A, B YES NO A > B MAX = A MAX = B A, B, MAX END 예제 1 • 2개의 수를 읽어 두수와 두 수 중에 최대값을 출력하는 순서도 작성

  7. START C > MAX READ A, B, C MAX = C A > B MAX = A MAX = B MAX END 예제 2 • 3개의 수를 읽어 그 중에 최대값을 출력하는 순서도 작성 NO YES NO YES

  8. 프로그래밍의 기본 논리 3.반복논리 : 반복 수행하고자 하는 명령을 주어진 조건에 따라서 반복적으로 수행하기 위한 논리로 프로그램의 작성 과정에서 주어진 조건에 따라서 반복적으로 명령을 처리하는 경우가 빈번하다.

  9. START YES CNT <= 100 SUM = 0 NO SUM CNT = 1 END SUM = SUM + CNT CNT = CNT + 1 예제 1 • 1부터 100까지의 합을 구하는 순서도

  10. START YES CNT < 100 SUM = 0 NO SUM CNT = 0 END CNT = CNT + 1 SUM = SUM + CNT 예제 2 • 1부터 100까지의 합을 구하는 순서도

  11. START SUM = 0 CNT = 0 YES CNT >= 100 NO CNT = CNT + 1 SUM SUM = SUM + CNT END 예제 3 • 1부터 100까지의 합을 구하는 순서도

  12. 변수명 잘 붙이는 법! • - 영문자, 한글, 숫자를 사용할 수 있다. • - 단, 첫 글자는 숫자와 공백을 사용할 • 수 없다. 변수란? • 상수: 하나의 고정된 값 • 변수: 값 또는 수식의 결과를 저장하기 위한 상자와 같은 기억공간(변할 수 있는 값) 예) A = 10, 기억공간 A라는 변수에 상수 10을 대입하는 것 • 변수명은 프로그램 작성을 용이하게 하기 위해 메모리에 붙인다.

  13. 변수의 종류 • 누적변수: 변수 자신에 일정한 값이 계속 가감승하는 특징을 가지며, 여러 번 누적 되어야 하기 때문에 반드시 반복문 내에 포함됨 예) A = A + 2(증가값) B = B – 2(감소값) C = C * 2(승산값)

  14. A = 0 A = 10 A = 1 A = A + 2 A = A - 2 A = A * 2 비교 비교 비교 누적변수의 예 2씩 곱하는 누적산 (초기값이 0이면 안됨) 2씩 증가하는 누적산 2씩 감소하는 누적산

  15. 변수의 종류 • 스위치 변수: 데이터를 반복 처리하는 과정에서 일정 조건인 경우에 한해서 수행하도록 하기 위한 방법으로, 변수의 값이 0 또는 1로 계속 변경되는 것이 특징이며 두가 처리가 계속 교대로 바뀌는 경우에 사용 예) 1+2-3+4-5+6-7+8 (+, -가 교대로 처리되는 경우)

  16. SW = 0 YES NO SW = 0 처리 1 처리 2 SW = 1 SW = 0 스위치변수의 예 조 건 : 처리1이 먼저 수행되고, 처리1과 처리2가 한번씩 반복적으로 수행될 수 있도록 프로그램을 구성

  17. SW = 1 YES NO SW = 1 처리 1 처리 2 SW = 0 SW = 1 스위치변수의 예 조 건 : 처리1이 먼저 수행되어야 한다.

  18. 변수의 종류 • 플래그 변수: 스위치 변수와 비슷한 방식으로 처리1을 한번 처리하고 처리2만을 반복 수행해야 하는 경우나 처리1을 수행하다가 특정 조건을 만족하면 반복을 종료하는 용도로 사용하는 변수 예) 1-2+3+4+5+6+7+8 (-를 한번, +를 계속 처리하는 경우)

  19. FLAG = 0 YES NO FLAG = 0 처리 1 처리 2 FLAG = 1 스위치변수의 예 조 건 : 처리1이 먼저 수행하고 처리2를 계속 수행

  20. 변수의 종류 • 누적변수 : 변수 자신에 일정한 값이 계속 가감승하는 특징을 가지며, 여러 번 누적 되어야 하기 때문에 반드시 반복문 내에 포함됨 예) A = A + 2(증가값) B = B – 2(감소값) C = C * 2(승산값)

  21. 연산자 A. 수치의 계산에 사용하는 산술연산자

  22. 연산자 B. 관계연산자

  23. 배열(ARRAY)의 기본개념 • 정의 : 변수는 하나의 값만을 기억하는 기억공간인데 반하여 같은 종류의 데이터에 대하여 이를 쉽게 처리하기 위해 모든 변수들을 조합해서 하나의 변수명으로 정의 • 배열명으로 여러 개의 기억공간을 설정하고 첨자를 이용하여 배열의 각 원소를 참조하도록 구성된 자료구조이다. 첨자는 ()를 사용 예) X(5)로 선언된 배열 X(1) X(2) X(3) X(4) X(5) X

  24. 1차원 배열 X(1) X(2) X(3) X(4) X(5) X • - X는 배열명이고 첨자는 1부터 5까지이다. • 첫 번째 기억장소는 X(1)이며, 마지막 기억장소는 X(5)이다. • 배열 X의 세번째 공간에 10이라는 값을 기억시키는 • 치환문은 X(3) = 10으로 표현한다.

  25. 다차원 배열 A(1,1) A(1,2) A(1,3) A(1,4) A(1,5) A(3,5) A(2,1) A(2,3) A(3,1) A(3,5) • 다차원배열은 배열의 차수를 확장한 배열로 차수가 2인 • 배열을 2차원 배열이라 한다. • A(3,5)로 선언된 2차원 배열이며, 첨자는 행이 1부터 3, • 열이 1부터 5까지로 2차원 배열은 첨자를 2개 사용하여 • 몇 번째 행의 몇 번째 열을 나타낼 수 있다. • 2행 3열에 10이라는 값을 기억시키는 치환문은 • X(2,3) = 10으로 표시한다.

  26. 함수의 기본개념 • 정의 : 함수란 특정기능을 수행하도록 일련의 처리집합 으로 함수를 사용하는 것을 ‘함수를 호출한다’라고 하며 여러 번 함수를 호출할 수 있다. • 미리 약속되어진 함수명은 변수명으로 사용할 수 없다. 예) MOD함수, INT함수 등이 있다.

  27. Mod(A,2) = 0 Mod(A,2) = 1 NO NO YES YES 홀수 짝수 짝수 홀수 MOD 함수 • 정의 : 나머지를 구하는 함수 예) mod(3,2) = 1 or 3 mod 2 = 1 mod(6,4) = 2 or 6 mod 4 = 2 • mod함수의 활용 ① 짝수, 홀수 판별에 활용

  28. Mod(A,N) = 0 NO YES 배수가 아니다 N의 배수 MOD 함수 • mod함수의 활용 ② 배수 판별에 활용 예) mod(A,N) = 0 or A mod N = 0

  29. 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

  30. START YES i < 100 i = 0 NO SUM sum = 0 END i = i + 1 sum = sum + i 수열 • 1부터 100까지의 자연수의 합을 구하는 순서도 i<=99도 가능하다 선증가 후처리의 순서도

  31. START YES i < 100 i = 1 NO SUM sum = 1 END i = i + 1 sum = sum + i 수열 • 1부터 100까지의 자연수의 합을 구하는 최적화순서도 i<=99도 가능하다 선증가 후처리의 순서도

  32. START YES i <= 100 i = 2 NO SUM sum = 1 END sum = sum + i i = i + 1 수열 • 1부터 100까지의 자연수의 합을 구하는 최적화 순서도 I < 101도 가능하다 선처리 후증가의 순서도

  33. START YES i <= 100 i = 1 NO SUM sum = 0 END sum = sum + i i = i + 1 수열 • 1부터 100까지의 자연수의 합을 구하는 순서도 I < 101도 가능하다 선처리 후증가의 순서도

  34. START NO i > 100 i = 1 YES SUM sum = 0 END sum = sum + i i = i + 1 수열 • 1부터 100까지의 자연수의 합을 구하는 순서도 I < 101도 가능하다 선처리 후증가의 순서도

More Related