13.02.2018

Информатика

БИРИНЧИ БИЛДИРYY

 

      1. Жалпыжоболор

Информатика боюнча мектеп окуучуларынын олимпиаданын III этабы 12-13 мартта IBM-ылайыктуу (кадимки) компьютерлерде жүргүзүлөт. Бишкек шаарындагы жана Чүй областындагы олимпиадалар КРСУ имаратында, башка областтагы олимпиадалар on-line режиминде жүргүзүлөт. (Кроме г. Ош и Ошской области. Там олимпиада пройдет off-line)

Төмөнкү алгоритм тилдери гана колдонулат:

          1.1) С++ (файлдын кенейиши .cpp)

Компилятордун опциялары:  VC++ 2015 (IDE Visual Studio 2015)

cl.exe /EHsc /F67108864 /DONLINE_JUDGE /O2 {source}

Компилятордун опциялары:  GNU C++11 (IDE CodeBlocks 16.01)   

g++.exe -static -DONLINE_JUDGE -lm -s -x c++ -Wl,--stack=268435456 -O2 -std=c++11 -D__USE_MINGW_ANSI_STDIO=0 {source}

1.2) Java (SDK 1.6) (файлдын кенейиши .java)

Компилятордун жана иштетиштин опциялары: Java SDK 1.6 (IDE Eclipse)

Java -O {source}

Java -Xmx512M -Xss64M -DONLINE_JUDGE=true -Duser.language=en -Duser.region=US -Duser.variant=US -jar

      1.3) Pascal (файлдын кенейиши .pas, .dpr)

Компилятордун опциялары: Free Pascal 2.4.4 (IDE Free Pascal)

ppcrossx64.exe -O2 {source}

      1.4) Python (файлдын кенейиши .py)

Компилятордун опциялары: Python 3.4 (IDE IDLE)

build_exe.exe {source} -d .

      1.5) C# (файлдын кенейиши .cs)

Компилятордун опциялары: C# 6 (IDE Visual Studio 2015)

csc.exe /platform:x86 /o /d:ONLINE_JUDGE /r: System.Numerics.dll {source}

 

      2. Кошуп байланыштырылуучу маалыматканалар (libraries)

      2.1) С++’та төмөнкү маалыматканаларды кошуп байланыштырууга уруксат: STL (бардык маалыматканалар: vector, algorithm, string и др.), assert.h, ctype.h, io.h, iomanip.h, ios.h, iostream.h, istream.h, limits.h, locale.h math.h, memory.h, minmax.h, ostream.h, search.h, stdio.h, stdlib.h, string.h.

      2.2) Java’да программалар java.io, java.lang, java.math, java.text, java.util, java.util.regex пакеттеринин бардык класстарын импорттоого уруксат.

      2.3) Pascal’да программалар System, Math, SysUtils модулдарын колдонушка уруксат.

      2.4) Python’до программалар Python кадимки маалыматканасынан (standard library) импортторду колдонушка уруксат.

      2.5) C#’та программалар System, System.Text, System.IO,                        System.Collections колдонушка уруксат.

 

      3. Ишке талаптар жана ишти текшерүү

Олимпиадада катышуучу айтылган тилдердин биринде гана, уюштуруучулар сунуштаган котормогучтар (трансляторлор) менен гана иштешке уруксат. Башка котормогучтарды колдонууга, башка маалымат кармоочудан  бир нерсени компьютерге киргизүүгө жана компьютерден бир нерсени маалымат кармоочуга чыгарууга болбойт.

      Программаны которуунун (трансляциялоонун) жана аткаруунун убакыты чектелет.

Маселенин чыгарылышы уруксаты бар тилдердин биринде жазылган программа болот. Ал программа башка файлды же модулду өзүндө кармоого болбойт. Катышуучу ар түрдүү маселелерди ар түрдүү (уруксаты бар) тилдерде чыгарышка уруксат.

Маселенин чыгарылышында төмөнкүлөрдү колдонууга болбойт:

- системалык функцияларды жана дисплейдеги киргизүү/чыгаруу функцияларын чакыруу;

- жарым каталогдор (subdirectories) менен иштөө;

- Ассемблер тилинде бөлүмдөрдү киргизүү;

- тармак каражаттары каалаган колдонуу;

- олимпиаданын программалык жабдуусу жүргөнүн бузуучу каалаган чаралар же аракеттер.

