JavaRush /Java blogi /Random-UZ /Miya fitnes. Dasturlash ko'nikmalarini oshirish bo'yicha ...

Miya fitnes. Dasturlash ko'nikmalarini oshirish bo'yicha dolzarb vazifalar

Guruhda nashr etilgan
Ma'lumki, dasturchilar muntazam ravishda o'ylashlari, tahlil qilishlari va ba'zan katta va kichik turli xil muammolarning noaniq echimlarini topishlari kerak. Buning uchun koderlar o'z miyalaridan faol foydalanishga majbur bo'lishadi, bu allaqachon juda "qimmat" o'yinchoq - massasi tana vaznining 1,5-2% dan ko'p bo'lmagan inson miyasi barcha energiyaning taxminan 25 foizini iste'mol qiladi. Va bu o'rtacha odam uchun va murakkab loyihada faol ishlaydigan dasturchining miyasi energiyaning necha foizini "iste'mol qilishini" tasavvur qilish qo'rqinchli (va olimlar, ehtimol inglizlar, aniq ko'rsatkichni aniqlay olishmagan). Miya fitnes.  Dasturlash ko'nikmalarini oshirish bo'yicha dolzarb vazifalar - 1Bularning barchasidan qanday xulosa chiqarish mumkin? Yaxshi dasturchi bo'lish, keyin esa shunday bo'lib qolish uchun siz miyangizni haydashingiz, uni ortiqcha stresssiz va muntazam ravishda o'ylashga va yechim topishga o'rgatishingiz kerak. Trite, barcha haqiqatan ham samarali usullar kabi, lekin samarali. Bosh suyagidagi kulrang moddani yaxshi holatda saqlashga yordam berish uchun bugun biz dasturchilar uchun boshqotirma va boshqotirmalardan iborat yaxshi resurslar to‘plamini tayyorladik, shuningdek, ingliz tilidan bir nechta qiziqarli jumboqlarni tarjima qildik.

Dasturchilar uchun vazifalar bilan veb-saytlar

