-
(번역 : Jisoon Lim)
자, 첫 시간입니다. 여러분에게
컴퓨터 프로그램이 무엇인지 소개하고자 합니다.
-
(번역 : Jisoon Lim)
자, 첫 시간입니다. 여러분에게
컴퓨터 프로그램이 무엇인지 소개하고자 합니다.
-
(번역 : Jisoon Lim)
자, 첫 시간입니다. 여러분에게
컴퓨터 프로그램이 무엇인지 소개하고자 합니다.
-
제가 여기에 하는 걸 그대로 따라 해 보는 걸
강력히 추천합니다.
-
제가 여기에 하는 걸 그대로 따라 해 보는 걸
강력히 추천합니다.
-
컴퓨터 과학에서는 실습으로 익히는 게
가장 빠르거든요.
-
컴퓨터 과학에서는 실습으로 익히는 게
가장 빠르거든요.
-
자, 이게 파이썬 환경입니다.
-
앞으로의 프로그래밍을 파이썬을 통해 보여줄 거고요,
-
이 개발 환경의 이름은 PyScripter (파이스크립터) 입니다.
-
P-Y-S-C-R-I-P-T-E-R.
-
무료 오픈소스 소프트웨어입니다.
-
그리고 제가 쓰는 버전이 ...
아마, 파이썬 2.6 이나 2. 7 일 겁니다.
-
그리고 제가 쓰는 버전이 ...
아마, 파이썬 2.6 이나 2. 7 일 겁니다.
-
파이썬 2 를 사용한다면 저와 똑같은 방식으로
예제를 구현해도 될 건데요,
-
파이썬 2 를 사용한다면 저와 똑같은 방식으로
예제를 구현해도 될 건데요,
-
파이썬 2 를 사용한다면 저와 똑같은 방식으로
예제를 구현해도 될 건데요,
-
만약 파이썬 3 을 사용한다면, 제 예제를 조금씩 고쳐야
제대로 작동시킬 수 있을 겁니다.
-
만약 파이썬 3 을 사용한다면, 제 예제를 조금씩 고쳐야
제대로 작동시킬 수 있을 겁니다.
-
만약 파이썬 3 을 사용한다면, 제 예제를 조금씩 고쳐야
제대로 작동시킬 수 있을 겁니다.
-
그럴 경우에는 따로 알려드릴게요.
-
자, 한번 컴퓨터 프로그램을 작성해 봅시다.
-
이게 편한 게, 그냥 여기다가 프로그램 코드를
작성하면 되는 겁니다.
-
이게 편한 게, 그냥 여기다가 프로그램 코드를
작성하면 되는 겁니다.
-
그냥 텍스트 파일 고치듯이 ... 그게 다에요.
-
그냥 텍스트 파일 고치듯이 ... 그게 다에요.
-
명령어들을 텍스트로 입력하면, 컴퓨터가
파일 맨 위에서 아래로 내려가면서 명령어들을 읽습니다.
-
명령어들을 텍스트로 입력하면, 컴퓨터가
파일 맨 위에서 아래로 내려가면서 명령어들을 읽습니다.
-
명령어들을 텍스트로 입력하면, 컴퓨터가
파일 맨 위에서 아래로 내려가면서 명령어들을 읽습니다.
-
명령어들을 텍스트로 입력하면, 컴퓨터가
파일 맨 위에서 아래로 내려가면서 명령어들을 읽습니다.
-
뭐, 나중에는 컴퓨터가 어느 부분을 반복하거나
다른 줄로 뛰어넘게 할 수도 있겠지만요 ...
-
뭐, 나중에는 컴퓨터가 어느 부분을 반복하거나
다른 줄로 뛰어넘게 할 수도 있겠지만요 ...
-
뭐, 나중에는 컴퓨터가 어느 부분을 반복하거나
다른 줄로 뛰어넘게 할 수도 있겠지만요 ...
-
뭐, 나중에는 컴퓨터가 어느 부분을 반복하거나
다른 줄로 뛰어넘게 할 수도 있겠지만요 ...
-
일단 간단한 프로그램을 작성하면서,
-
일단 간단한 프로그램을 작성하면서,
-
컴퓨터 프로그램의 핵심적인 개념들을 익혀 봅시다.
-
컴퓨터 프로그램의 핵심적인 개념들을 익혀 봅시다.
-
엄청 간단한 프로그램을 작성해 보죠.
-
가장 간단한 프로그램 중의 하나는,
수식입니다. 말 그대로 그냥 수식이요..
-
가장 간단한 프로그램 중의 하나는,
수식입니다. 말 그대로 그냥 수식이요..
-
이렇게 print 3 + 7 이라고 적으면,
-
실제로 3 더하기 7 을 계산해서 출력합니다.
-
파이썬에 내장된 print 함수에다가
덧셈의 결과를 전달하는 거죠.
-
파이썬에 내장된 print 함수에다가
덧셈의 결과를 전달하는 거죠.
-
이렇게 쓸 수도 있습니다. print(3 + 7).
-
일단 저장할게요.
-
자, 보면 여긴 명령어 한 줄 뿐입니다.
3 + 7 을 print 하는 거죠.
-
자, 보면 여긴 명령어 한 줄 뿐입니다.
3 + 7 을 print 하는 거죠.
-
순차적으로 한 줄씩 실행되는 걸 보기 위해,
한 줄을 더 짜 봅시다.
-
순차적으로 한 줄씩 실행되는 걸 보기 위해,
한 줄을 더 짜 봅시다.
-
다음 줄은 ... print(2 - 1)
-
한 줄만 더 하죠. print("this is a chunk of text")
-
자, 이 컴퓨터 프로그램이 어떻게 돌아가나 봅시다.
-
자, 이 컴퓨터 프로그램이 어떻게 돌아가나 봅시다.
-
저장합니다.
-
저장하구요 ...
-
testarea.py 라는 이름의 파일로 저장할게요.
음 .. 여기서 ...
-
.py 확장자는 파이썬 파일을 뜻합니다.
-
이제 돌려볼게요.
-
이 통합 개발 환경 ... 혹은 IDE,
이게 좋은 게 뭐냐면,
-
이 통합 개발 환경 ... 혹은 IDE,
이게 좋은 게 뭐냐면,
-
여러 가지 다른 프로그램들을 짜 놓고
같은 공간에서 돌릴 수 있다는 겁니다.
-
또한, 입력한 텍스트에 색깔을 자동으로 줘서
-
어느 게 함수고, 어느 게 함수가 아니고,
어떤 게 자료형인지 보여줍니다.
-
어느 게 함수고, 어느 게 함수가 아니고,
어떤 게 자료형인지 보여줍니다.
-
자료형에 대해서는 이따가 다루기로 하고 ...
-
일단 돌리고 어떻게 되나 봅시다.
-
자, 돌렸습니다!
-
어디 보자, 10 을 인쇄하고, 그리고 1 을 인쇄하고,
-
그리고 "this is a chunk of text" 를 인쇄했네요.
-
우리가 원하는 대로 다 했습니다.
-
그리고 순서대로 했네요.
-
여기서 시작해서, 3 + 7 을 계산해서 10 을 여기서 출력해서 ...
여기에 10 을 출력했고요.
-
여기서 시작해서, 3 + 7 을 계산해서 10 을 여기서 출력해서 ...
여기에 10 을 출력했고요.
-
그리고 2 - 1 을 출력했고,
-
마지막으로 this is a chunk of text 를 출력했네요.
-
자, 이쯤에서 설명해야 할 게 자료형이라는 놈입니다.
-
자, 이쯤에서 설명해야 할 게 자료형이라는 놈입니다.
-
이 예제를 보고 아마 느끼는 바가 있을 텐데요,
-
이 예제를 보고 아마 느끼는 바가 있을 텐데요,
-
3, 2, 1, 7 이랑 this chunk of text 는 좀 다른 거 아는가? 싶죠.
-
3, 2, 1, 7 이랑 this chunk of text 는 좀 다른 거 아는가? 싶죠.
-
이건 숫자니까, 숫자는 더할 수 있는 거고 ...
-
어떤 수량을 나타내는 건데,
-
여기 이놈은 텍스트잖아요.
-
네, 사실은 ... 서로 다른 자료형인 겁니다.
-
네, 사실은 ... 서로 다른 자료형인 겁니다.
-
이 3, 7, 1 ... 은 숫자형입니다.
-
특히 이 경우에, 정수형에 해당됩니다.
-
그리고 ... 이쪽의 이놈, 이건 스트링입니다.
-
그리고 ... 이쪽의 이놈, 이건 스트링입니다.
-
앞으로 컴퓨터 과학에서 자주 듣게 될 단어죠.
-
스트링 ... 그러니까 문자열인 겁니다.
-
파이썬에서는, 우리가 실제로 어떤 자료의
자료형을 확인할 수 있습니다.
-
파이썬에서는, 우리가 실제로 어떤 자료의
자료형을 확인할 수 있습니다.
-
type() 이라는 함수가 있거든요.
-
이렇게 하면, 10 을 출력하는 게 아니라
3 + 7 의 자료형을 출력하게 됩니다.
-
한번 해볼까요?
밑의 print(2 - 1) 은 비교를 위해 그대로 남겨둘게요.
-
그리고 이 this chunk of text 에도 type 함수를 적용해서 ...
-
자료형을 출력시키도록 하고 ...
-
이제 저장하겠습니다.
CTRL + S 가 저장할 때 쓰는 단축키입니다.
-
이제 저장하겠습니다.
CTRL + S 가 저장할 때 쓰는 단축키입니다.
-
그리고 ... 실행해볼게요.
-
네, 됐습니다.
-
이 구문을 분석하는데,
-
분석하려면, 안쪽의 괄호부터 시작하는 겁니다.
-
3 + 7 은 10 이죠. 그럼 이게 10 의 자료형을 구해서,
-
정수형이니까 ... type 'int' (정수형) 을 출력합니다.
-
바로 여기 보이죠? type 'int' 라 써있죠.
-
int 는 integer(정수) 의 약자입니다.
-
다음은 print(2 - 1) 네요.
-
이 줄에서 1 을 인쇄했어요.
-
이 줄에서 1 을 인쇄했어요.
-
그 다음은, 이 부분 전체의 자료형을 출력하는 겁니다.
-
이거 자체를 출력하는 게 아니라,
-
자료형을 인쇄하는 겁니다. 자료형은 스트링이죠.
-
자, 이 정도까지 실험을 진행했으니,
그 다음으로 소개할 개념은,
-
자, 이 정도까지 실험을 진행했으니,
그 다음으로 소개할 개념은,
-
변수라는 개념입니다.
-
우리가 프로그래밍하면서 보통 하는 일이
서로 다른 공간에 이런 것들을 저장하는 겁니다.
-
우리가 프로그래밍하면서 보통 하는 일이
서로 다른 공간에 이런 것들을 저장하는 겁니다.
-
앞으로의 파이썬 강좌에서, 이런 자료들에 이름표를 붙일 수 있고, 그 이름표를 변경할 수 있다는 걸 배우게 될 겁니다.
-
앞으로의 파이썬 강좌에서, 이런 자료들에 이름표를 붙일 수 있고, 그 이름표를 변경할 수 있다는 걸 배우게 될 겁니다.
-
앞으로의 파이썬 강좌에서, 이런 자료들에 이름표를 붙일 수 있고, 그 이름표를 변경할 수 있다는 걸 배우게 될 겁니다.
-
그리고, 한 자료에 여러 가지 이름표를 붙일 수도 있고요.
-
자, 그럼 변수를 사용해서
완전히 다른 프로그램을 짜 봅시다.
-
아, 그리고 ... 파이썬의 또 다른 특징이 있는데,
이건 싫어하는 사람들도 있지만 ...
-
아, 그리고 ... 파이썬의 또 다른 특징이 있는데,
이건 싫어하는 사람들도 있지만 ...
-
아무 변수에, 아무 자료형이나 넣을 수 있습니다.
-
자, 예를 들어 a = 3 + 5 라고 하고,
-
b = a * a - a - 1 이라 하고,
-
(참고 : * 는 곱셈 부호)
-
그리고 c = a * b 라 하면 ...
-
그럼 어떻게 되냐면 ...
-
음 ... 잠시 ... 띄어쓰기를 해서 깔끔하게 하고 ...
-
c = a * b 하고 ...
-
자 이제 ... print(c) 합니다.
-
c 가 어떻게 출력될지 생각해보고 싶으신 분은
잠시 비디오를 멈춰도 되고요.
-
c 가 어떻게 출력될지 생각해보고 싶으신 분은
잠시 비디오를 멈춰도 되고요.
-
아니면, 일단 그냥 돌려보겠습니다.
-
자, 프로그램을 돌리고 ...
-
제대로 출력됐는지 이따가 확인해 보죠.
-
제대로 출력됐는지 이따가 확인해 보죠.
-
먼저 저장하고요 ...
-
돌려봅시다..
-
c 값이 440 이네요. 맞는지 볼까요?
-
3 + 5 는 8 이니까, a 라는 이름표는 8 을 참조합니다.
-
이렇게 되면 프로그램 내에서는 a 를 다시 정의하기 전에는
-
a 를 항상 8 을 참조하는 거죠. a 는 8 인 겁니다.
-
그리고 내려가면, b 를 정의하는데 ...
-
일단, a * a 부터 하죠. 연산 우선순위가 존재합니다.
-
일반적인 우선순위에 따라서 곱셈이 먼저죠.
-
뺄셈보단 곱셈이 당연히 먼저겠죠?
-
그래서, a 곱하기 a 를 하면 .. 64 가 됩니다.
-
그 다음으로 64 - a 는 64 - 8 이니까 56 이고,
1 을 빼면 55 가 되네요.
-
그래서 b 는 55 입니다. 그리고 c 는 ...
8 곱하기 55 니까 ...
-
8 곱하기 55 는 440 이군요.
-
그러니까, 제대로 나온 겁니다.
-
만약 a 가 달라지면 어떻게 될까요?
-
만약 a 가 달라지면 어떻게 될까요?
-
시험해 볼 수 있습니다.
-
a 값만 바꾸고 다시 돌리면 되는 거죠.
-
이번에는 ... -6 으로 만들어 보죠.
-
이번에는 ... -6 으로 만들어 보죠.
-
자, 어떻게 되는지 돌려보면 ...
-
-246 이 니왔습니다. 이게 맞는지는 직접 확인해보세요.
-
이렇게 한 줄씩 내려가면서,
이 변수들이 어떤 값으로 정의되는지 보고,
-
이렇게 한 줄씩 내려가면서,
이 변수들이 어떤 값으로 정의되는지 보고,
-
이 밑에 출력되는 값과 비교해 보는 겁니다.
-
자 ... 이 프로그램이란 게 이렇게 그냥
순차적으로만 실행되는 명령어들이라면,
-
자 ... 이 프로그램이란 게 이렇게 그냥
순차적으로만 실행되는 명령어들이라면,
-
별로 재미가 없을 겁니다.
-
진짜 재미있는 부분은 조건문과 반복문에 있습니다.
-
진짜 재미있는 부분은 조건문과 반복문에 있습니다.
-
조건문과 반복문은 어떤 거냐면 ... 일단 이렇게 해 보죠.
-
조건문과 반복문은 어떤 거냐면 ... 일단 이렇게 해 보죠.
-
자 .. 일단 위의 코드는 남겨놓고,
-
이렇게 ... if (a < 0): ... a 가 0 보다 작으면 ...
print(c) 를 해서 c 를 출력하고 ...
-
그리고 ... else: 즉, 아니면 ...
print(c - a) 로 c - a 를 출력합시다.
-
이제 좀 재밌어지네요. 아마 이게 어떤 건지 감이 왔을 겁니다.
일단 저장할게요.
-
이제 좀 재밌어지네요. 아마 이게 어떤 건지 감이 왔을 겁니다.
일단 저장할게요.
-
이 조건문으로 할 수 있는 일이 무진장 많을 겁니다.
일단 의미를 설명하자면,
-
이 조건문으로 할 수 있는 일이 무진장 많을 겁니다.
일단 의미를 설명하자면,
-
a 가 0 보다 작으면, 이 부분을 돌리고,
-
그렇지 않고 a 가 0 보다 작으면, 이 부분을 돌리는 겁니다.
-
자, 그래서 이번에 그냥 순차적으로 내려가는 게 아닙니다.
-
a 의 값이 0 보다 작은가 아닌가에 따라서,
-
이 줄이 실행되는지,
-
아니면 이 줄이 실행되는 지 결정됩니다.
-
파이썬은, 이 들여쓰기를 보고 a 가 0 보다 작을 때
이 구문만 실행하는 겁니다.
-
파이썬은, 이 들여쓰기를 보고 a 가 0 보다 작을 때
이 구문만 실행하는 겁니다.
-
들여쓰기가 이 구역을 정해주는 거죠.
-
그럼 새로운 구역은 어떻게 시작되느냐 하면,
-
바로 여기 있는 콜론(:) 입니다.
-
그리고, 이 조건이 맞지 않을 경우에는
-
그리고, 이 조건이 맞지 않을 경우에는
-
그러니까 a 가 0 보다 작지 않으면,
이 else 구역으로 가게 됩니다.
-
그리고 만약 a 의 값이 0 보다 작건 말건
뭔가를 실행하고 싶으면,
-
그리고 만약 a 의 값이 0 보다 작건 말건
뭔가를 실행하고 싶으면,
-
그냥 들여쓰기를 없애고 구역 밖에 쓰면 됩니다.
-
그냥 들여쓰기를 없애고 구역 밖에 쓰면 됩니다.
-
이렇게 해 볼까요?
-
print("we are done with the program")
(프로그램 끝났습니다)
-
그리고 .. 이쪽 구역에 뭔가 추가해 봅시다.
-
여기서 print("a<0") 을 넣어보죠.
-
이건 그냥 스트링이니까, 계산되지 않을 겁니다.
-
이건 그냥 스트링이니까, 계산되지 않을 겁니다.
-
그냥 통째로 출력되겠죠.
-
그리고 이쪽엔 이렇게 ...
print("a is not less than 0")
-
재밌는 프로그램이 됐네요 ... 이제 돌려볼게요.
-
잘 돌아가릴 바라며 ... 저장하고,
돌립니다.
-
네, a < 0 이라고 떴고요,
-
... 좀 창을 넓히고 ...
-
네, 다시 말하자면, 프로그램을 돌리니까 먼저
a < 0 이 떴습니다.
-
이쪽 구역이 실행되었다는 의미겠죠.
-
그 다음에 이게 출력되었습니다.
c, 즉 -246 이 출력됐네요.
-
a 가 0 보다 작기 때문에, 이쪽 구역은 실행되지 않았습니다.
-
a 가 0 보다 작기 때문에, 이쪽 구역은 실행되지 않았습니다.
-
하지만 구역 밖에 있는 이 구문은 무슨 일이 있어도
실행되겠죠.
-
하지만 구역 밖에 있는 이 구문은 무슨 일이 있어도
실행되겠죠.
-
"we are done with the program" 이 출력됩니다.
-
한 번 a 를 바꿔서 다른 구역을 실행할 수 있는 지 볼까요?
-
한 번 a 를 바꿔서 다른 구역을 실행할 수 있는 지 볼까요?
-
a 를 0 보다 크게 해서 ...
-
자, a 에 9 를 넣었고요, 그리고 돌려보겠습니다.
-
네 ... a 는 9 니까, 0 보다 작나요?
-
당연히 0 보다 작지 않죠.
그러니까 이 구역은 실행되지 않습니다.
-
당연히 0 보다 작지 않죠.
그러니까 이 구역은 실행되지 않습니다.
-
else 구역으로 갈 거고 ...
-
그럼 여기서 "a is not less than 0" 을 출력하고요,
-
그리고 c - a ... 즉 630 을 출력하고, 구역을 빠져나옵니다.
-
그리고 c - a ... 즉 630 을 출력하고, 구역을 빠져나옵니다.
-
그리고 a 의 값에 관계없이,
"we are done with the program" 을 출력합니다.
-
그리고 a 의 값에 관계없이,
"we are done with the program" 을 출력합니다.