하이어코딩 RSS 태그 관리 글쓰기 방명록 mahiru
전체 글 (33)
2021-01-18 13:52:13
728x90
반응형

그럼 본격적으로 프로세싱으로 프로그램을 작성해보겠습니다.

 

기본적인 틀은

keyword(reserved)

의 형태로 되어있습니다.

 

여기서 keyword는 size나 ellipse와 같은 것들로 일반적으로 함수를 의미합니다.

그리고 reserved란 함수에 들어가는 값으로 이 값을 통해 어떤 결과를 출력합니다.

 

예를 들어

 

void setup(){
	size(800,400);
}


void draw(){
    ellipse(mouseX, mouseY, 80,80);
}

라고 작성을 할 경우

마우스를 움직이는 대로 원이 생성되는 것을 볼 수 있습니다.

이때, ellipse가 keyword에 속하고

mouseX부터 80까지 괄호에 있는 것들이 reserved에 속합니다.

그리고 size가 keyword에 속하고

800,400이 reserved에 속하지요.

 

위의 코드에 보시면 void setup(), void draw()라는 것을 보실 수 있습니다.

 

여기에 의문이 생기실텐데 void setup()이란

마치 하나의 도화지라고 생각하시면 됩니다.

그림을 그릴때 허공에 그릴 수 없고 도화지와 같은 그릴 곳이 필요합니다.

이 도화지와 같은 역할을 setup이 하고

void setup()을 전문적인 용어로 함수라고 칭합니다.

 

그리고 void draw() 또한 함수인데

이는 값을 입력받는 함수로

위의 ellipse를 이용하여

mouse의 X좌표와 Y좌표에 따라 원을 생성하게 해줍니다.

추후에 자세하게 설명을 하겠습니다.

 

여기서 또 모든 코드들이 소문자로 이루어진 것을 보실 수 있는데

앞서 processing은 대소문자를 구분한다고 설명했습니다.

이러한 특성을 case-sensitive(대소문자 구분)라고 합니다.

 

여기서 추가로 설명하면 위의 코드는 사용자의 동작(마우스의 움직임)에 따라

결과가 바뀌는 것을 알 수 있습니다.

이러한 코드를 active모드로 짠 코드라고 합니다.

반응형
2021-01-18 13:38:01
728x90
반응형

processing도 프로그래밍 언어이므로

문법(Syntax)가 존재합니다.

 

언어는 Natural language(자연어)와 Artificial language(인공어)가 존재합니다.

먼저 자연어의 경우 우리가 일반적으로 말할 때 쓰는 언어로

문법이 약간 틀리더라도 의미에 중점을 두기 때문에

다 이해를 하고 알아듣습니다.

그러나 인공적인 언어의 경우, 문법이 매우 중요합니다.

철자 하나만 틀려도 컴퓨터는 알아듣지 못하고 실행을 못시킵니다.

 

먼저 processing의 일반적인 문법을 보겠습니다.

 

C언어에서 파생된 언어라고 이전에 설명했습니다.

그러므로 종결자도 C언어와 마찬가지로 ;으로 구분이 됩니다. 

전문용어로 ;(세미콜론)을 종결자(terminator)라고 합니다.

 

그리고 중괄호로 묶여있는 코드들을 종종 볼 수 있는데

이 코드들의 묶음을 블록이라고 합니다.

이 블록들은 조건문, 반복문, 함수 등에 따라

실행 방법이 달라집니다.

 

그리고 processing은 대소문자를 구별합니다.

apple과 Apple을 다르게 처리한다는 것이죠.

이 또한 C에서 파생된 언어라는 특징 때문에 그렇습니다.

 

그리고 위에서 중괄호를 언급했는데

processing에는 여러 괄호들이 존재합니다.

이 괄호들은 무조건 짝을 이뤄야 하며

이를 어길 시 동작하지 않고

에러메시지를 출력합니다.

 

주석(comment)이라는 것을 들어보신 적이 있으신가요?

중국이나 북한과 같은 사회주의 체제의 우두머리를 주석이라고 하기도 하지만

여기서는 부가적인 설명이라는 뜻이라고 이해하면 됩니다.

 

이 주석을 쓰는 이유는 협업(여러 사람이 같이 일함)을 위해서 입니다.

만약 어떤 프로젝트를 하나 진행할 때

자신이 짠 코드를 다른 사람이 쉽게 알아볼 수 있을까요?

그게 쉽지 않습니다. 코드가 길어지면 길어질 수록 말이죠.

그래서 중간중간에 //를 이용하여 코드에 대한 설명을 답니다.

그래서 코드를 처음 보는 사람도 이해를 하기 쉽게 하는 것이죠.

이를 전문용어로 '주석을 단다'라고 합니다.

 

예를 들어

ellipse(25,25,100,100);

이라는 코드가 있다고 합시다.

processing을 처음 배우는 사람은 이게 무슨 코드지 하고 궁금해할 것입니다.

그 때,

ellipse(25,25,100,100);//(25,25)위치에 가로, 세로 지름이 100인 타원

이렇게 주석을 달면 처음 코드를 보는 사람도 쉽게 알 수 있습니다.

 

혹시나 코딩을 할 때 모르는 문법 같은 걸 찾고 싶으면

processing의 상단 bar에 있는

'도움말'의 '레퍼런스 찾기'를 이용하여 해당 정보를 얻을 수 있습니다.

 

그리고 static모드와 active 모드라는 것이 있는데 

static 모드는 말 그대로 정적인 모드로 정해진 기능만 수행하고 종료하는 방식입니다.

예를 들어 프로그램을 실행시키면 딱 정해진 값만 출력되는 형태입니다.

 

반대로 active모드는 사용자와 상호작용을 하면서 반응을 하는 프로그램입니다.

입력받는 값에 따라 결과가 달라지는 그런 형태로

예를 들어 30이라는 값을 입력하면 A라는 결과가 도출,

50이라는 값을 입력하면 B라는 결과가 도출되는 형태입니다.

반응형
2021-01-18 13:15:29
728x90
반응형

컴파일러(compiler): 코드를 통째로 한번에 읽어들여서 번역하므로 장점은 실행속도가 매우 빠르지만 단점은 번역하는데 속도가 느립니다.

 

인터프리터(interpreter): 코드를 한줄씩 읽어들여서 번역하는 것으로 장점은 디버깅(debugging), 즉 오류가 어디서 나왔는지 파악하기 쉽습니다. 번역 속도는 빠르지만 실행속도는 느립니다.

 

프로그래밍 언어의 종류는 매우 많습니다. TIOBE라는 사이트에서 여러 언어들을 찾아볼 수 있습니다.

 

높은 등급의 언어(High Level Programming Language): 인간이 이해가 쉽고 쓰기 쉬운 프로그래밍 언어로 C나 자바, 파이썬 등 보편적인 프로그래밍 언어들이 이에 속합니다. 

 

낮은 등급의 언어(Low Level Programming Language): 기계와 좀 더 가까운 언어로 인간이 알아듣기는 어렵지만 기계가 알아듣고 실행시키는 언어입니다. 영화 매트릭스에 나오는 0과1로 되어있는 언어, 즉 binary code(이진수 코드)가 여기에 속합니다.

 

binary code

Semantics: 어떠한 의미를 가지는지, 의미가 타당한지를 판단합니다.

Syntax: 문법적으로 맞는지를 판단합니다.

 

반응형


이 페이지는 리디주식회사에서 제공한 리디바탕 글꼴이 사용되어 있습니다.