To'plamdagi deyarli barcha manbalar ingliz tilida, shuning uchun siz nafaqat kodlash masalalari va boshqotirmalarini echishni mashq qilish, balki dasturlashda ingliz tilidan foydalanish bo'yicha qo'shimcha amaliyotga ega bo'lishingiz mumkin.Miya fitnes.  Dasturlash ko'nikmalarini oshirish bo'yicha dolzarb vazifalar - 2
  1. Koderbayt

    Dasturchilar uchun vazifalar bilan eng mashhur ingliz tilidagi manbalardan biri. Unda siz turli darajadagi murakkablikdagi 200 dan ortiq vazifalarni topishingiz mumkin, ularni to'g'ridan-to'g'ri saytda 10 ta mavjud dasturlash tillaridan biri (shu jumladan Java) yordamida onlayn tarzda hal qilish mumkin.

  2. Praxis dasturlash

    Programming Praxis - dasturchilar uchun turli xil qiziqarli va eng muhimi, tegishli vazifalarni muntazam nashr etadigan mashhur blog. Bir qator dasturlash tillari uchun umumiy. Qiyinchiliklar koderlarga texnologiyadagi so'nggi o'zgarishlar va dasturlashda amalda yondashuvlarni tezlashtirishga yordam berish uchun mo'ljallangan.

  3. TopCoder

    TopCoder - bu turli muammolarni ishlab chiqish va hal qilishni yaxshi ko'radigan faol dasturchilar jamoasi. Muntazam ravishda yangi vazifalar chop etiladi, ularning muvaffaqiyatli hal etilishi nafaqat HRni mashq qilish va oshirish imkoniyatini beradi, balki pul mukofotlarini ham oladi.

  4. CodeKata

    CodeKata - bu dasturchilar uchun juda o'ziga xos va aqlli muammolarga ega blog bo'lib, uni mashhur Pragmatik dasturchi ("Pragmatik dasturchi. Shogirddan ustagacha bo'lgan yo'l") mualliflaridan biri Deyv Tomas ixtiro qilgan. CodeKata veb-saytidagi muammolar xilma-xil bo'lib, ularning echimlari haqiqiy dasturlash ishlariga mos keladi.

  5. ACIP/ICPC uchun Pekin universiteti sudyasi

    Peking University JudgeOnline for ACIP/ICPC — Pekin universiteti sahifasi boʻlib, unda turli tanlovlar va musobaqalardagi dasturchilar uchun topshiriqlar mavjud. Sayt muntazam ravishda yangilanadi, muammolarni real vaqtda hal qilish mumkin va yechimlar Pekin universiteti ekspertlari komissiyasi tomonidan baholanadi.

  6. Eyler loyihasi

    Jiddiy va ahamiyatsiz vazifalarga ega bo'lgan yana bir eski taniqli sayt. “Euler loyihasi murakkab matematik va dasturlash masalalari toʻplami boʻlib, ularni yechish uchun matematikadan koʻproq bilim talab etiladi. Muammolar murakkabligi jihatidan farq qiladi va yondashuv induktiv zanjirli o'rganishga asoslangan. Ya'ni, bitta muammoni hal qilgandan so'ng, siz ilgari tushunib bo'lmaydigan boshqa muammolarni hal qilish imkonini beradigan yangi kontseptsiyani kashf etasiz”, - deydi resurs yaratuvchilari.

  7. Kundalik WTF

    Daily WTF - bu o'z kodingizni keltiring (BYOC) printsipi asosida ishlaydigan yana bir mashhur dasturlash hamjamiyati, ya'ni ishlab chiquvchilar turli xil original muammolarni hal qilish uchun o'zlarining manba kodlarini almashadilar. "BYOC ning maqsadi oddiy: dasturiy ta'minot ishlab chiqaruvchisi sifatida odatdagi, zerikarli narsalardan biroz qiziqroq bo'lgan muammoni hal qilish orqali dasturlash ko'nikmalaringizni yaxshilash imkoniyatini taqdim etish", deyiladi sayt.

  8. Tproger

    Google, Facebook va boshqalar kabi kompaniyalarda texnik intervyular davomida mutaxassislarning malakasini sinab ko'rish uchun ishlatiladigan algoritmik vazifalarga ega rus tilidagi ajoyib sayt. Taqdim etilgan ko'plab muammolar, jumladan, har xil qiyinchilik darajasidagi asl muammolar mavjud.

  9. Al Zimmermannning dasturlash tanlovlari

    Mashhur muallifning veb-sayti, unda "aqldan ozgan dasturchilar shon-shuhrat va ajoyib sovrinlar uchun kurashadilar". Musobaqalar yiliga bir yoki ikki marta o'tkaziladi va taniqli dasturchilarning nomlari resursning bosh sahifasida e'lon qilinadi, bu, albatta, istiqbolli ish beruvchilar tomonidan qiziqish uyg'otadi.

  10. Timus onlayn sudyasi

    Avtomatik tekshirish tizimiga ega dasturlash muammolarining eng katta rus tilidagi arxivlaridan biri. Arxiv uchun vazifalarning asosiy manbai Ural Federal Universitetidagi musobaqalar, Ural chempionati va boshqa mintaqaviy dasturlash tadbirlaridir. Timus Onlayn Judge, shuningdek, Ural Federal Universitetida muntazam ravishda o'tkaziladigan aksariyat musobaqalarning onlayn versiyalarida ishtirok etish imkonini beradi.

5 ta qiziqarli vazifa

