Getting Started

Овој документ содржи информации поврзани со натпреварите по информатика за основно и средно образование организирани од страна на ЗИМ, корисни информации за начинот на подготовка на заинтересираните ученици за учество во натпреварите, каде да започнете со изучување на основите на информатиката и програмирањето, препорачана литература, опис на електронскиот систем за спроведување на натпреварите, начинот на испраќање на решенија, и слично.

You seem to be using the English version of MENDO. This page contains information aimed at students from Macedonia (so it hasn't been converted to English). You can read the text here by using Google Translate, or switch to Macedonian by using the links on the top right.

Основни информации

На системот на кој се наоѓате (МЕНДО), постојат повеќе предавања и задачи кои се создадени со цел да им помогнат на сите заинтересирани да навлезат во тајните на програмирањето, како и да ги подобрат нивните познавања од програмскиот јазик C++, и разните алгоритми и податочни структури кои се потребни за имање на успешна кариера како информатичар, или натпреварувач по информатика.

Истите можете да ги пронајдете во делот за "Тренинг", или преку линковите "Научи C++" (за оние кои почнуваат со изучување на програмирањето), и "Алгоритми" (за оние кои што сакаат да научат повеќе, и да станат успешни натпреварувачи).

Дополнително, секоја година, Здружението на информатичарите на Македонија организира циклус на натпревари по информатика, во областа на програмирањето. Натпреварите и подготовките за натпреварите претставуваат одлична можност голем број ученици да навлезат во тајните на програмирањето и на тој начин да создадат една одлична подлога за една перспективна професија, инженер по информатика, како во Македонија така и во светот.

Право на учество на натпреварите имаат сите ученици од основното и средното образование. Циклусот на натпревари се состои од: електронски натпревари, регионален натпревар, државен натпревар и олимпијада. Најдобрите натпреварувачи од целиот циклус натпревари ќе ја претставуваат Македонија на овогодинешните балкански и интернационални олимпијади по информатика.

Во продолжение, наведени се повеќе информации за самите предавања, системот за натпревари, начинот на кој можете да се подготвите за успешно учество на натпреварите, и слично.

Предавања и задачи

На овој систем постојат два типа на предавања, како и задачи од многу домашни и меѓународни натпревари по информатика. Предавањата се поделени во два дела: Предавања за изучување на програмскиот јазик C++, и Предавања за изучување на алгоритми и податочни структури. И двете групи на предавања се напишани од поранешен натпреварувач по информатика со освоени награди на разни натпревари.

Доколку сте почетник, ви препорачуваме да започнете од делот "Научи C++" (линкот можете да го најдете на левата страна од екранот). Понатаму, по изучување на начинот на пишување на програми, можете да продолжите со паралелно решавање на задачи (вежбање), како и изучување на алгоритми од делот "Алгоритми".

Откога ќе ги совладате основите на некој програмски јазик, и ќе стекнете определено искуство со решавање на поедноставни задачи од овој систем (на пример, оние кои се дел од предавањата за C++), можете да ги искористите системите наведени подолу за подобра подготовка за натпреварите, како и учество на меѓународни натпревари (кои, патем, се отворени за учество на сите ученици, преку целата година, бесплатно):

USA Computing Olympiad - комплетен водич за натпревари, со тематско изучување на потребните алгоритми и структури на податоци за успешно учество на натпревари по информатика, од САД. До сајтот можете да пристапите преку следниот линк: http://train.usaco.org/usacogate

CodeForces - сајт со огромен број на членови, на кој се организираат алгоритамски натпревари неколку пати месечно. Истиот го користат ученици, студенти и информатичари од голем број на земји во светот. До сајтот можете да пристапите преку следниот линк: http://codeforces.com

За да пишувате програми, како и да наоѓате грешки во нив, единствено нешто што ви е потребно е IDE - Интегрирана Развојна Околина. Доколку ги следите предавањата од овој сајт, во предавањето наречено "Креирање на вашата прва програма" (едно од првите во делот "Научи C++"), ви е споменато како да ги поставите сите овие работи на вашиот компјутер. Почнете со читање на предавањата, и се ќе стане многу појасно. Споменатите алатки во сите предавања се бесплатни и можат едноставно да се преземат. Истите стандардно се користат и на меѓународните натпревари по информатика.

За крај на овој дел, да ја наведеме и следната книга ("Competitive Programmer’s Handbook"), за која многу натпреварувачи имаат пофални зборови. Истата содржи (слични) предавања како и што можат да се најдат на овој сајт, но на англиски јазик, и со малку поинаков начин на претставување на поимите. Книгата можете да ја пронајдете (во pdf формат) тука: https://cses.fi/book.pdf. Вие можете да одберете дали повеќе сакате да читате предавања на македонски или на англиски јазик.

Опис на системот за натпревари

Системот за натпревари по информатика (наречен Мендо – Македонски електронски натпревари и државни олимпијади) е предвиден како систем на кој корисниците ќе можат да се натпреваруваат, но и во било кој период од денот да решаваат задачи од повеќе минати државни и меѓународни натпревари.

Деловите "Тренинг" и "Натпревари" се предвидени за вакви активности. Во делот "Тренинг" може во секој момент да се испрати задача за оценување, и да се добие повратен одговор од системот. По испраќање на решение за одредена задача, решението се додава во редот за тестирање. По завршување на тестирањето (кое е комплетно автоматизирано, и трае само неколку секунди), на корисникот му се презентираат резултатите од извршувањето на програмата.

Да речеме дека сте прочитале некоја задача од системот, истата сте ја решиле, и сега ја извршувате програмата на вашиот систем и го добивате очекуваниот резултат (доколку тоа не е случај, прво треба да ја пронајдете грешката локално – пред да го испратите решението на системот – бидејќи доколку решението не ви работи локално, малку е веројатно дека ќе работи на системот). Исто така, локално (на вашиот компјутер) на располагање имате IDE кое нуди алатки за пронаоѓање на грешки, извршување на операции ред по ред, итн.

Следно што треба да направите, по решавање на една задача, е да го испратите вашето решение на системот – за таа цел, имате инструкции под текстот на секоја задача. Едниот начин на кој можете да го направите тоа е посочување каде се наоѓа решението (датотеката со изворен код). Вториот начин е да го ископирате целиот код и да го внесете во празниот прозорец кој е предвиден за испраќање на решение.

Доколку праќаме решение на задача во делот тренинг, тогаш веднаш ќе бидеме во можност да ги видиме резултатите од испратеното решение. Но, доколку праќаме задача во делот натпревари, резултатите ќе бидат соопштени по завршување на соодветниот натпревар.

Останати информации

За крај, би сакале само да наведеме дека системот за натпревари е целосно автоматизиран и него можете да го користите 24/7. Покрај тестирање на решенија, преку форумот можете да комуницирате со останатите натпреварувачи (како сегашни, така и поранешни), нивните ментори, членовите на комисијата за натпревари, итн.

Доколку погорниот текст ве заинтересира, веднаш можете да почнете со читање на предавањата од овој сајт, или решавање на некои од задачите. Повеќе информации за натпреварите можете да најдете и на веб-сајтот на Здружението на информатичарите на Македонија - http://www.cs.org.mk.

На сите кои ќе решат да земат учество во натпреварите, им посакуваме успех.