정보올림피아드 본선에 진출 하기 위해서는 이제는 수학 문제 뿐만 아니라 어느 정도의 프로그래밍 실력도 필요하게 되었습니다.
실제로 몇년전만 해도 정보올림피아드 본선대회에 진출하기 위해서는 지역대회 예선에서 필기문제 통과후 지역대회 본선에서는 프로그래밍 문제를 통과 해야만 전국 본선에 진출 했던 적이 있었습니다.
이렇게 예선과 본선으로 나누어지지는 않지만,
올해 부터는 지역예선에서 필기문제(수학)와 프로그래밍 구현능력(50~60%)이 부활되었습니다.
그래서 오늘은 프로그래밍을 잘 하기 위한 팁을 살펴 보도록 하겠습니다.
1. 주석을 먼저 작성하자. - 실제로 프로그래밍을 구현할때 설계가 가장 중요합니다.
이러한 설계 내용을 먼저 주석으로 어떤 흐름으로 작성할 것인지 주석 처리를 해 놓는다면 구현할때 그 시점시점에서 정확하게 구현해 놓을 수 있습니다.
또한 주석을 제대로 작성 할 수 없다는 것은 그 프로그램에서 해야 하는 일을 제대로 이해하지 못한다는 것을 의미하기 때문에 이런 작업 자체가 매우 중요하다고 할 수 있습니다.
또한 프로그램을 디버깅 하는 것 보다 주석을 디버깅 하는 것이 훨씬 편하기 때문에 주석을 입력하는데 들어가는 시간은 정말 중요한 투자라고 봐야 합니다.
물론 경시대회에서는 시간제한이 있기 때문에 이러한 과정을 생략하는 것이 일반적이지만 그렇다고 해도 이러한 설계 과정을 표현해서 작성해 놓는 것은 매우 중요한 일입니다.
2. 모든 변수가 어떤 용도로 쓰이는지 알수 있도록 변수명을 만들자 - 변수를 선언 할 때에는 그 변수가 어떤 용도로 쓰이는지 알수 있도록 주석을 처리 하는 것도 중요하지만 한번 봤을때 정확히 이 변수가 어떤 용도로 사용되는지 알 수 있도록 작명을 하는 것이 무척이나 중ㅇ합니다.
그 변수가 어떤 역할을 하는지 제대로 알수 없다면 프로그램을 작성하다 보면 그 변수의 역할을 확인하기 위해 처음 부터 확인을 해 봐야 하는 일이 발생 할 수 있습니다.
3. 사용자 정의 함수를 활용하자 - 사용자 정의 함수를 이용하지 않을때는 이중,삼중 for 문 등을 이용하게 될때 코드의 복잡성으로 생각하는 것이 복잡해 지고 코드를 분석할때에도 복잡해 질 수 있습니다.
이런 경우 사용자 정의 함수를 만들어서 적절한 매개변수를 넘겨 주어 호출 하는 방법으로 처리하면 가독성도 좋아지고 생각하기에도 무척이나 편리해 집니다.
4. 디버깅을 잘 활용하자 - 시스템에 있는 디버깅 환경을 사용하는 방법을 숙지하는 것은 무척이나 중요합니다.디버깅 환경을 사용하면 특정 구문이나 조건에 따라서 실행을 멈추고 관련 변수의 값을 모두 확인 할 수 있습니다. 보통 출력문을 이용해서 출력해서 확인해 보는 것보다 이 방법이 훨씬 낫습니다. 하지만 디버깅 용도의 출력 코드를 직접 집어 넣고 싶다면 뭔가 의미가 있는 내용을 출력하게 만드는 것이 낫습니다. 디버깅 출력시 디버깅에 필요한 변수와 변수명을 출력 하는 것이 의미가 있습니다. 이렇게 하지 않으면 어떤 구문에서 어떤 용도로 출력 되는지 확인 하는 것이 어려울 수 있습니다.
프로그램 구현 시 도움이 되길 바라는 마음으로 작성해 보았습니다.^^
'강의자료 > 정보영재' 카테고리의 다른 글
초등학생 학부모님의 질문에 대한 답변을 올려 봅니다. (9) | 2019.04.05 |
---|---|
비버챌린지 2014 아이스크림 (6) | 2019.04.03 |
2014 비버챌린지 - 보트의 창문 문제입니다. (6) | 2019.03.27 |
정보올림피아드(KOI) 대비 팁 (7) | 2019.03.26 |
분할 정복과 동적 계획법을 이용한 기초 프로그래밍 (6) | 2019.03.21 |