Boshlashni kutmaganlar uchun qiziqarli jumboqlar. Miya fitnes.  Dasturlash ko'nikmalarini oshirish bo'yicha joriy vazifalar - 3
  1. Stiv Jobsdan blender topishmoq

    Qiyinchilik: Siz nikel o'lchamiga kichrayib, blenderga tashlangansiz. Sizning vazningiz kamaydi, shunda tana zichligi bir xil bo'lib qoladi. Pichoqlar 60 soniyadan keyin aylana boshlaydi. Sizning harakatlaringiz?

    Bu odatda Apple asoschisi Stiv Jobs bilan bog'liq klassik vazifadir. Jobs 1997 yilda Apple’ga qaytganida kompaniyadagi har bir xodim bilan shaxsan suhbat o‘tkazdi va bu vazifani o‘zining birinchi sinovlaridan biri sifatida ishlatdi.

    Yechim:

    У данной задачи больше одного решения, так How она служит для того, чтобы оценить креативность сотрудника, умение быстро находить выход из стрессовой ситуации и неординарно мыслить. Вот наиболее классический вариант решения: лечь How можно плотнее к днищу блендера, чтобы его лезвия крутorсь над вами.

  2. Сколько людей было на конференции?

    Задача: На конференции каждый гость пожал руку всем остальным. Было 66 рукопожатий. Сколько человек было на научной конференции?

    Другая классическая программистская задача из тех, которые часто дают на первых этапах технических собеседований.

    Классическое решение:

    Допустим, на конференции было n человек. Первый человек пожимает руку всем остальным: n-1 раз (n-1 человек). Второй человек пожимает руку всем остальным (но не первому, так How это уже было сделано): n-2 раза. 3-й человек пожимает руку всем остальным: n-3.

    Таким образом, общее количество рукопожатий будет = (n-1) + (n-2) + (n-3) + …… 0;
    = (n-1) * (n-1 + 1) / 2 = (n-1) * n / 2 = 66
    = n ^ 2 -n = 132
    = (n-12) (n + 11) = 0;
    = n = 12 ИЛИ n = -11

    Вариант -11 исключен, поэтому ответ: 12 человек.

  3. Бар и 25 стульев.

    Еще одна классическая и весьма остроумная задачка, на этот раз посложнее.

    Задача: Есть бар с 25-ю стульями, которые расположены в линию. Посетители этого бара — антисоциальные личности, поэтому, когда они заходят в бар, то всегда стараются найти место How можно дальше от остальных. Если постоянный посетитель заходит в бар и обнаруживает, что свободного места без соседства с кем-либо нет, он разворачивается и уходит. Владелец бара, естественно, хочет видеть можно больше посетителей. Владелец может указать место, на которое нужно сесть, только первому клиенту, тогда How все остальные сами выберут себе самое дальнее место от других. Предположим, что места пронумерованы от 1 до 25. Какое место должно быть занято первым?

    Решение:

    Первый человек должен сесть на стул 9 or 17 (из-за симметрии, не имеет значения, Howое именно из двух мест). Предположим, он выбирает место 9. Следующий человек выберет место 25, так How оно самое дальнее от места 9. Следующие два человека займут места 1 и 17. Следующие три займут 5, 13 и 21. Следующие шесть будут занимать стулья 3, 7, 11, 15, 19 и 23. Таким образом, в баре разместится максимум 13 человек, и никто не будет сидеть рядом с другим человеком. Если место, отличное от 9 or 17, будет выбрано первым, общее количество посетителей бара будет меньше 13.

  4. Деньги в карманах и религия.

    Интересно составленная задача на нахождение алгоритма.

    Muammo: Bir odamning cho'ntagida pul bor, uning umumiy miqdori 90 dan 95 dollargacha. Yo'lda u bir nechta ibodatxonalarni ziyorat qiladi. U ma'badga kirishi bilan uning puli ikki baravar ko'payadi va u har bir ma'badga 100 dollardan xayriya qiladi. Natijada, uning cho'ntagi oxirgi ma'badni ziyorat qilgandan keyin bo'sh bo'ladi. Endi savol tug'iladi: u dastlab qancha pulga ega edi va qancha ma'badga tashrif buyurdi?

    Yechim:

    Biz oxirgi ma'baddan hisoblashni boshlaymiz:

    Oxirgi ma'badni ziyorat qilgandan so'ng (1) uning 0 puli qolgan edi, shuning uchun => (0 + 100) / 2 = 50. Oxirgi ma'badga tashrif buyurishdan oldin uning 50 dollari bor edi.

    Oldingi ma'badga tashrif buyurishdan oldin (2), u (50 + 100) / 2 = 75.
    Oldingi ma'badga tashrif buyurishdan oldin (3), u (75 + 100) / 2 = 87,5 edi.
    Oldingi ma'badga tashrif buyurishdan oldin (4), u (87,5 + 100) / 2 = 93,75 edi.
    Oldingi ma'badga tashrif buyurishdan oldin (5), u (93,75 + 100) / 2 = 96,875 - miqdori dastlabki shartlardan oshib ketadi.
    Javob: Odam dastlab 93,75 dollarga ega bo'lgan va 4 ta ibodatxonaga tashrif buyurgan.

  5. Daladagi voqea.

    Va nihoyat, yana bir eski klassik, hatto akkordeonga o'xshash, mantiqiy fikrlash muammosi deyish mumkin.

    Muammo: bug'doy dalasida o'lik odam topildi. U gugurtni qo'llari bilan mahkam ushlab oldi. Nega odam o'ldi?

    Yechim:

    Erkak uch nafar yo‘lovchisi bilan samolyotda uchayotgan edi. Dvigatel to'xtab qoldi va samolyot tusha boshladi. Erkaklar to'rttasi uchun bor-yo'g'i uchta parashyut borligini payqab, gugurt torta boshlashdi. Ulardan biri kaltasini tortdi va parashyutsiz sakrashga majbur bo'ldi.

Epilog

Xo'sh, bu muammolarni juda oddiy yoki juda umumiy deb biladiganlar uchun bizda murakkabroq Java muammolari mavjud , jumladan Java dasturchilari uchun intervyu paytida ko'pincha beriladigan qiyin muammolar . Agar siz dasturchilar uchun qiziqarli jumboqlarni bilsangiz yoki sevimli vazifangizni baham ko'rmoqchi bo'lsangiz, izohlarda yozing.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION