한국정보올림피아드 경시부문 언어변경 요약


1. 대회언어변경

  o 1998년 개발된 대회용 언어를 변화하는 프로그래밍 환경에 맞추어 전세계 공용의 표준 C/C++언어로 변경하여 국제 경쟁력 제고

  o 한국정보올림피아드 경시부문 대회용 프로그램언어를 기존 Visual  C++ 6.0 과 Visual Basic 6.0을 최신 리눅스버전의 표준 C/C++(OS : Ubuntu 12.04 LTS i386, Gnome Classic)언어로 변경하여 실시


2. 대회용 언어변경 

 구분

변경 전  변경 후 
 OS

 Windows XP / 7

 Ubuntu Linux 12.04
 컴파일러  Visual C++, Visual Basic  GNU C/C++ Compiler
 IDE  Visual Studio 6.0  Eclipse / Code::Blocks


3. 대회용 언어설치

 구  분  PC에 직접설치  가상머신으로 설치
 OS   - Linux OS 직접설치  - Windows에서 Linux OS가 가상으로 동작하도록 설치
 설치시 필요 매체  - 설치용 CD 나 USB 필요  - 가상이미지화일 필요
 PC 활용  - 100% 활용  - 일부만 활용
 설치 및 복구 - Windows를 포맷 또는 Linux를 위한 별도 파티션 필요
- 원래 환경으로 복귀가 어려움
 - 설치 간단
- 쉽게 원래 PC환경으로 복귀 가능


4. C++컴파일러와의 차이점 


o main

    - int main() 형태로 사용하는 것이 표준프로그램이 종료될 때 무사히 종료되었다는 뜻으로 0을 return 함

 기존 환경(Visual C++)

 바뀌는 환경(G++)

 void main() {
      할일들 

 }

  int main() {

      할일들 

     return 0;

 }


o variable scope

    - for문 안에서만 사용하도록 정의된 변수 i 가 for문 밖에서도 사용 가능한 것은 VC++의 버그

 기존 환경(Visual C++)

 바뀌는 환경(G++)

 for(int i = 0; i < 10; i++)

       printf("%d ", i );

 printf("%d ", i );

 int i;

 for(i = 0; i < 10; i++)

       printf("%d ", i );

 printf("%d ", i );


o 64bit integer
    - 21억 이상의 값을 변수에 넣을 때, 기존에는 __int64 형을 사용했으나 바뀐 환경에서는 long long 형을 사용해야 함

 기존 환경(Visual C++)

 바뀌는 환경(G++)

 __int64 gib_num = 10000000;
 big_num *=big_num;
 printf("%I64d", big_num);
  long long gib_num = 10000000;
 big_num *=big_num;
 printf("%lld", big_num);


o itoa
    - itoa는 표준에 정의되어 있지 않은 함수로, VC++에서만 제공되는 함수

 기존 환경(Visual C++)

 바뀌는 환경(G++)

 int a = 10;

 char str[10];

 itoa(a, str, 10);

 int a = 10;

 char str[10];

 sprintf(str, "%d", a);


o 평소에 C/C++ 표준을 지켜 코딩하는 버릇을 들였다면 크게 차이가 없고, 그렇지 않더라도 언급된 네 가지 정도만 주의하면 별도의 적응 시간 없이 변경 가능

 기존 환경(Visual C++)

 바뀌는 환경(G++)

 void main(X)  int main(O)
 __int64(X)  long long(O)
 itoa(X)  sprintf(O)
 변수는 선언한 곳 안에서만 사용


5. 
KOI 경시부문용 프로그래밍언어 Linux 설치방법

1) 컴퓨터에 직접설치

  o Ubuntu 12.04 다운로드
    - PC사양에 맞게 2개의 파일 중 선택 (i386 : 32bit 운영체제, amd64 : 64bit 운영제체)




  o CD 혹은 USB로 굽기
    - CD로 구울 경우

    

