현실에서의 프로그램 vs 코딩을 통한 프로그램 차이 파악
프로그래밍의 기반이 되는 컴퓨팅 사고 개념 이해
프로그램의 구조인 순차 구조, 선택 구조, 반복 구조 학습
1. 프로그래밍의 기본 원리
- 현실의 프로그램은 전체 과정을 여러 개의 작은 과정으로 분할하고, 작은 과정의 순서가 명확하게 정해져있으며, 각각의 과정은 구체적이고 다른 해석의 여지가 없다는 특징이 있다.
- 컴퓨터, 스마트폰을 이용할 때의 공통점은 소프트웨어를 이용한다는 점인데, 하고 싶은 일을 지원해주는 소프트웨어가 없다면 프로그래밍을 통해 직접 개발을 할 수 있다.
- 실제로 스마트폰 초창기 서울시 시내버스 정보 앱을 만들어 인기를 끌었던 적이 있음
2. 컴퓨팅 사고
- 컴퓨팅 사고는 컴퓨터를 이용해서 문제를 해결하려는 논리 체계로 고전적인 사고에 반대되는 개념이다.
- 전자계산기로 정리하던 성적을 엑셀로 정리하는 것
- 발표 자료를 펜과 종이로 쓰지 않고 파워포인트로 쓰는 것
- SW가 없으면 일을 못하는 것을 코드를 사용해서 하도록 하는 것
- 일과를 프로그램으로 만들려면 일과를 단위 작업으로 분할하고, 분할된 단위 작업의 순서를 명시하여 수행할 수 있으며, 이러한 것이 컴퓨팅 사고의 예시로 볼 수 있다.
3. 프로그램의 구조
1) 순차 구조 (Sequence)
- 하나의 작업을 수행한 다음, 다음에 예정된 작업을 수행하는 것을 의미하며, 하나의 코드를 수행한 후에 그 다음에 위치하는 코드를 수행하는 구조이다.
- 일과에서 프로그램의 시작은 1. 일어난다이고 끝은 10.잔다 라면 순차 구조란 이 중간에서 i번째 일을 한 다음 i+1번째 일을 하도록 하는 것이다.
2) 선택 구조 (Selection)
- 다음에 수행할 작업을 조건을 적용해서 결정하는 것으로 프로그램 코드의 수행 순서를 조건식에 따라서 결정하는 구조이다. 어떤 조건을 만족하느냐의 여부를 판단하고 (if then), 그 조건을 만족하면 다음 위치의 코드를 실행한다.
- 선택 구조에는 여러 종류가 있는데, 조건식이 참이면 코드를 실행하는 if구조, 조건식이 참이면 a를, 조건식이 거짓이면 b를 수행하는 if-else구조, 그리고 if-else-if-else 구조가 있다.
- if-else-if-else 구조란, 조건식이 1이 참이면 a를 수행, 거짓이면 조건식 2를 검사하여 참이면 b를 수행, 거짓이면 c를 수행하는 구조이다.
한편 switch 구조는 조건이 1이면 a, 2이면 b, 3이면 c 그리고 아무것에도 안맞으면 d를 실행하는 구조이다. (단 switch문은 파이썬에서는 제공하지 않는다.)
# if - else - if - else 구조
if (배고프면)
밥을 먹는다.
elif (배가 고픈지 안고픈지 잘 모르겠으면)
간식을 먹는다.
else
아무 것도 먹지 않는다.
3) 반복 구조 (iteration)
- 어떤 조건을 만족하는 동안 지정된 작업을 반복하는 구조로 어떤 조건을 만족시키는 동안 수행하는 조건 반복, 몇 번 반복할 것인지를 미리 설정하고 수행하는 횟수 반복, 설정된 집합의 모든 원소를 한 번씩 거쳐가는 원소 반복이 있다.
- 조건반복은 무한정 반복하는 것이 아니고, 현재 만족시키고 있는 어떤 조건을 설정 후 이 조건이 아직 만족되는지를 점검하는 형태이다. 조건이 만족되면 다시 반복, 조건이 만족되지 않으면 반복을 끝내고 넘어가는 것이다.
# 조건 반복
카운터를 0으로 초기화
while (카운터가 미리 정한 값보다 작은가) :
작업
카운터 증가
- 횟수 반복은 특수한 조건 반복으로 볼 수 있으며, 설정한 횟수만큼 반복을 하는 구조기에 카운터가 필수적이다. 횟수반복은 시작할 때 카운터를 초기화하고, 작업이 카운터를 증가시킨다. 이후 정해진 종료값과 횟수가 일치하면 작업을 중단, 작으면 반복을 계속하는 것이다.
- 여기서 카운터를 0으로 설정하는 것은 초기화라고 부르며, 카운터의 값을 증가시키는 것을 증가문, 카운터가 최종 종료값보다 작은지 비교하는 작업을 종결 조건 검사라고 한다. (횟수 반복은 for를 사용한다.)
for (카운터를 0으로 초기화; 카운터가 종료값보다 작은지 확인; 카운터를 1 증가):
작업
- 원소반복은 유한 개의 원소를 가지고, 순서대로 반복을 수행하는 것이다. 첫번째 원소부터 마지막 원소까지 한번씩 작업을 수행하는 것을 반복한다.
운동리스트 = (푸시업, 싯업, 스쿼트, 런지, 풀다운)
for 운동 in 운동 리스트:
운동을 한다.
'통계와 빅데이터' 카테고리의 다른 글
[ 바이오통계학 ] 통계학의 기본 개념과 데이터 요약 (3) | 2024.09.02 |
---|---|
[ 파이썬컴퓨팅 ] 변수와 print문 (0) | 2024.09.01 |
[ 파이썬컴퓨팅 ] 파이썬 소개와 환경 설정 (4) | 2024.08.31 |
텍스트 빅데이터 (2) - 단어의 표현과 언어 모형 (3) | 2024.08.31 |
텍스트 빅데이터 (1) - 자연어 처리 기술과 텍스트 전처리 (6) | 2024.08.31 |