Section 01 알고리즘과 랩터
1. 알고리즘의 개념
알고리즘은 어떠한 문제를 해결하기 위한 일련의 절차를 특정한 방법으로 표현한 것을 의미한다.
문제를 해결하기 위한 절차를 나타내는 알고리즘은 다음 5가지 조건을 만족해야 한다.
- 입력: 외부에서 0개 이상의 입력을 받아야 한다.
- 출력: 문제를 해결하여 1개 이상의 출력을 생성해야 한다.
- 명확성: 각 단계는 명확하고 모호하지 않은 명령어로 구성되어야 한다.
- 유한성: 한정된 수의 작업 후에는 반드시 끝나야 한다.
- 효과성: 모든 단계의 명령들이 실행 가능해야 한다.
특정 문제에 대해 위와 같은 조건이 만족되면 그 문제는 해결 가능하다고 할 수 있다. 알고리즘을 표현하는 특정한 방법으로는 의사코드(pseudocode) 또는 순서도(flowchart)와 같은 방법들이 많이 사용된다.
2. 순서도 랩터
생략, 후에 따로 다룰 예정
Section 02. 프로그램 논리
주어진 작은 문제를 알고리즘으로 표현하기 위해서는 순서, 선택, 반복이라는 3가지 프로그래밍 논리가 필요하다. 이러한 알고리즘에 표현된 3가지 논리는 대부분의 프로그래밍 언어에서 명확한 구문으로 제공하고 있다.
순서, 선택, 반복의 논리는 1970년대에 개발된 구조적 프로그래밍(structured programming) 기법에 바탕을 두고 있는 프로그래밍 기법이다. 프로그램을 작성한다는 의미는 주어진 문제를 해결하기 위한 절차를 순서·선택·반복의 논리를 이용하여 나타내고, 컴퓨터에서 실행시켜 결과를 출력한다는 의미이다. 따라서 프로그래밍 학습의 첫 단계는 작은 문제를 순서·선택·반복하여 명확하게 알고리즘으로 표현하고, 알고리즘으로 표현된 문제를 프로그래밍 언어로 작성해보는 것을 반복하여 학습하는 것이다.
1. 순서 논리
순서 논리(sequence logic)는 반드시 순차적으로 실행되어야 하는 절차가 존재하는 경우를 의미한다. 모든 프로그램은 작성된 순서대로 프로그램이 위에서 아래로 순차적으로 실행됨을 의미한다.
2. 선택 논리
선택 논리(selection logic)은 조건의 결과에 따라 하는 일이 다르게 되는 경우의 논리이다. 반드시 조건이 수반되어야 하고, 조건의 결과는 반드시 참 또는 거짓이 되는 논리이다. 조건의 결과가 '잘 모르겠다', '애매모호하다'가 되면 선택 논리가 성립되지 않는다. 프로그램에서의 선택 논리는 주어진 조건에 결과에 따라 실행되는 문장이 다르다는 의미이다.
3. 반복 논리
반복 논리(repetition logic)은 조건에 따라 조건이 참일 경우(또는 거짓일 경우) 계속 반복을 수행하는 것이다. 선택 논리와 같이 핵심은 조건이다.
매번 반복될 때마다 조건을 검사하는데, 언젠가는 조건이 거짓이 되어 반복을 끝낼 수 있어야 한다. 만약 조건이 영원히 거짓이 되지 않는다면, 프로그램은 무한 반복(infinite loop)이 되어 프로그램이 영원히 끝나지 않을 수 있다.
4. 분해된 작은 문제의 해결
문제는 일반적으로 분해된 모듈의 기능이 독립적이면서 명료해질 수 있을 때까지 나누어야 한다. 문제가 작은 문제로 분해되면, 각가의 작은 문제들은 알고리즘 형태로 표현되어야 한다.
분해된 작은 문제는 이 문제를 분석하여 문제로부터 조건을 추출하는 것이 가장 중요하다. 조건이 추출되면 조건에 따라 선택을 수행할 것인지, 반복을 수행할 것인지만 결정되면 시부게 알고리즘을 작성할 수 있다.
프로그램을 처음 배우는 학습자는 다음 과정을 반복 학습하여 프로그래밍을 익혀야 한다.
- 작고 간단한 문제로부터 조건을 추출
- 조건에 따른 논리가 선택 논리인지 반복 논리인지 결정
- 각각의 요소들을 순서에 따라 연결하여 알고리즘을 작성
Section 03 파이썬
1. 파이썬의 개념과 특징
파이썬(Python)은 가장 최근에 개발된 언어이면서, 가장 많은 관심을 받고 있는 언어이다. 1991년 네덜란드의 귀도 반 로섬(Guido van Rossum)이라는 프로그래머가 개발한 언어이다. 파이썬은 비단뱀이라는 뜻이지만, 귀도 반 로섬은 본인이 좋아하는 BBC 방송의 코미디 프로그램의 이름에서 파이썬이라는 단어를 따왔다고 한다.
파이썬의 특징은 다음과 같다.
- 대화식 인터프리터 언어: 대화식으로 동작하므로 사용하기 쉽고, 오류를 수정하기 쉽다.
- 플랫폼에 독립적인 언어: 파이썬으로 작성된 프로그램은 어떠한 운영체제에서도 실행될 수 있다.
- 쉬운 문법과 다양한 자료형을 제공: 파이썬의 쉬운 문법은 초보자도 쉽게 배울 수 있으며, 높은 수준의 자료구조를 자료형으로 제공하고 있다.
- 대규모의 라이브러리: 파이썬은 다양한 분야에서 수많은 라이브러리를 제공한다. 이러한 라이브러르로 대규모의 소프트웨어를 빠른 시간 내에 개발할 수 있다.
2. 파이썬 환경 구축
생략, 후에 따로 다룰 예정
3. 파이썬 프로그램 작성과 실행
생략, 후에 따로 다룰 예정
'파이썬 > 개념' 카테고리의 다른 글
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH06. 시퀀스 자료형 (1) | 2024.11.16 |
---|---|
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH05. 반복문 (2) | 2024.10.15 |
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH04. 선택문 (0) | 2024.10.15 |
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH03. 파이썬 기초 문법 (0) | 2024.10.15 |
[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Ch01. 소프트웨어와 컴퓨팅 사고력 (18) | 2024.10.09 |