JavaRush /Java Blogu /Random-AZ /Beyin fitness. Proqramlaşdırma bacarıqlarını təkmilləşdir...

Beyin fitness. Proqramlaşdırma bacarıqlarını təkmilləşdirmək üçün cari vəzifələr

Qrupda dərc edilmişdir
Bildiyimiz kimi, proqramçılar müntəzəm olaraq düşünməli, təhlil etməli və bəzən irili-xırdalı müxtəlif problemlərə aydın olmayan həllər tapmalıdırlar. Bunu etmək üçün kodlayıcılar artıq son dərəcə "bahalı" bir oyuncaq olan beyinlərini aktiv şəkildə istifadə etməyə məcbur olurlar - bədən çəkisinin 1,5-2% -dən çox olmayan kütləsi olan insan beyni bütün enerjinin təxminən 25% -ni istehlak edir. Və bu, adi bir insan üçündür və mürəkkəb bir layihə üzərində fəal işləyən bir proqramçının beyni tərəfindən enerjinin neçə faizini "istehlak etdiyini" təsəvvür etmək qorxuncdur (və elm adamları, çox güman ki, britaniyalılar hələ dəqiq göstəricini təyin edə bilməyiblər). Beyin fitness.  Proqramlaşdırma bacarıqlarını təkmilləşdirmək üçün cari vəzifələr - 1Bütün bunlardan hansı nəticə çıxarmaq olar? Yaxşı bir proqramçı olmaq, sonra isə belə qalmaq üçün beyninizi işlətməli, ona düşünməyi və həddindən artıq stress olmadan və müntəzəm olaraq həllər tapmağı öyrətməlisiniz. Trite, bütün həqiqətən təsirli üsullar kimi, lakin təsirli. Kəllə sümüyünüzdəki boz maddəni yaxşı vəziyyətdə saxlamağınıza kömək etmək üçün bu gün biz proqramçılar üçün bulmacalar və tapmacalar olan yaxşı resursların seçimini hazırlamışıq, həmçinin ingilis dilindən bir neçə maraqlı problemi tərcümə etmişik.

Proqramçılar üçün tapşırıqları olan veb saytlar

Kolleksiyadakı resursların demək olar ki, hamısı ingilis dilindədir, ona görə də siz təkcə kodlaşdırma məsələləri və tapmacaların həllində məşq etmək deyil, həm də proqramlaşdırmada ingilis dilindən istifadə etmək üçün əlavə təcrübə əldə etmək imkanınız olacaq.Beyin fitness.  Proqramlaşdırma bacarıqlarını təkmilləşdirmək üçün cari vəzifələr - 2
  1. Koderbayt

    Proqramçılar üçün tapşırıqları olan ən populyar ingilisdilli resurslardan biri. Orada 10 mövcud proqramlaşdırma dilindən (o cümlədən Java) istifadə edərək, birbaşa saytda həll edilə bilən müxtəlif səviyyələrdə 200-dən çox vəzifə tapa bilərsiniz.

  2. Proqramlaşdırma Praxis

    Proqramlaşdırma Praxis müntəzəm olaraq proqramçılar üçün müxtəlif maraqlı və ən əsası müvafiq tapşırıqları dərc edən məşhur bloqdur. Bir sıra proqramlaşdırma dilləri üçün ümumidir. Çağırışlar koderlərə texnologiyadakı ən son dəyişikliklər və praktikada proqramlaşdırma yanaşmaları ilə sürətləndirməyə kömək etmək üçün nəzərdə tutulub.

  3. TopCoder

    TopCoder müxtəlif problemləri inkişaf etdirməyi və həll etməyi sevən fəal proqramçılar icmasıdır. Mütəmadi olaraq yeni vəzifələr dərc olunur, onların uğurlu həlli təkcə HR-ni təcrübədən keçirmək və artırmaq imkanı verməyəcək, həm də pul mükafatları alacaq.

  4. CodeKata

    CodeKata, məşhur Praqmatik Proqramçı (“The Pragmatic Programmer. The Path to the Apprentice to Master”) kitabının müəlliflərindən biri olan Deyv Tomasın icad etdiyi proqramçılar üçün kifayət qədər orijinal və hazırcavab problemləri olan bloqdur. CodeKata veb-saytındakı problemlər müxtəlifdir və həll yolları real proqramlaşdırma işinə uyğundur.

  5. ACIP/ICPC üçün Pekin Universiteti JudgeOnline

    Pekin Universiteti JudgeOnline for ACIP/ICPC Pekin Universitetinin müxtəlif müsabiqə və müsabiqələrdən proqramçılar üçün tapşırıqları özündə əks etdirən səhifəsidir. Sayt müntəzəm olaraq yenilənir, problemlər real vaxt rejimində həll edilə bilər və həll yolları Pekin Universitetinin ekspertlərindən ibarət komissiya tərəfindən qiymətləndirilir.

  6. Eyler layihəsi

    Ciddi və qeyri-trivial vəzifələri olan başqa bir köhnə tanınmış sayt. “Project Euler həlli üçün sadəcə riyaziyyat biliklərindən daha çoxunu tələb edən mürəkkəb riyazi və proqramlaşdırma problemləri toplusudur. Problemlər mürəkkəbliyi ilə fərqlənir və yanaşma induktiv zəncirvari öyrənməyə əsaslanır. Yəni bir problemi həll etdikdən sonra siz əvvəllər başa düşmək üçün əlçatmaz olan digər problemləri həll etməyə imkan verəcək yeni konsepsiya kəşf edəcəksiniz”, - resursun yaradıcıları deyirlər.

  7. Daily WTF

    Daily WTF, Bing Your Own Code (BYOC) prinsipi əsasında fəaliyyət göstərən digər məşhur proqramlaşdırma icmasıdır, yəni tərtibatçılar müxtəlif orijinal problemləri həll etmək üçün öz mənbə kodunu paylaşırlar. “BYOC-un məqsədi sadədir: bir proqram tərtibatçısı kimi sizə adi, darıxdırıcı şeylərdən bir az daha maraqlı olan problemi həll etməklə proqramlaşdırma bacarıqlarınızı təkmilləşdirmək imkanı verməkdir” deyə sayt qeyd edir.

  8. Tproger

    Google, Facebook və digər şirkətlərdə texniki müsahibələr zamanı mütəxəssislərin bacarıqlarını yoxlamaq üçün istifadə olunan alqoritmik tapşırıqları olan əla rusdilli sayt. Təqdim olunan bir çox problem, o cümlədən orijinal olanlar, müxtəlif çətinlik səviyyələrindədir.

  9. Al Zimmermannın Proqramlaşdırma Yarışmaları

    “Dəli proqramçıların şöhrət və gözəl mükafatlar uğrunda yarışdığı” tanınmış müəllif saytı. Müsabiqələr ildə bir və ya iki dəfə keçirilir və görkəmli proqramçıların adları resursun əsas səhifəsində dərc olunur və bu, şübhəsiz ki, perspektivli işəgötürənlərin marağına səbəb olur.

  10. Timus Onlayn Hakim

    Avtomatik yoxlama sistemi ilə proqramlaşdırma problemlərinin ən böyük rusdilli arxivlərindən biri. Arxiv üçün tapşırıqların əsas mənbəyi Ural Federal Universitetindəki yarışlar, Ural Çempionatları və digər regional proqramlaşdırma tədbirləridir. Timus Online Judge, həmçinin Ural Federal Universitetində müntəzəm olaraq keçirilən əksər yarışların onlayn versiyalarında iştirak etməyə imkan verir.

