JavaRush /Blog Java /Random-MS /Kecergasan otak. Tugas semasa untuk meningkatkan kemahira...

Kecergasan otak. Tugas semasa untuk meningkatkan kemahiran pengaturcaraan

Diterbitkan dalam kumpulan
Seperti yang kita tahu, pengaturcara secara tetap perlu berfikir, menganalisis dan kadangkala mencari penyelesaian yang tidak jelas kepada pelbagai masalah, besar dan kecil. Untuk melakukan ini, pengekod terpaksa menggunakan otak mereka secara aktif, yang sudah menjadi mainan yang sangat "mahal" - otak manusia, yang mempunyai jisim tidak lebih daripada 1.5-2% berat badan, menggunakan kira-kira 25% daripada semua tenaga. Dan ini adalah untuk orang biasa, dan berapa peratus tenaga yang "dimakan" oleh otak seorang pengaturcara yang aktif bekerja pada projek yang kompleks adalah menakutkan untuk dibayangkan (dan saintis, kemungkinan besar British, masih belum menetapkan penunjuk yang tepat). Kecergasan otak.  Tugas semasa untuk meningkatkan kemahiran pengaturcaraan - 1Apakah kesimpulan yang boleh dibuat daripada semua ini? Untuk menjadi seorang pengaturcara yang baik, dan kemudian untuk kekal sebagai pengaturcara, anda perlu mengepam otak anda, mengajarnya untuk berfikir dan mencari penyelesaian tanpa tekanan yang berlebihan dan secara tetap. Trite, seperti semua kaedah yang benar-benar berkesan, tetapi berkesan. Untuk membantu anda mengekalkan jirim kelabu dalam tengkorak anda dalam keadaan baik, hari ini kami telah menyediakan pilihan sumber yang baik dengan teka-teki dan teka-teki untuk pengaturcara, dan juga menterjemahkan beberapa masalah menarik daripada bahasa Inggeris.

Tapak web dengan tugas untuk pengaturcara

Hampir semua sumber dalam koleksi adalah dalam bahasa Inggeris, jadi anda akan berpeluang bukan sahaja untuk berlatih menyelesaikan masalah pengekodan dan teka-teki, tetapi juga untuk mendapatkan latihan tambahan dalam menggunakan bahasa Inggeris dalam pengaturcaraan. Kecergasan otak.  Tugas semasa untuk meningkatkan kemahiran pengaturcaraan - 2
  1. Coderbait

    Salah satu sumber bahasa Inggeris yang paling popular dengan tugas untuk pengaturcara. Di atasnya anda boleh menemui lebih daripada 200 tugas dengan pelbagai tahap kerumitan, yang boleh diselesaikan secara langsung di tapak dalam talian menggunakan salah satu daripada 10 bahasa pengaturcaraan yang tersedia (termasuk Java).

  2. Praxis Pengaturcaraan

    Praxis Pengaturcaraan ialah blog popular yang kerap menerbitkan pelbagai tugasan yang menarik dan, yang paling penting, berkaitan untuk pengaturcara. Biasa untuk pelbagai bahasa pengaturcaraan. Cabaran-cabaran ini direka bentuk untuk membantu pengkod untuk mengetahui dengan pantas dengan perubahan terkini dalam teknologi dan pendekatan pengaturcaraan dalam amalan.

  3. TopCoder

    TopCoder ialah komuniti pengaturcara yang aktif yang suka membangun dan menyelesaikan pelbagai masalah. Tugas baharu diterbitkan secara berkala, penyelesaian yang berjaya bukan sahaja memberi peluang untuk berlatih dan meningkatkan HR anda, tetapi juga menerima hadiah wang tunai.

  4. CodeKata

    CodeKata ialah blog yang mempunyai banyak masalah yang agak asli dan lucu untuk pengaturcara, yang dicipta oleh Dave Thomas, salah seorang pengarang buku terkenal Pragmatic Programmer ("The Pragmatic Programmer. The Path from Apprentice to Master"). Masalah di laman web CodeKata adalah pelbagai, dan penyelesaiannya adalah berkaitan dengan kerja pengaturcaraan sebenar.

  5. Hakim Universiti PekingOnline untuk ACIP/ICPC

    Peking University JudgeOnline for ACIP/ICPC ialah halaman Universiti Peking yang mengandungi tugasan untuk pengaturcara daripada pelbagai pertandingan dan pertandingan. Tapak ini sentiasa dikemas kini, masalah boleh diselesaikan dalam masa nyata, dan penyelesaian dinilai oleh suruhanjaya pakar Universiti Peking.

  6. Projek Euler

    Satu lagi laman web lama yang terkenal dengan tugas yang serius dan tidak remeh. “Projek Euler ialah koleksi masalah matematik dan pengaturcaraan yang kompleks yang memerlukan lebih daripada sekadar pengetahuan matematik untuk diselesaikan. Masalah berbeza dari segi kerumitan dan pendekatannya adalah berdasarkan pembelajaran rantaian induktif. Iaitu, setelah menyelesaikan satu masalah, anda akan menemui konsep baharu yang akan membolehkan anda menyelesaikan masalah lain yang sebelum ini tidak dapat difahami,” kata pencipta sumber itu.

  7. The Daily WTF

    Daily WTF ialah satu lagi komuniti pengaturcaraan popular yang beroperasi pada prinsip Bring Your Own Code (BYOC), bermakna pembangun berkongsi kod sumber mereka sendiri untuk menyelesaikan pelbagai masalah asal. "Tujuan BYOC adalah mudah: untuk memberi anda, sebagai pembangun perisian, peluang untuk meningkatkan kemahiran pengaturcaraan anda dengan menyelesaikan masalah yang lebih menarik sedikit daripada perkara biasa yang membosankan," kata laman web itu.

  8. Tproger

    Tapak berbahasa Rusia yang sangat baik dengan tugas algoritma yang digunakan untuk menguji kemahiran pakar semasa temu duga teknikal dalam syarikat seperti Google, Facebook dan lain-lain. Terdapat banyak masalah yang dikemukakan, termasuk yang asli, dengan pelbagai tahap kesukaran.

  9. Pertandingan Pengaturcaraan Al Zimmermann

    Laman web pengarang terkenal di mana "pengaturcara gila bersaing untuk kemasyhuran dan hadiah menarik." Pertandingan diadakan sekali atau dua kali setahun, dan nama-nama pengaturcara yang terkenal diterbitkan di halaman utama sumber, yang pastinya menarik minat daripada majikan yang menjanjikan.

  10. Timus Online Hakim

    Salah satu arkib bahasa Rusia terbesar bagi masalah pengaturcaraan dengan sistem semakan automatik. Sumber utama tugas untuk arkib adalah pertandingan di Universiti Persekutuan Ural, Kejohanan Ural dan acara pengaturcaraan serantau yang lain. Timus Online Judge juga membenarkan anda mengambil bahagian dalam versi dalam talian bagi kebanyakan pertandingan yang kerap berlangsung di Universiti Persekutuan Ural.

