Бағдарламашы сияқты ойлау үшін не істеу керек

  1. Неліктен бұл маңызды?
  2. Үлгіні табыңыз
  3. 1. Оны түсін
  4. 2. Жоспар
  5. 3. Проблеманы кіші ішкі мәселелерге бөліңіз.
  6. 4. Кептелді?
  7. Тәжірибе
  8. HackerRank бойынша ең танымал 5 бағдарламалау тілінің аты аталды
  9. Егер сіз шынымен қаласаңыз, қалай бағдарламашы болуға болады, бірақ тәжірибе жоқ

Программист сияқты ойлау нені білдіреді? Шындығында, мәселелерді шешудің бәрі тиімді. Блогер мен мобильді қосымшаны жасаушы Ричард Рис есептеу әдісін дамыту бойынша бірнеше кеңестер берді.

Неліктен бұл маңызды?

Мәселені шешу метанавик. Біз олармен қалай күресеміз? Қарапайым кездейсоқ. Егер сіздің жүйеңіз болмаса, сіз проблемаларды осылайша «шеше» алуыңыз мүмкін:

  1. Шешімді қолданып көріңіз.

  2. Егер сәтсіз болса, басқасын көріңіз.

  3. Екінші қадамды сәттілікке дейін қайталаңыз.

Олай етпеңіз. Бұл уақытты ысырап ету. Сізге а) үлгіні табу және б) тәжірибе керек.

«Барлық жұмыс берушілер, ең алдымен, қызметкерлердің мәселелерді қалай шешетініне назар аударады. Бұл шеберлік олар үшін бағдарламалау тілін, жүйені жобалауды және жөндеуді білуден гөрі маңызды. Есептеуіш ойлау және үлкен және күрделі мәселелерді шешу қабілеті жұмыс істеуге қажетті негізгі техникалық дағдылармен бірдей бағаланады »- HackerRank (Developer Skills Report 2018).

Үлгіні табыңыз

«Жаңадан келген бағдарламашылар көбінесе мәселені шешуге емес, синтаксиске ден қояды. Бұл ең үлкен қателік ». V. Антон Спрул .

Жаңа мәселеге тап болғанда не істеу керек?

1. Оны түсін

Сізден не талап етілетінін білуіңіз керек. Тапсырмалар сіз түсінбегендіктен күрделі болып көрінеді. Мәселені түсініп, түсінбейтіндігіңізді қалай білуге ​​болады? Мұны қарапайым тілде түсіндіруге тырысыңыз.

Сурет: Ажырату

Бұл өте жиі орын алады: сіз тапсырманы орындамай, түсіндіре бастайсыз ба, кенеттен логикалық кемшіліктерді байқайсыз ба? Көптеген бағдарламашылар бұл сезіммен таныс. Мәселеңізді қағазға жазып қойыңыз немесе ол туралы біреуге айтыңыз.

2. Жоспар

Проблеманы жоспарсыз шешуге бірден кіріспеңіз. Егер сіз нақты қадамдарды жазып алмасаңыз, сізге ештеңе көмектеспейді. Миға мәселені талдап, ақпаратты өңдеуге уақыт беріңіз. Жақсы жоспар құру үшін мына сұраққа жауап беріңіз:

«Кірісте X бар делік. Y шығару үшін қандай қадамдар қажет?»

Бағдарламашылардың бұл үшін керемет құралы бар ... Пікірлер!

3. Проблеманы кіші ішкі мәселелерге бөліңіз.

Бұл ең маңызды қадам. Бір үлкен мәселені бірден шешуге тырыспаңыз. Оның орнына оны кішкене жұмбақтарға бөліп, оларды біртіндеп шешіңіз. Ең қарапайымынан бастаңыз, яғни жауапты бұрыннан білесіз. Сіз бәрін жеңе салысымен, нүктелерді жалғаңыз. Осылайша сіз түпнұсқа мәселені шеше аласыз.

«Мен үнемі жаңадан келген бағдарламашыларға мәселені жеңілдетуге кеңес беремін. Он санды оқып, қайсысы үшінші үлкен болатынын анықтайтын бағдарлама жазу керек деп елестетіп көрейік. Жаңадан бастаушылар үшін бұл тапсырма өте күрделі болып көрінуі мүмкін, бірақ оның шешімі негізгі синтаксисті білуді қажет етеді. Егер сіз кептеліп қалсаңыз, мәселені жеңілдетуге тырысыңыз. Үшінші үлкен санның орнына бәрінен үлкенін табуға тырысыңыз. лі қиын? Берілген үштің ең үлкен санын табыңыз. Немесе екі. Мәселені қалай шешуге болатынын түсінгенше жеңілдетіңіз. Содан кейін тапсырманы біртіндеп қиындатып, шешімін қайта жазыңыз », - В. Антон Спрол.

4. Кептелді?

Енді сіз ойланатын шығарсыз: «Ия, бұл, әрине, керемет, бірақ мен тұрып қалсам және кішкентай мәселені шеше алмасам ше?»

Сурет: Ажырату

Уайымдамаңыз. Бұл барлығына болады. Айырмашылығы - бағдарламашылар бұған кезіккенде ашуланбайды. Керісінше, олар шешім табуға мүдделі. Мұны істеудің үш әдісі:

  • Қайта бағалаңыз . Мәселені басқа жағынан қараңыз. Қарапайым түрде ұсынуға болатын нәрсе бар ма?

«Кейде біз егжей-тегжейден айырылып, мәселені тезірек шешуге көмектесетін жалпы қағидаларды жіберіп аламыз. Классикалық мысал - реттік сандардың қосындысы - 1 + 2 + 3 + ... + n. Карл Фридрих Гаусс мұны n (n + 1) / 2 өрнегі түрінде ұсынды және оған қажетсіз есептеулердің қажеті жоқ ».

Тағы бір нұсқа бар - кодты толығымен қайта жазу. Барлығын жойып, жаңадан бастаңыз.

  • Зерттеу . Қазір қандай мәселені шешуге тырыссаңыз да. Мұны сізден бұрын біреу жасаған. Тек іздеу керек. Егер сіз мәселені шешсеңіз де, мұны жасаңыз.

Тәжірибе

Бір аптадан кейін сіз осы салада шебер боласыз деп ойламаңыз. Егер сіз проблемаларды жақсы шешкіңіз келсе, оны үнемі жасаңыз. Тәжірибе. Шахмат, математика мәселелері, судоку, жүру, монополия, видео ойындар, криптотехника - осының бәрі сіздің есептер шығару дағдыларын жетілдіруге көмектеседі. Танымал адамдар мұны да жасайды. Мысалы, Питер Тилель шахмат ойнайды, ал Илон Муск - видео ойындарда .

«Илон Маск, Рид Хоффман, Марк Цукерберг және басқалар ойындар олардың сәттіліктерінің негізін қалады деп санайды» - Мэри Микер .

Бұл тек видео ойындар ойнау керек дегенді білдіре ме? Шынымен де емес. Әрине, сіз әлі үйренуіңіз керек. Өз дағдыларыңызды іс жүзінде қолдануға болатын нәрсені табыңыз.

Тақырып бойынша материалдар:

HackerRank бойынша ең танымал 5 бағдарламалау тілінің аты аталды

Жаман бағдарламашының 12 белгісі - біз адамды анықтаймыз

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

Мен графикалық дизайнер ретінде жұмысымды тастап, бес айдың ішінде сурет салушы болдым

Мәтінді таптыңыз ба? Мәтінді ерекшелеп, Ctrl + Enter басыңыз

Неліктен бұл маңызды?
4. Кептелді?
Неліктен бұл маңызды?
Біз олармен қалай күресеміз?
Жаңа мәселеге тап болғанда не істеу керек?
Мәселені түсініп, түсінбейтіндігіңізді қалай білуге ​​болады?
Y шығару үшін қандай қадамдар қажет?
?лі қиын?
4. Кептелді?
Енді сіз ойланатын шығарсыз: «Ия, бұл, әрине, керемет, бірақ мен тұрып қалсам және кішкентай мәселені шеше алмасам ше?
 
Карта