제가 처음 C언어를 공부할때는 터보 C 2.0을 가지고 C언어도 공부하고 심지어 업무에도 사용했던 기억이 있습니다. 도트(dot) 프린터로 연속 용지를 가지고 인쇄하던 시절 터보 C 2.0으로 업무에 활용하여 도넛 그래프를 업무 보고에 사용했던 기억이 새롭습니다. 혹시나 해서 찾아보니 누군가 오픈 소스 프로젝트를 올려놓는 소스포지(sf.net)에 Turbo-C 2.0과 3.0을 올려두었군요. 교육용 목적으로 올려두었다는데 참고할만 합니다. http://sourceforge.net/projects/borlandtubroc/files/Borland%20Software/Turbo-C 2.0을 다운로드 받으셨다면 tc.exe를 실행하시면 아래와 같은 화면을 통해서 최근의 이클립스나 비주얼스튜디오 같으 IDE가 ..
아이 때문에 문제를 풀어보기는 하지만 "정말 어렵구나"하는 탄식이 절로 나옵니다. 이럴때는 머리 좋은 사람들이 얼마나 부러운지......그럼에도 불구하고 생각을 조금 집중하면 천재가 아니어도 풀수있는 문제들이 있습니다. 이번에 아이가 질문해온 문제는 아래와 같습니다. * 네 명의 선생님 A, B, C, D 와 다섯 명의 학생 E, F, G, H, I 가 세 개의 조로 나누어서 봉사활동을 하기로 하였다. 다음과 같은 조건으로 세 개의 조 1, 2, 3으로 나눈다고 할 때, 아래 질문에 답하시오.(1) 각 조는 반드시 세 명으로 구성되어야 한다.(2) 각 조에는 적어도 한 명의 선생님이 포함되어 있어야 한다.(3) E와 H는 같은 조에 배치되어야 한다.(4) D와 F는 같은 조에 배치되어서는 안된다.(5) ..
C 언어를 처음 배우는 사람들이 어려워하고 잘 이해하지 못하는 것중에 하나가 포인터(Pointer)와 함께 재귀함수(recursive function)입니다. C언어의 재귀함수는 단순하게 함수 내부에서 자신을 호출하는 것을 의미합니다. 그렇지만 프로그래밍 영역에서 많이 사용하는 개념이니만큼 올림피아드에서도 출제 빈도가 높습니다. 일단 제 아들이 질문한 문제를 먼저 만나보도록 하겠습니다. 이런 문제는 프로그램을 읽는 능력을 알아보기 위한 것으로 실제 업무 영역에서도 프로그래밍 능력은 이러한 프로그램 읽기 능력과 비례한다고 해도 과언이 아닙니다. 재귀함수를 대할 때 가장 유념해야 할 것은 변수의 영향 범위(Scope)입니다. C언어는 함수 내부에 선언한 변수는 지역(Local) 변수로 다른 함수에서는 전혀 ..