Чыгарылыш жалпы тесттердин тобу аркылуу текшерилет. Ал топ катышуучуларга бара алгыс. Тесттөө автоматча жүргүзүлөт, ошондуктан программа маселенин шартында жазылган кирүү жана чыгуу берилиштеринин калыптарын (форматтарын) сакташ зарыл. Бардык кирүү берилиштери корректтүү жана шартта жазылган чектөөлөрүн канааттандыруучу болот.

      Текшерүү Windows Server 2008 R2 платформасында, төмөнкү мүнөздө-мөлөргө ээ болгон компьютерде болот:

процессору - Intel Xeon E2650 v2 2.6 ГГц, 2 ядросу (Intel i7 3.2 ГГц аналогу);

ыкчам эси – 8 Gb.

 

         4. Иштерди көрсөтүүнүн мисалары (эң жөнөкөй тапшырма: А жана В эки бүтүн санын киргизип, суммасын чыгаруу)

4.1. С++ (STL) тили:

#include <iostream>
using namespace std;
void main()
{
            int a, b;
            cin >> a >> b;
            cout << a + b << endl;
}

 

С++ (STL'сыз) тили:

#include <stdio.h>
void main()
{
            int a, b;
            scanf("%d %d", &a, &b);
            printf("%d\n", a + b);
}

 

4.2. Java (Java 1.6) тили (башкы класстын аталышы Solution деген болуш зарыл):

import java.util.Scanner;
 
public class Solution
{
       public static void main (String[] argv)
       {
         Scanner sc = new Scanner(System.in);
         int a, b;
         a = sc.nextInt();
         b = sc.nextInt();
         System.out.println(a + b);
       }
}

 

4.3. Pascal тили:

var a, b: integer;
begin
            Read(a, b);
            Writeln(a+b);
end.

 

4.4. Python 3.4 тили:

a, b = map(int, input().split(' '))

print(a + b)

 

4.5. C# тили:

using System;
 
class Program
{
    static void Main(string[] args)
    {
         string[] s = Console.ReadLine().Split(new char[]{' '});
         int a = int.Parse(s[0]);
         int b = int.Parse(s[1]);
         Console.WriteLine(a + b);
    }
}

     

         5. Катышуучулардын билимине жана билишине талаптар

Катышуучулар төмөнкүлөрдү билиши керек:

      1) Мектептин математика, физика, география курстарынын терминологиясы жана негиздери; кыргыз тилинин алфавитин жана негизги эрежелери; латын алфавитин жана англис тилинин негизги орчундуу сөздөрү (буйруктары);

      2) информатиканын башкы түшүнүктөрү: маалыматты ченөө бирдиктери, алгоритм түшүнүгү;

      3) алгоритмди көрсөтүүнүн жолдору жана алардын негизги конструкциялары (сызыктуу, тармактануу, кайталоо), алардын жазуу эрежелери жана аткаруу өзгөчөлүктөрү; өзгөрмөлөрдүн символдук жана сандык түрлөрү, алар менен амалдардын ыкмалары; 

     4) С++, Java, Pascal, Python, C# алгоритм тилдеринин бири. Колдонулуучу маалыматканалага чектөөлөрдү жогоруда к.

      5) математика жана информатика курсу боюнча жөнөкөй маселелерди чыгаруунун алгоритмдери: бөлүнүүчүлүктү аныктоо жана бүтүн сандарды калдыгы менен бөлүү; сызыктуу жана квадраттык теңдемелерди чыгаруу; бир нече сандардын ичинен эн чоңун жана эң кичинесин табуу; берилген касиети бар бүтүн сандарды издөө, символдорду жана алардын айкалыштарын сөздөрдөн издөө, эсептөө жана алмаштыруу; сандарды символдук формадагы жазуудан сандык жазууга которуу жана тескерисинче которуу.

      6) компьютерде маселелерди чыгаруунун этаптары; программаны тесттөөнүн жана жөндөөнүн негизги жолдору.

7) Катышуучулар төмөнкү билгичтерге ээ болушу керек:

      - IBM-ылайыктуу компьютерде иштей алуу;

      - көп кайталап иштөөчү алгоритмдердин иштөө убактысын баалоо.

      - массив (таблица, берилиштердин тизмеси) жөнүндөгү түшүнүктү билүү;

      - тандалып алынган алгоритмдик тилде массивдик операторлор менен иштөө.

6. Олимпиаданы өткөрүүнүн шарты. Олимпиадада катышуучуда кандайдыр бир маалымат инсандын күбөлүгү түрүндө гана, эки калем, саат (кошумча аспапсыз) болууга уруксат. Уюл телефондор, каалаган байланыш куралдары, каалаган жазылгандар болууга болбойт. Черновик үчүн кагаз берилет.

 

7. Мындан аркы маалымат 

olymp.krsu.edu.kg/OlympKyrgyz.aspx 

дареги боюнча берилет.