5 tugasan yang menarik

Berikut adalah beberapa teka-teki menarik untuk mereka yang tidak sabar untuk bermula. Kecergasan otak.  Tugas semasa untuk meningkatkan kemahiran pengaturcaraan - 3
  1. Teka-teki pengisar daripada Steve Jobs

    Cabaran: Anda dikecilkan sehingga sebesar nikel dan dibuang ke dalam pengisar. Berat badan anda telah berkurangan supaya kepadatan badan anda kekal sama. Bilah akan mula berputar selepas 60 saat. tindakan awak?

    Ini adalah tugas klasik yang biasanya dikaitkan dengan Steve Jobs, pengasas Apple. Apabila Jobs kembali ke Apple pada tahun 1997, dia secara peribadi menemu bual setiap pekerja di syarikat itu dan menggunakan tugas ini sebagai salah satu ujian pertamanya.

    Penyelesaian:

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

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

    Masalah: Seorang lelaki mempunyai wang di dalam poketnya, jumlah keseluruhannya adalah dari 90 hingga 95 dolar. Sepanjang perjalanan dia melawat beberapa kuil. Sebaik sahaja dia memasuki sebuah kuil, wangnya digandakan, dan dia akhirnya menderma $100 kepada setiap kuil. Akibatnya, poketnya menjadi kosong selepas melawat tokong terakhir. Sekarang persoalannya ialah: berapa banyak wang yang dia ada pada mulanya dan berapa banyak kuil yang dia lawati?

    Penyelesaian:

    Kami mula mengira dari kuil terakhir:

    Selepas melawat kuil terakhir (1) dia mempunyai baki 0 ​​wang, jadi => ​​(0 + 100) / 2 = 50. Dia mempunyai 50 dolar sebelum melawat kuil terakhir

    Sebelum melawat kuil sebelumnya (2), dia mempunyai (50 + 100) / 2 = 75.
    Sebelum melawat kuil sebelumnya (3), dia mempunyai (75 + 100) / 2 = 87.5.
    Sebelum melawat kuil sebelumnya (4), dia mempunyai (87.5 + 100) / 2 = 93.75.
    Sebelum melawat kuil sebelumnya (5), dia mempunyai (93.75 + 100) / 2 = 96.875 - jumlahnya melebihi syarat awal.
    Jawapan: Orang itu pada asalnya mempunyai $93.75 dan melawat 4 kuil.

  5. Satu kejadian di padang.

    Dan akhirnya, satu lagi klasik lama, seseorang mungkin mengatakan seperti akordion, masalah pemikiran logik.

    Masalah: Seorang lelaki mati ditemui di ladang gandum. Dia memegang erat mancis di tangannya. Mengapa orang itu mati?

    Penyelesaian:

    Lelaki itu sedang menaiki pesawat bersama tiga penumpang lain. Enjin terhenti dan kapal terbang mula jatuh. Lelaki itu mendapati hanya terdapat tiga payung terjun untuk empat daripada mereka dan mula menarik mancis. Salah seorang daripada mereka menarik payung pendek dan terpaksa melompat tanpa payung terjun.

Epilog

Nah, bagi mereka yang mendapati masalah ini terlalu mudah atau terlalu umum, kami mempunyai masalah Java yang lebih kompleks , termasuk masalah rumit yang sering diberikan semasa temu duga untuk pengaturcara Java. Jika anda tahu teka-teki menarik untuk pengaturcara atau ingin berkongsi tugas kegemaran anda, tulis dalam komen.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION