Get Mystery Box with random crypto!

#жазба 5. Программалау ~ Шахмат?! Жалпы программалау дегенде | Менің ой жазбаларым

#жазба 5. Программалау ~ Шахмат?!

Жалпы программалау дегенде көбі ауыр, әрі қиын жол деп түсініп, оған жолағылары келмейді.

Программалау үйрену дегенді шахмат үйренумен бірдей деп айтсам, сенер ме едіңіздер?

Алдымен шахмат фигуралармен танысқандай, программалау тілдерінің синтакстерін жазуды үйренесіздер, яғни шахматта қай фигура не қызмет атқара алады, қалай жүре алады деп, ал программалауда фигуралардық қызметтерін - командалар атқарады.

Ал шахмат тақтасы, ол сіздің программалау ортаңыз, не қолданатын программалау тілдеріңіз, яғни python, c++, java, php секілді. Бірақ шахмат тақтасы тек 8х8 деп шектелсе, ал әр программалау тілдерінің мүмкіндігі әр түрлі.

Егер шахматта әрдайым 2 түспен 2 ойыншы ойнай алса, ал программалауда сіздің негізгі қарсыласыңыз, программа жазудаға сізде шыға беретін код қателіктері (Error) жою болады.

Енді шахматта бір ойын партиясы екі ойыншының бірінің берілуімен, яғни Шах-Мат деп аяқталса, не мәңгі теңдік (ничья) болғанда ғана партия бітетін болса, ал программалаудағы ойын партиясы ол сізге қойылған тапсырманың нәтижесімен аяқталады.

Жақсы мысал ол олимпиадалық есептерді шығару, әр есепте өзінің тапсырмасы бар, соны шешу арқылы соңына дейін жетеміз.

Шахматты көп ойнау арқылы, түрлі қарсыластарды көру арқылы шаңдаласыздар. Сол секілді программалауда түрлі есеп шығару арқылы неше түрлі алгоритм мен логикалармен танысып шаңдаласыздар.

Жалпы шахматтың пайдасы не дегенде, көбі алдын ала 7-ходқа дейін ойлануды үйретеді, стратегия құруды, атака мен қоғаныш қабілеттерді үйретеді деуі мүмкін.

Ал программалаудың пайдасы не деген де, дәл жоғары да аталғандар, және өмірдегі қолданысқа үйретер. Дұрыс ойлау мен алгоритмін құрудан бөлек, оптималдық шешімдерді табуды үйретеді.

Шахматта өзінің деңгейлерін көру мақсатта арнайы жарыстар, турнирлерге қатысу арқылы разрядттарды алып жатасыз. Сондай жарыстарды программалау тілінде контесттер дейді.

Яғни әр контестте 3-10 есептер болып, сол есептерді шығару арқылы ғана өз деңгейіңізді байқайсыз.

Сондай контесттерді ұйымдастыратын платформаларда алуан түрлі: codeforces, leetcode, hackerrank, т.б. сияқты толып артылады.

Енді осы жазба соңында (төмендегі фото-постта) сондай контесттің бірі жайлы айтпақпын.