13.02.2018

Республика. Информатика

Требования

 

      1. Обшие положения

      IVэтап Республиканской олимпиады школьников по информатике будет проводиться на IBM-совместимых (стандартных) компьютерах 30-31 марта в здании КРСУ.

          Будут использоваться только следующие алгоритмические языки:

      1.1) С++ (расширение файла .cpp)

Опции компилятора - VC++ 2015 (IDEVisualStudio 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)

Опции компилятора и запуска JavaSDK 1.6 (IDEEclipse)

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. Подключаемые библиотеки

      2.1) В программу на С++ можно подключать следующие библиотеки: STL (все библиотеки - vector, algorithm, stringи др.), assert.h, ctype.h, io.h, iomanip.h, ios.h, iostream.h, istream.h, limits.h, locale.hmath.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

      2.5) Программы на C# могут использовать System, System.Text, System.IO, System.Collections.

 

      3. Требования к работам и проверка работ

На олимпиаде участники могут работать только на одном из указанных языков, только с трансляторами, предоставленными организаторами. Запрещается использовать другие трансляторы, что-либо вводить в компьютер с других носителей информации и выводить из компьютера на другие носители информации.

      Будут наложены ограничения на время трансляции и на время выполнения программы.

Решением задачи является программа, составленная на одном из разрешенных языков программирования. Программа не должна включать в себя другие файлы или модули. Участник может решать разные задачи на различных (из предлагаемых) языках программирования.

В решениях задач запрещено использовать:

- Вызов системных функций и функций экранного ввода/вывода.

- Работу с подкаталогами.

- Вставки на языке Ассемблер.

- Любое использование сетевых средств.

- Любые другие средства или действия, которые могут нарушить работу программного обеспечения олимпиады.

Решение проверяется на наборе тестов, который недоступен участникам и является одинаковым для всех. Тестирование проводится автоматически, поэтому программа должна в точности соблюдать форматы входных и выходных данных, описанные в условии задачи.  Все входные данные будут корректными и удовлетворяющими всем ограничениям, указанным в условии.

      Проверка осуществляется на платформе WindowsServer 2008 R2 на компьютере со следующими характеристиками:

Процессор - IntelXeonE2650 v2 2.6 ГГц, 2 ядра (аналог Inteli7 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 

 




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

 

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

Информатика боюнча мектеп окуучуларынын республикалык              олимпиадасы 30-31-мартта IBM-ылайыктуу (кадимки) компьютерлерде КРСУнун имаратында жүргүзүлөт.

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

          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 

дарегинде берилет.

 

 

 

 

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

 

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

Информатика боюнча мектеп окуучуларынын республикалык              олимпиадасы 30-31-мартта IBM-ылайыктуу (кадимки) компьютерлерде КРСУнун имаратында жүргүзүлөт.

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

          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 

дарегинде берилет.