/***********************************************************************
제작자: 신대용
제작일: 2005년 1월 18일 화요일(오늘 아침에 스터디 모임있을예정)
제작시작시간: 01시 1분
제작완료시간: 03시 41분
주제: 플로우 컨트롤(1)
************************************************************************/
잡담.
한동안 강좌를 쓰지 않았다.
그 이유는 내 사이트를 완성 하자는 것 이었지만
어쩌다 보니 일이 이 상황까지 왔다.
요센 웹프로그래밍이 잘 안된다. 해도 금방 실증이 나버려서 ^^ 헤헤
이런저런 일이 있었지만 중요한건 "꾸준히" 이니깐 ^^
이 강좌는 내 소중한 사람들이 조금이라도 시간을 아껴 쓸수 있기를 바라면서 쓴다.
저는 일단 여러분을 프로그래밍을 처음 배우는 사람이라고 가정하고 강좌를 계속 할 것입니다. 그것이 오히려 강좌를 쓰는 저나 강좌를 보는 여러분이나 편할 것이라고 생각합니다.
자 그럼 강좌 시작합니다.
Flow control(플로우 컨트롤)?
오늘 부분은 그냥 읽으십시요 외울 필요없습니다.
어렵다고 다시 보거나 하지 마시고 그냥 쭉 읽어 주십시오.
Flow Control 이란건 다음에 어떤 명령이 실행될지 결정하는것 입니다.
명령의 흐름, 명령의 순서죠
실제 프로그래밍에서는 Flow Control을 신경쓰면서 프로그래밍 하지는 않습니다.
왜냐면 Flow Control이 프로그래밍의 일부이니깐요^^
동생이 있다고 가정해 봅시다.
동생한테 잔심부름을 시킵니다.
1. 슈퍼에 가서
2. 과자를 사와라
3. 아이스크림은 쮸쮸바가 있으면
4. 쮸쮸바를 사오고
5. 없으면 콘을 사와라
분명 명령이죠? 동생이 해야 할일을 하나씩 적었습니다.
실제로 컴퓨터는 한번에 하나씩 밖에 일을 못하니깐요^^ 바보죠 ㅎㅎ
만약 쮸쮸바가 있으면 4번 명령이 없으면 5번 명령이 실행됩니다.
명령의 흐름이 3번의 조건에 따라 결정됩니다.(여기서 조건은 쮸쮸바가 있느냐 없느냐)
이것이 바로 Flow Control입니다^^
명령의 흐름에는
순차, 분기, 반복이 있습니다. 물론 이것들은 하나씩 있는게 아니라 같이 섞여 있죠^^
순차는 하나씩 하나씩, 첫번째 명령,두번쨰 명령실행하는것이고 기본적으로 일어나는 일입니다.
분기는 첫번째 명령에서 갑자기 "어느 명령이 있는곳으로 가라"하면 그 명령이 있는 곳으로 가서 그 명령이 있는 곳에서 부터 명령을 시작하는 것입니다.
반복은 첫번째 명령 두번째 명령 다시 첫번째, 두번째 이런식으로 같은 명령을 반복해서 수행하는것입니다. 뭐 말하자면 두번째를 실행하고 첫번째로 분기 하는것이죠 ㅎㅎ
저의 하루를 이런 식으로 간단하게 나타내면
1.일어난다.
2.씻는다.
3.밥이 차려져 있는가?(조건)
4.그렇다면 밥을 먹는다.(참)
5.그렇지 않으면 밥을 직접 차려 먹는다.(거짓)
6.컴퓨터 공부를 한다.
7.배가 고프면(조건)
8.간식을 먹는다.(참)
9.잔다.(이 부분이 실행된후 1번으로 이동)
이렇게 나타낼수있겠네요. 1번에서 2번으로는 순차 적으로
3번 조건에 따라 4,5번중에 하나가 실행되고
7번에따라 8번이 실행되겠네요?(9번은 7번조건의 영향을 안받습니다)
중요한것은 3번 조건이 맞으면 4로 틀리면 5번으로 분기 한다는 것입니다.
이것을 조건 분기 라고 합니다. 요즘 프로그래밍에서는 보통 대부분이 그냥 분기는 없고 대부분 조건 분기 입니다.(일반적인 분기를 잘 사용하지 않는 이유는 나중에 말씀드리겠습니다.)
9번까지 실행이 되고나면 다시 1번으로 분기합니다. 이런 일이 계속 반복해서 일어나게 됩니다.
아무런 조건이 없으니 무한히 반복합니다. 무한 반복이라고 합니다.
방학동안만 이라는 조건이 있다면 방학동안만 이러한 생활이 반복 될수있습니다. 조건 반복이겠죠?
이렇게 해서 명령의 흐름에는 순차, 분기, 조건 분기, 반복, 조건 반복 있습니다.
프로그래밍에서 명령을 문(Statement)라고 합니다.
그래서 굳이 프로그램의 어떤부분을 말할때(순차는 기본적이므로 언급안합니다)
분기문, 반복문 이렇게 말하기도 한답니다.(대부분 조건이기에 조건이라는 말 역시 제외)
나중에 우리는 분기문으로는 goto
조건 분기문으로는 if, swtich등을 배울것이고
반복문으로는 for,while문등을 배울것입니다.
오늘 한것을 정리 하겠습니다.
Flow Control이란것은 프로그래머가 다음에 어떤 문(Statement)이 실행될지 조건문,반복문등을 사용하여서 조절 하는것 입니다.
한줄을 말하기가 이렇게 힘들다니 정말 몰랐습니다. 벌써 새벽 3시 38분이네요.
내일 약속있는데 ㅜㅜ