- USB로 구울 경우


     ·우분투 홈페이지에서 Download → Desktop 선택

     ·How to create USB stick에서 설명되어 있는대로 진행


  o 재 부팅 후, 부팅 장비 우선순위 설정
    ·모양은 컴퓨터마다 다를 수 있으나, CD나 USB를 가장 위로 올려주시면 됩니다


   o 리눅스 실행 화면



  o USB나 CD 상에서 그냥 사용할 수도 있고, 필요할 경우 Windows 처럼 컴퓨터에 직접 설치할 수 있습니다
  o 직접 설치하려면 Install Ubuntu 아이콘을 클릭한 후 절차대로 따라하면 됩니다


 2) 가상머신으로 설치

  o Oracle virtual box 설치



  o KOI 가상 이미지 파일 확보


 https://www.dropbox.com/s/3rtnqlelfsn0e2x/KOI.ova 
  o Virtual box를 켜고, 파일을 목록으로 드래그
    - 메뉴에서 파일→가상 시스템 가져오기 실행

  o 가져오기 클릭


  o KOI를 선택한 후 시작 클릭

  
o 초기 아이디 student, 비밀번호 olympiad


6. IDE 사용하기


  o Files -> New -> Project를 선택한다

  o Console Application을 선택하고 Go를 누른다

  o Next 를 누른다

  o C++ 선택 후 Next를 누른다


  o Finish를 누른 후, 왼쪽 창에서 main.cpp를 찾아 연다

  o main.cpp에서 문제를 푼다

  o Build -> Build and run을 하면 프로그램이 컴파일된 후 실행


  o Code::Blocks : UI 인터페이스가 Visual Studio와 비슷하고, 프로젝트 생성이나 디버그 등의 기능을 대부분 비슷하게 지원하므로 쉽게 적응할 수 있음

  o 그 외에 Eclipse, Emacs, Vim 등의 에디터도 사용 가능

7. 관련자료를 받을 수 있는 주소
   - Oracle Virtual Box : https://www.virtualbox.org/wiki/Downloads/ 
   - KOI 가상 이미지 파일 :  https://www.dropbox.com/s/3rtnqlelfsn0e2x/KOI.ova
   - 정보올림피아드 홈페이지 자료실 : https://www.digitalculture.or.kr:446/sub07/AllselectInfoTrainingList.do

Posted by 파이군
,

2013년도 한국정보올림피아드 일정입니다.

o 한국정보올림피아드대회 경시부문
- 지역대회(예선) : 2013. 05. 25(토) 10:00 ~ 12:00 (객관식 5지 선다형 40문항) 
- 지역대회(본선) : 2013. 06. 22(토) 14:00 ~ 18:00 (4 ~ 5문항)
- 전국대회(본선) : 2013. 08. 02(금) 09:00 ~ 18:00 (4 ~ 5문항) 
. 예비소집 및 개회식 : 2013. 08. 01(목), 15:00
. 개최장소 : 충청북도 청주시에서 개최 예정
※ 전국대회 세부계획 추후 발표 예정

o 한국정보올림피아드 공모부문
- 작품접수 : 2013. 07. 22(월) ~ 07. 26(금) 
- 서면심사 : 2013. 07. 29(월) ~ 08. 19(월) 
- 대면심사 : 2013. 08. 30(금) ~ 08. 31(토) 
※ 전국대회 세부계획 추후 발표 예정

o 경시부문 대회용 언어변경관련 사항
- 2013년부터 경시부문 대회용 프로그래밍언어는 기존 Visual C++ 6.0 과 Visual Basic 6.0을
최신 리눅스버전의 표준 C/C++(OS : Ubuntu 12.04 LTS i386, Gnome Classic)언어로 변경하여 실시
- 언어변경관련 자료는 자료실(https://www.digitalculture.or.kr:446/sub07/IOselectInfoTrainingList.do)에서
다운받으실 수 있습니다. 

o 기타사항
- 참가자격은 대한민국 국적의 모든 청소년(교육법상의 취학연령 기준)
- 경시부문과 공모부문 세부일정은 추후 공지 
- 경시부문과 공모부문(2인 1팀도 가능)에 중복 참가 가능
- 시, 도 교육청의 예선대회를 통과하여 해당지역 교육청의 추천을 받은 학생을 대상으로 전국본선대회개최 

o 지역예선대회 관련 세부일정은 해당지역 교육청(원) 홈페이지에 추후 게재 예정 

o 기타 문의사항은 smk@nia.or.kr로 문의 바랍니다.(연락 받으실 전화번호를 남겨주시기 바랍니다.)

Posted by 파이군
,