새소식

프로그래밍/C | C++

[C] 01 프로그래밍의 개념 - 1.4 알고리즘이란?

  • -


이 글은 [쉽게 풀어쓴 C언어 Express 개정판]을 읽고 정리한 내용입니다. 상업적 목적이 아닌 단순히 공부한 내용을 정리하려는 생각으로 쓴 것이니 그 점 유의하고 봐주시기 바랍니다.

http://book.naver.com/bookdb/book_detail.nhn?bid=6984786





1.4 알고리즘이란?


● 알고리즘이란?

  • 문제를 풀기 위하여 컴퓨터가 수행하여야 할 단계적인 절차를 기술한 것이 알고리즘(algorithm)이다.
  • 알고리즘을 프로그래밍 언어로 구현하면 프로그램이 된다.
  • 프로그램을 구현하기에 앞서 알고리즘을 고민하고 프로그램을 작성하는 것이 좋은 프로그래머이다.
  • 알고리즘을 고안할 땐 해당 문제의 복잡도를 CPU가 바로 실행할 수 있을 정도까지 분해하여야 한다.
  • ex) 요리법


● 알고리즘 기술 방법 3가지

  • 자연어. 사람들이 일상적으로 쓰는 언어. 영어, 한글 등의 사람과 소통하기 위해 쓰는 언어들이다.

1
2
3
4
5
1. 빈 그릇을 준비한다.
2. 이스트를 밀가루, 우유에 넣고 저어준다.
3. 버터, 설탕, 계란을 추가로 넣고 섞는다.
4. 따뜻한 곳에 놓아두어 발효시킨다.
5. 170~180도의 오븐에서 굽는다.
cs

  • 순서도. 플로우차트(flowchart) 또는 흐름도라고 하며, 프로그램에서의 논리 순서 또는 작업 순설르 그림으로 표현하는 방법이다. 프로그래머는 항상 순서도를 통해 자신의 논리를 가시화한다.


  • 의사 코드(pseudo-code). 자연어보다는 더 체계적이고 프로그래밍 언어보다는 덜 엄격한 언어로서 알고리즘의 표현에 주로 사용되는 코드이다.
1
2
3
4
5
6
7
8
9
10
11
12
void function fizzbuzz
For (i = 1; i<=100; i++) {
    set print_number to true;
    If i is divisible by 3
        print "Fizz";
        set print_number to false;
    If i is divisible by 5
        print "Buzz";
        set print_number to false;
    If print_number, print i;
    print a newline;
}
cs


Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.