5 maraqlı tapşırıq

Başlamaq üçün səbirsizlənənlər üçün maraqlı tapmacalar təqdim edirik. Beyin fitness.  Proqramlaşdırma bacarıqlarını təkmilləşdirmək üçün cari vəzifələr - 3
  1. Steve Jobs-dan blender tapmacası

    Çağırış: Siz nikel ölçüsünə qədər kiçildilirsiniz və bir qarışdırıcıya atılırsınız. Çəkiniz azalıb ki, bədən sıxlığınız eyni qalsın. Bıçaqlar 60 saniyədən sonra dönməyə başlayacaq. Sizin hərəkətləriniz?

    Bu, adətən Apple-ın qurucusu Stiv Cobs ilə əlaqəli klassik tapşırıqdır. Jobs 1997-ci ildə Apple-a qayıdanda şirkətdəki hər bir işçi ilə şəxsən müsahibə götürdü və bu tapşırığı ilk sınaqlarından biri kimi istifadə etdi.

    Həll:

    У данной задачи больше одного решения, так 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. Деньги в карманах и религия.

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

    Problem: Kişinin cibində pulu var, onun ümumi məbləği 90-95 dollardır. Yol boyu bir neçə məbədi ziyarət edir. Məbədə girən kimi pulu ikiqat artır və o, hər məbədə 100 dollar bağışlayır. Nəticədə, sonuncu məbədi ziyarət etdikdən sonra cibi boşalır. İndi sual budur: onun əvvəlcə nə qədər pulu var idi və neçə məbədi ziyarət etdi?

    Həll:

    Son məbəddən saymağa başlayırıq:

    Son məbədi ziyarət etdikdən sonra (1) onun 0 pulu qaldı, buna görə => (0 + 100) / 2 = 50. Son məbədi ziyarət etməzdən əvvəl 50 dolları var idi.

    Əvvəlki məbədi ziyarət etməzdən əvvəl (2), o (50 + 100) / 2 = 75.
    Əvvəlki məbədi (3) ziyarət etməzdən əvvəl (75 + 100) / 2 = 87,5 idi.
    Əvvəlki məbədi ziyarət etməzdən əvvəl (4), o (87,5 + 100) / 2 = 93,75 idi.
    Əvvəlki məbədi ziyarət etməzdən əvvəl (5), o (93,75 + 100) / 2 = 96,875 - məbləğ ilkin şərtləri aşır.
    Cavab: Adamın əvvəlcə 93,75 dolları olub və 4 məbədi ziyarət edib.

  5. Sahədə baş verən hadisə.

    Və nəhayət, başqa bir köhnə klassik, hətta akkordeona bənzər, məntiqi düşünmə problemi demək olar.

    Problem: Buğda tarlasında ölü adam tapıldı. O, kibritini əlində möhkəm tutdu. İnsan niyə öldü?

    Həll:

    Həmin şəxs üç həmkarı ilə təyyarədə uçurdu. Mühərrik dayandı və təyyarə düşməyə başladı. Kişilər dördü üçün cəmi üç paraşüt olduğunu aşkar edərək kibrit çəkməyə başladılar. Onlardan biri qısasını çəkdi və paraşütsüz tullanmaq məcburiyyətində qaldı.

Epiloq

Yaxşı, bu problemləri çox sadə və ya çox ümumi hesab edənlər üçün Java proqramçıları üçün müsahibələr zamanı tez-tez verilən çətin problemlər də daxil olmaqla daha mürəkkəb Java problemlərimiz var. Proqramçılar üçün maraqlı tapmacalar bilirsinizsə və ya sevimli tapşırığınızı bölüşmək istəyirsinizsə, şərhlərdə yazın.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION