Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Nyob zoo, cov neeg nyob hauv Khabrovsk!

Hauv tsab xov xwm no kuv xav tham txog kuv qhov kev paub dhau los ua C ++ programming tus kws qhia ntawv hauv tsev kawm qib siab hauv tsev kawm txuj ci. Nws yog ib qho kev paub dhau los hauv lub neej uas qhia kuv ntau yam. Thaum nws los txog rau qhov tseeb nthuav los ntawm koj tus kheej yav dhau los, zaj lus ntawm lub neej no yog ib qho ntawm thawj zaug los rau hauv siab.
Peb mus.

Ua ntej, me ntsis txog kuv tus kheej.
Nyob rau hauv 2016, kuv kawm tiav los ntawm lub koom haum nrog honors nrog ib tug degree nyob rau hauv cov ntaub ntawv Security ntawm Automated Systems. Thaum kuv kawm, kuv tau rov qab paub kuv lub peev xwm los sau cov ntawv tshawb fawb, koom nrog kev sib tw thiab nyiaj pab. Hauv xyoo 2015, kuv tau muaj sijhawm los ua tus yeej ntawm All-Lavxias kev sib tw rau cov kws tshawb fawb hluas "UMNIK". Xyoo 2016, ua ntej nws kawm tiav, nws twb tau ua haujlwm nyob rau hauv ib lub koom haum loj hauv nroog ua "Information Security, Cryptography thiab Encryption Specialist."
Hauv luv luv, ib yam dab tsi zoo li no. Koj tuaj yeem xav tias kuv tseem muaj lub tswv yim txog kev ua haujlwm.

Thiab ntawm no nws yog 2017. Kev kawm tiav qib siab. Kuv raug hais kom qhia C ++ ntawm ib lub tsev kawm ntawv qib siab rau ib lub semester, uas kuv tau cog lus tias yuav tau txais txiaj ntsig zoo los daws cov teeb meem ntawm cov tub ntxhais kawm tiav thiab tsis muaj dab tsi ntxiv.

Yuav kom ncaj ncees, kuv tau ua siab dawb xav sim kuv tus kheej hauv qhov kev ntseeg no.

Thawj khub
Cuaj hlis. Thawj lub lim tiam ntawm tsev kawm ntawv. Cov tub ntxhais kawm tuaj rau kuv. "Cov pab pawg neeg tsis zoo" - qhov ntawd yog qhov lawv hu ua.
23 cov neeg. "Programmers".

Raws li kev cia siab, thawj zaug kuv qhia kuv tus kheej. Kuv discreetly qhia lawv cov ntsiab lus ntawm ntu "Ua ntej, me ntsis txog kuv tus kheej" ...
Ces qhov txaus ntshai pib. Rau lo lus nug "Koj tuaj yeem ua dab tsi?" cov tub ntxhais kawm (peb yuav hu lawv tias txij no mus) teb tias lawv tuaj yeem ua tau me ntsis ntau dua li tsis muaj dab tsi hlo li (zoo, qhov no txhais tau tias qee tus paub tias MS VS zoo li cas thiab tuaj yeem tsim qhov project "Hello world"). .. Programmers. Xeem kawg…

Tsis tas li ntawd, lawv tau piav qhia meej, "xim", uas lawv tsis tau qhia dab tsi thiab feem ntau lawv poob siab hauv kev ua haujlwm ...

Yuav luag txhua hnub kom txog thaum kuv zaj lus qhia tom ntej mus zoo li no:
Lub hauv paus ntawm ib qho programming ntawm ... puzzles

... tab sis hnub ua ntej, lub tswv yim tau sawv los siv zog los kho qhov xwm txheej tam sim no hauv lub siab thiab kev nco qab ntawm cov tub ntxhais hluas no. Thiab ces "Ostap tau nqa mus."

Taw qhia rau Programming
Rau zaj lus qhia tom ntej kuv coj ... ib tug puzzle.
Yog lawm. Puzzle. "Yuav Ua Li Cas Qhia Koj Zaj." Cov cai tau yooj yim. Cov pab pawg tau muab faib ua 3 pawg. Txhua pab pawg tau sib sau ua ke nws qhov chaw. Ib txhia yog hav zoov, lwm tus yog lub ntiaj teb, lwm tus yog zaj nyob rau hauv nruab nrab ntawm daim duab. Thaum tag nrho cov khub niam txiv tab tom sib sau ua ke, kuv hais rau lawv tias muab tso ua ke ib tug puzzle yog programminguas programmers feem ntau siv lwm tus code, tias txhua qhov project muaj ntau pawg sib txawv, nta, modules ...
Maj mam, cov tub ntxhais kawm uas qaug zog tshaj plaws tau koom nrog txoj haujlwm.
Thaum kuv ua tiav rubbing lub tswv yim ntawm programming rau hauv kev lag luam cov tswv yim, cov txheej txheem thiab ... cov kev sib tw, nws yog lub sijhawm los tsim cov cai ntawm kev cob qhia.
Rau txhua zaj lus qhia, txhua tus tub ntxhais kawm yuav tsum tau sau 10 nqe lus los ntawm IT hauv phau ntawv sau. Ib qho. Txhua tus muaj lawv tus kheej. Lub ntsiab lus yog tias kuv nqa ib tus menyuam kawm ntawv phau ntawv thiab pom ntawm txhua nqe lus siv ntau tshaj thiab nug lwm tus tub kawm txog lawv. Thaum lwm tus tub ntxhais kawm hais tias, "Kuv tsis tau sau lo lus ntawd," tsis muaj kev nplua (vim muaj kev nkag siab zoo), tab sis tus tub kawm ntawv yuav tsum tau sau cov ntsiab lus "tsis ploj" (zoo li txhua tus neeg uas tsis muaj lawv) thiab nrhiav lawv lub ntsiab lus los ntawm lwm tus.

Qhov ntawd yog qhov peb tau ua. Txhua zaj lus qhia pib nrog kev lom zem randomness txog ob lossis peb tus tub ntxhais kawm. Cov txiv neej muaj kev txaus siab rau txoj haujlwm no.

Zaj lus qhia
Thaum pib kev cob qhia, nws yog ib qho tseem ceeb heev los muab cov tub ntxhais kawm ntawv zoo. Hauv kuv lub tswv yim, phau ntawv zoo tshaj plaws yog:
Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Muaj ib zaug kuv yuav tsum tau nyiag nyeem nws thaum khawm Microsoft Visual Studio. Tom qab ntawd kuv tuaj yeem nkag siab qhov programming yuav luag los ntawm kos. Kev xaiv zoo meej.

Koj maj mam mus rau cov tub ntxhais kawm thiab hais tias: "Yuav ua li cas los ua programmer, koj tsuas yog yuav tsum tau nyeem thiab sim txhua yam hauv phau ntawv no," thiab muab phau ntawv pov rau ntawm lub rooj. Qhov tseem ceeb tshaj plaws yog tsis txhob cuam tshuam cov phau ntawv hauv koj lub hnab ev ntawv ...

Ua ntej txhua lub ncauj lus, kuv yeej yuav tsum tau npaj kom huv si. Kuv nyeem tib Laforet thiab ob peb lwm qhov chaw nthuav tawm hauv Is Taws Nem.
Cov lus piav qhia mus yuav luag los ntawm kos. Tsis tas li ntawd, nws yuav tsum tau nkag siab qhov twg cov tub ntxhais kawm qhov kev paub yooj yim raug txiav tawm.
Arrays -> Ua hauj lwm nrog nco (constructors) -> Txuas -> Yuav ua li cas nco ua hauj lwm -> Drives -> Dab tsi yog lub cev tsav -> Binary sawv cev ntawm cov ntaub ntawv ...
Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Ib qho kev sib tsoo muaj zog heev ntawm kev paub txog cov ntsiab lus tseeb txog kev ua haujlwm. Kuv tsis yog programmer lawm, kuv yog historian!

Thiab yog li ntawd, nws txhais tau hais tias keeb kwm kev sib ntaus sib tua tau tshwm sim rau ob peb khub niam txiv ua ke. Muaj ib hnub, tus tuav ntaub ntawv ntawm lub tuam tsev saib xyuas peb lub chaw ua haujlwm thiab pom cov pab pawg, nthuav nws ob lub qhov muag, cov phooj ywg thiab kaw qhov rooj. Raws li kuv tau hais tom qab ntawd, nws xav tsis thoob tias pab pawg neeg no zaum ntsiag to thiab mloog kuv mloog heev... Eh, yooj yim.

Laboratory ua haujlwm
Thawj cov ntaub ntawv siv yog thawj "labs". Nyob rau hauv tag nrho, pab pawg tau dhau 10 qhov chaw ua haujlwm hauv lub semester. Thaum xub thawj lawv ua qhov yooj yim console a + b, thiab nyob rau yav tas los lawv tau sau, txawm hais tias console-raws li, tab sis cov ntawv thov nthuav dav, xws li suav tus nqi ntawm qhov tseem ceeb ntawm qee qhov kev ua haujlwm tsis txaus ntseeg siv ib qho ntawm peb txoj hauv kev - kwv yees li tib txoj haujlwm tau ua tiav daim ntawv pov thawj zaum kawg - chav kawm ua haujlwm.

Qhov ntawd tsuas yog txoj kev lees paub xwb tsis tau paub. Thoob plaws hauv kuv txoj kev kawm hauv lub koom haum, kuv tau ntsib nrog qhov tseeb tias kev ntse thiab muaj peev xwm dhau cov ntaub ntawv tsis zoo ib yam. Qhov no tsis haum kuv kiag li.

- Cov txiv neej, kuv tau xav. Cia peb tsim kev sib raug zoo "conceptual". Yog tias ib tus ntawm koj xav tias koj tsis xav tau programming, lub qhov rooj nyob ntawd. Kuv qhia koj dawb. Kuv xav pom ntawm no tsuas yog xav paub, saib xyuas thiab saib xyuas cov neeg nyiam. "Kuv thov kom txhua tus neeg tsis txhob nkim txhua tus lub sijhawm," Kuv hais rau thawj hnub ntawm kev ua haujlwm hauv chav kuaj. Tom qab no, 5 tus neeg tam sim ntawd tso tseg cov chav kawm. Qhov no yog kev xav thiab xav tau. Nws muaj peev xwm sim ua ib yam dab tsi txawj ntse nrog tus so.

- ... Kuv tsis xav saib ib tug neeg ua koj txoj hauj lwm kom dhau nws. Tej zaum koj yuav tsis yog programmers, tab sis koj yuav yog cov neeg hauv kuv cov chav kawm yuav tau.

Nws zoo li no:

case отличник

Ib tug me nyuam kawm ntawv zaum nrog kuv koom tes hauv nws txoj hauj lwm.
- Koj puas tau ua koj tus kheej?
- Yog lawm.
- Qhov no yog dab tsi?
- * teb kom raug*.
* Kuv nug txog ob peb lub ntsiab lus ntxiv. Teb kom raug*
- txais. Zoo heev.

case болтун

- Koj puas tau ua koj tus kheej?
- Yog lawm.
- Qhov no yog dab tsi?
- * teb tsis raug / tsis teb *.
* Kuv nug txog ob peb lub ntsiab lus ntxiv. Tib yam tshwm sim*
- Tsis txais. FAILED Kuv tab tom tos qhov rov qab los.

case хорошист

- Koj puas tau ua koj tus kheej?
- Yog lawm.
- Qhov no yog dab tsi?
- * teb kom raug, tab sis tsis ntseeg siab, ua luam dej *.
* Kuv nug txog ob peb lub ntsiab lus ntxiv. Tib yam tshwm sim*
- txais. Zoo.

case ровныйТроечник

- Koj puas tau ua koj tus kheej?
- Tsis muaj.
- Vim li cas?
- Nyuaj. Nws pab kuv...
- Koj puas tau nkag siab?
- Yog, kuv to taub yuav luag txhua yam.

- Qhov no yog dab tsi?
- * teb kom raug*.
* Kuv nug txog ob peb lub ntsiab lus ntxiv. Teb ntau dua los yog tsawg dua kom raug, qee zaum tsis ncaj ncees lawm, txawm tias nws yog 50/50 raug thiab tsis raug *
- txais. Zoo.

Nws tsis muaj txiaj ntsig los piav qhia tag nrho lwm qhov xwm txheej. Yog lawm, "tus menyuam kawm ntawv zoo" yuav tsis txaus siab tias tus menyuam kawm ntawv "C" tau txais tib lub cim, raws li kev ncaj ncees. Ces nws tag nrho nyob ntawm lub siab. Lossis kuv thov kom “tus menyuam kawm ntawv zoo” saib hauv pem teb, vim hais tias “tam sim no kuv yuav tso ib tug pinch ntawm kev txawj ntse,” thiab ces kuv mam li qhia koj lub ntsiab lus ntawm txoj kev, piav qhia txog dab tsi hauv lub neej muaj txiaj ntsig thiab piav qhia. hais tias nws nyuaj npaum li cas rau cov tub ntxhais kawm "C" dhau los rau nws, "tus tub kawm zoo." ", thiab lwm yam ...
... los yog, raws li kuv tus kws qhia ntawv ib zaug tau ua, kuv yuav kos ib tug hniav me me rau hauv lub thawv ntawv tawm tsam tus neeg tsis txaus siab no thiab lwm zaus kuv mam li ua tiav cov haujlwm kuaj rau nws. Tsuas yog. Yog li tsis txhob "tua" koj cov phooj ywg.

Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Txheeb xyuas
Cov txheej txheem kev kawm, zoo li tag nrho lub ntiaj teb, yog qhov tseeb poob rau hauv nqe cim npe thiab qib.
Cov tub ntxhais kawm yog tib neeg thiabTxawm li cas los xij, hauv kuv lub tswv yim, "lub moj khaum" yuav tsum tau "tso" ntawm no ib yam nkaus.
Thaum lub semester, txhua tus tau txais ib txoj haujlwm ntxiv. Sau npe rau github.com, upload qhov khoob C ++ qhov project nyob ntawd, ua 2 qhov hloov tshiab, cog lus rau lawv thiab thawb lawv. Rau qhov kev nqis tes ua no, 15 tau raug xaiv, yog, tsis yog, tsis yog 4, tsis yog 5, tab sis 15. Peb pom nws tawm. Qhov no yog qee yam nkag siab rau tus menyuam kawm ntawv txoj kev xav, tab sis tom qab ntawd muaj lwm qhov xwm txheej.
Ib zaug peb ob leeg tau tsiv mus kom nws yog tus kawg, thiab kuj los ntawm ob peb lub qhov rais. Txawm li cas los xij, 15 tus neeg tseem tuaj rau nws. Kuv tsis xav piav qhia txog lub ntsiab lus tshiab ntawm kev hwm ntawm kev ua yeeb yam zoo li no, txij li peb twb tau ua tiav zoo nkaus xwb ntawm cov ncauj lus + lub ntsiab lus tom ntej tsis yooj yim rau lub hlwb nkees (kuv thiab cov tub ntxhais kawm '). Tom qab ntawd kuv txiav txim siab los tham txog kev xav.

- Kuv tshaj tawm qhov kev nyiam ntawm kev ua siab dawb uas tsis tau pom dua. Txhua leej txhua tus qhia kuv tias qib twg muab rau nws rau hnub no.
Txhua tus xav tau "A".
"Xav txog nws twb muaj lawm,"Kuv hais. Sawv daws zoo siab.
Ntsiag to.
- yog vim li cas tsis muaj leej twg xav tau? 7-ku lub 10-koj?
Txhua leej txhua tus lub qhov muag widened thiab pib luag stupidly.
- Koj puas yuav twv? Mus rau magazine?! - ib lub suab los ntawm lub rooj rov qab.
- Yog Yooj yim! - Kuv hais tias, - Kuv tshaj tawm blitz ntawm cov ntsiab lus, leej twg teb 10 ntawm kuv cov lus nug - Kuv yuav twv 20 mus rau phau ntawv xov xwm, tsis muaj tus ntes, leej twg tsis teb yog tus -10 (tso kaum).

"Cov pab pawg tau nce siab, kev sib cav pib," txhua tus tau txais txiaj ntsig ncaj ncees. Ob tug tuaj yeem pab dawb. Nrog rau qhov tsis raug me me, lawv tau hloov nrog 10 cov lus nug txog pawg, kab, tus tsim, tus tsim, tus neeg tsim khoom, khib nyiab khib nyiab, encapsulation, polymorphism, hash functions ...
Txhua tus tau kos rau hauv ib phau ntawv xov xwm 20... tab sis qhov tseem ceeb ntawm cov ntawv xov xwm thiab qib tau poob rau hauv txhua tus neeg lub qhov muag. Tam sim no kuv khuv xim tsis nug yog tias lawv xav "sib qhia" lawv qhov kev ntsuam xyuas rau lwm tus. Zoo li kuv xav tias lawv yuav qhia ... Txij no mus, txhua tus tau muab "lab" nrog kev paub thiab kev ncaj ncees.

Txij lub sijhawm no mus, lwm hom kev xa khoom kuaj tau tshwm sim:


case честноНеЕгоНоОнПытался

- Koj puas tau ua koj tus kheej?
- Tsis muaj.
- Vim li cas?
- Nyuaj. Nws pab kuv...
- Koj puas tau nkag siab?
- Sergey Nikolaevich, ncaj ncees, kuv tsis nkag siab dab tsi, yog li kuv tau sau cov lus nyob ib sab ntawm txhua kab - zoo, qhov ntawd tsis yog kuv li, Kuv yuav yog tus tsav tsheb laij teb
- Qhov no yog dab tsi?
— * nyeem cov lus tawm tsam kab *.
-...
-...
- Qhov txawv ntawm Belarus MTZ thiab Don 500 thiab K700 yog dab tsi?
-??!.. Thawj yog lub log tsheb laij teb ua nyob rau hauv Minsk, feem ntau siv nyob rau hauv lub teeb thiab nruab nrab hom kev ua liaj ua teb. Nws kuj muaj cov log me me nyob rau hauv pem hauv ntej thiab lub log loj nyob tom qab. Lub Don 500 yog ib qho kev sau qoob loo, thiab K-700 Kirovets yog lub hom phiaj ntawm Soviet lub hom phiaj off-road wheeled tsheb laij teb, traction class 5.
- txais. Nyob zoo (!!!).
- Ua tsaug, Sergey Nikolaevich !!!

Hauv kuv lub tebchaws, tham txog TractorA yuav luag zoo li tham txog SOLID ntawm no.

Ntse heev
Muaj ib tug Genius hauv kuv pab pawg. Tus menyuam kawm ntawv tau lig heev los ntawm thawj chav kawm thiab tsis ua tiav cov puzzle ua ke nrog lwm tus. Tom qab ntawd kuv hais kom nws ua raws li kuv tau npaj tseg rau txhua tus rau zaj lus qhia tom ntej - sau rau ntawm ib daim ntawv rau nws tus kheej seb nws nyiam dab tsi, nws nyiam dab tsi. Raws li cov txiaj ntsig, "Genius" muaj 2-3 kab: ib yam dab tsi zoo li "Kuv paub qhov tsis muaj txiaj ntsig ntawm kev ua" ...

...Aub, Vajtswv, nyob rau hauv kuv pab pawg kuv muaj ob Lao Tzu thiab Kojima nyob rau hauv ib tug neeg ...
Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Ua rau kuv xav tsis thoob, hauv thawj ob chav kawm nws yeej teb cov lus nug txog cov ntsiab lus ci ntsa iab, tab sis cov nyhuv tsis kav ntev. "tus neeg txawj ntse" tau tso tseg tsis mus kawm cov chav kawm thiab lwm zaus nws tuaj tsuas yog dhau qhov kev sim ua haujlwm thawj zaug, uas nws ua tiav. tsis dhau vim lub hom phiaj. Tom qab ntawd, vim kev tsis tuaj kawm ntawv, nws ib txwm sau cov nuj nqis, uas, raws li nws ntseeg, Kuv tsuas yog yuav tsum suav nws, yog li hais, "ua kwv tij".
Tsis mus koom cov khub niam txiv + nce lub plawv dhia tsis zoo rau cov qauv tsim los ntawm kev tuaj koom kuv cov chav kawm. "Genius" tsuas muaj 2 txoj hauv kev tawm ntawm qhov xwm txheej - txhawm rau kho nws tus kheej (txoj kev xav tau) lossis tso rau hauv chav kawm thiab cia siab rau "C" muab los ntawm tus thawj tswj hwm lub chaw ua haujlwm txhawm rau txhawm rau tshem tawm cov neeg slacker.
Zoo, qhov no yog "Genius" ... koj yuav tsum ua "brilliantly" tam sim ntawd. Tus tub hluas no nrhiav tsis tau ib yam dab tsi zoo dua li sau rau hauv kev sib tham dav dav ntawm VK (qhov twg kuv thiab tag nrho cov tub ntxhais kawm hauv pab pawg no) npau taws nrog kev foom tsis zoo thiab kev thuam hais rau kuv.

Hm... Kev poob siab.
Dab tsi yog qhov txawv tshaj plaws yog tias, ua ntej ua tiav ntawm kev ua haujlwm rau txim rau ntawm kev tswj hwm tsev kawm qib siab, nws tau txiav txim siab thov txim rau kuv. Rau dab tsi? - Kuv tsis to taub tiag tiag. Lub sijhawm ntawd, kuv tau ntev lawm tsis muaj kev thuam, tshwj xeeb tshaj yog qhov kev thuam tsis ncaj ncees. Kuv tus cwj pwm tsis raug cuam tshuam, tab sis cov txheej txheem yog cov txheej txheem, thiab ua tus kws qhia ntawv kuv tsis tuaj yeem pab tab sis tshaj tawm qhov no. Raws li nws tau muab tawm, ntau qhov kev tsis txaus siab twb tau sau tawm tsam nws thaum nws kawm tias qhov xwm txheej no tau dhau los ua qhov kawg. Nws raug ntiab tawm. Los ntawm xyoo tas los ntawm kev kawm ua haujlwm.
Tej zaum nws tau saib kuv ntev ntev los ntawm qhov pom ntawm rab phom sniper, tab sis, kom ncaj ncees, kuv tsis quav ntsej.
Eh, genius, koj tsis muaj siab ...

Epilogue
Rau kuv tus kheej, kev qhia kev paub yog ib qho kev pom zoo tshaj plaws. Qhov no tau pab kuv sib sau ua ke kuv qhov kev paub txog kev ua haujlwm tom qab kawm hauv lub koom haum. Kuv muaj kev ntseeg siab hauv kuv qhov kev xaiv tshwj xeeb (qhov ntau ntawm cov khoom tshwj xeeb muaj). Qhov tseem ceeb tshwj xeeb yog qhov tseeb tias "cov pab pawg neeg tsis zoo" ua rau kuv hwm thiab ua phooj ywg - qhov no muaj nqis heev. Kuv tau tswj xyuas txoj hauv kev rau lawv cov neeg tsim kho tshiab sab hauv, sim ua kom muaj kev muaj tiag, thiab tsis yog qhov tseem ceeb ntawm cov qauv no. Nws yog ib qho kev khuv leej uas peb tsis tau mus rau "kev sib tw" hauv coding - thaum txhua tus yuav tsum tau ua ib feem ntawm txoj cai, thiab los ntawm kev sib txuas tag nrho cov seem rau hauv ib qho, peb yuav tau txais cov haujlwm loj ...
Kuv vam tias muaj ib hnub lawv txhua tus yuav hnov ​​​​qhov no ... tab sis tam sim no, hauv qab no yog cov screenshots nrog kev tshuaj xyuas los ntawm ntau tus tub ntxhais kawm tom qab 2 xyoos.

Lub hauv paus ntawm ib qho programming ntawm ... puzzles

Nws yog ntxov dhau los txiav txim siab txog kev ua tiav ntawm tus programmer txoj haujlwm rau ib qho ntawm lawv, vim tias tam sim no feem ntau ntawm pawg no tab tom kawm hauv tsev kawm qib siab. Lub sij hawm yuav qhia.

Kuv vam tias tsab xov xwm no muaj txiaj ntsig. Ua tsaug rau koj mloog!
Muaj tswv yim zoo thiab lub siab zoo, cov npoj yaig!

Tau qhov twg los: www.hab.com

Ntxiv ib saib