본문 바로가기

프로그래밍 기초

프로그래밍에 필요한 도구들 이벤트 프로시저(event procedure) 혹은 이벤트 핸들러(event handler) : 아이콘을 클릭하거나 메뉴를 선택했을때 등등 이벤트를 호출하는 함수. 이벤트 구동형 : 이벤트 드리븐(event driven)이라고도 함. 이벤트에 따라 정해진 처리를 실행하는 구조. 콘솔 애플리케이션 : 문자 중심의 사용자 인터페이스를 CUI(character User Interface)라고 하며 이런 타입의 명령 프롬프트(dir..., cd...)를 사용하는 애플리케이션을 console application이라고 합니다. 콘솔 애플리케이션으로 프로그래밍할 때, 반드시 메인이 되는 프로그램이 하나만 있는데요, 이것을 메인함수 또는 메인루틴이라고 합니다. 함수 a ↗ 메인함수 ➡ 함수 b ↘ 함수 c 윈도우 애.. 더보기
무한루프와 반복의 중첩(네스트) 무한루프 '오후 1시까지 크리스마스카드를 쓴다.' 는 명령을 실행한다고 가정해 봅시다. 여기에서 크스리스마스카드를 쓰는 행위는 반복(루프) 명령에 해당합니다. 그런데 반복 횟수가 정해지지 않는 명령에 해당합니다. 이럴때 조건문은 '오후 1시까지'가 됩니다. 논리 흐름도를 만들어 보면 위 그림처럼 만들어질텐데, 앞의 것을 '선조건판단', 뒤의 것을 '후조건판단'이라 합니다. 그런데 조건판단문을 만들 때 주의할 점이 있습니다. 반복하는 횟수가 정해져 있을 때, 반복횟수를 세는 카운터를 "카운터의 값이 □□에서 □□사이" 라는 횟수를 지정해 조건문을 달게 됩니다. 보통은 카운터 횟수를 한 번 실시할 때마다 숫자가 하나씩 올라가는 것이 일반적이지만, 프로그래밍언어 중에는 카운터 횟수를 세는 숫자가 하나씩 증가하.. 더보기
반복구조(루프구조) 컴퓨터에게 '1을 다섯번 더하시오' 라는 명령을 내릴 경우, 1. 0+1을 A에 넣으시오. 2. A+1을 B에 넣으시오. 3. B+1을 C에 넣으시오. 4. C+1을 D에 넣으시오. 5. D+1을 E에 넣으시오. 하지만 이것을, '바로 앞의 답에 1을 더하는 일을 다섯번 반복하시오'라고 명령하면 훨씬 간단해집니다. 이렇게 같은 논리로 반복해서 실행하는 구조를 반복구조, 반복구조를 모식도로 그리면 마치 갈고리처럼 생겼다하여 루프구조라고 합니다. 예를 들어, '코끼리코 모양을 한 채, 제자리에서 열바뀌를 뱅뱅 돈 후, 제기차기''를 하는 게임이 있습니다. '뱅뱅 맴돈다.' 라는 동작을 할 때, 1, 2, 3 ... 숫자를 샌다. 컴퓨터가 같은 일을 정해진 숫자만큼 실행할때마다 1, 2, 3 숫자가 하나씩 늘.. 더보기
조건판단 구조와 비교하기! 만약~라면 1. 만약 비가 온다면, 2. 부침개를 만들어 먹는다. 3. 만화책이나 소설책을 읽는다. 4. 청소를 한다. * 2~3번의 부분이 들여쓰기되어 있다는 점에 주의하시길. 들여쓰기를 하면 그 부분이 '만약' 구조문의 일부분임을 한 눈에 알기 쉽습니다. 만약~라면..., 그 이외의 경우는 '내일은 책을 읽자. 만약 비가 오면 부침개를 만들어 먹고 책을 읽자구. 그렇지않으면 청소를 하고 책을 읽자.'도 조건판단구조입니다. '만약'이 많을 때 1. 만약 아이디어 시상식에서 1등이면, 2. 상금 1억원을 받는다. 3. 만약 아이디어 시상식에서 2등이면, 상금 7천만원을 받는다. 4. 만약 아이디어 시상식에서 3등이면, 상금 5천만원을 받는다. 5. 모두 다함께 모여 축하 파티를 한다! 조건판단의 중첩 '.. 더보기
프로그래밍의 흐름 컴퓨터의 제어 구조 : 컴퓨터가 일을 하는 순서를 결정하는 구조. 1. 위에서부터 순서대로 실행한다 - 순차실행 2. 조건을 판단해서 일의 순서를 변경한다 - 조건 판단 3. 동일한 일을 반복해서 실행한다 - 반복 점프 명령을 사용할 때도 있습니다. 예를 들어 프로그램 실행 도중, 에러 발생시 '만약 에러가 검출되면, 에러용 명령으로 점프하시오.' 라는 처리를 실행시키는데요, 이 에러용 명령은 일반적으로 프로그램의 가장 마지막에 기술합니다. 무슨 말인지 잘 모르시죠?^^ 실망마시길~ ... 순차실행 컴퓨터의 명령을 실행할 때는, 아~주 쉽고 자세하게 순서대로 차근차근 말해 줘야 컴퓨터가 혼란을 겪지 않아요! 순서대로 차근차근, 바로 순차실행을 의미합니다. 예를 들어, '청소하라'는 명령을 실행하기 위한 .. 더보기