Логические задачи для программистов

Логические задачи для программистов

Логические задачи для программистов

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

В обучении программированию действует тот же принцип. Конечно, на  GeekBrains вы получите практические задания и помощь преподавателей. Однако и после завершения курсов вы наверняка захотите размять руки, а также повысить свой уровень путем решения всевозможных задач. Чтобы помочь вам в этом, мы отобрали несколько ресурсов с упражнениями.

W3Resource

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


Целевая аудитория сайта – начинающие web-разработчики. Именно им предназначено солидное количество задач по HTML, PHP, Python, JavaScript, на решение которых  можно потратить не один день и даже неделю. Ни регистрации, ни дополнительного инструментария портал не требует: удобство пользования обеспечивает встроенный редактор, а также ссылки на правильные ответы, если решение задачи все же поставило вас в тупик.   

Coding Bat

Схожей стратегии придерживается и Coding Bat. Создатели ресурса также предпочли узкую направленность, сконцентрировавшись на упражнениях по Java и Python. Малое разнообразие упражнений с лихвой компенсирует количество и качество задач, а также удобство пользования. Разумеется, опять же, встроенный редактор и ответы. Кроме того, портал подойдет как для начинающих, так и опытных разработчиков. 

Code Abbey

Успех любого обучения кроется в правильной мотивации, которая, без сомнения, присутствует в Code Abbey. Так, любой пользователь, решивший 125 задач, может получить соответствующий сертификат. Разумеется, бесплатно. Еще один плюс ресурса – возможность выполнения заданий на практически любом распространенном языке (от C до Julia).

Top Coder

Впрочем, даже такая мотивация не столь действенна, как денежное вознаграждение. Так на Top Coder вы сможете не только повысить свой уровень, но и подзаработать: по факту ресурс представляет из себя список соревнований, победитель которых получит пусть и не поражающую воображение, но приятную награду. Наиболее же успешные участники вдобавок имеют шансы «засветиться». Мастодонты индустрии вроде Microsoft, Facebook или IBM периодически мониторят портал в поисках новых талантов.


Programmr

На данном портале в свое время также можно было участвовать в соревнованиях. Однако к текущему моменту все они потеряли актуальность. Тем не менее, ресурс по-прежнему являет собой богатую площадку для развития навыков. В первую очередь – за счет многочисленных задач по Java, C++, PHP, C#, Ruby, Python и Objective-C. В каждой из них нужно дописать большую часть кода. Как правило, на выполнение задания отводится 30 минут.

Кроме того, на данном ресурсе вы можете создать свой проект и поделиться им с миром – количество просмотров некоторых из таковых переваливает за 100 000. 

Programming Skills

Тем же, кто устал от написания кодов и хочет привнести большего разнообразия в учебный процесс, подойдет портал Programming Skills. На нем можно найти серии тестов из 20 вопросов по C, HTML, C#, Java и другим языкам. На выполнение каждого дается 25 минут. Помимо них, на ресурсе содержится богатый перечень вопросов, с которыми вам, возможно, доведется столкнуться на собеседовании. 

SQL-EX.RU

Наконец, для изучающих SQL идеально подойдет данный портал. Он предлагает огромное количество задач, охватывающих все типажи запросов. Для мотивации же пользователей введена рейтинговая система всех зарегистрировавшихся посетителей – за каждый верный ответ вы получите определенное число очков. Количество оных зависит от сложности задачи, в чем, к слову, кроется и еще один плюс ресурса. Ведь он подойдет как начинающим (или тем, кому достаточно базовых знаний), так и тем, чья служба невозможна без конструирования сложных запросов.


Единственный, но временами досаждающий минус – отсутствие альтернативных путей. Иными словами: правильность выполнения упражнения определяется не ответом, а методом решения. В результате порой возникают парадоксы, в которых фактически правильный ответ не засчитывается как верный.
Автор: Александр Мороз

Тем, кто только начинает свой путь в кодинге, рекомендуем бесплатный курс по Основам программирования.

Источник: geekbrains.ru

Я принял вызов!

А ты сможешь? [ссылка]

Суть вызова:

Подтянуть свои навыки в программировании, разработав порядка 100 программ на своем собственном языке программирования. Важно относится к данному вызову не как к разовому, а как к долгосрочному вызову (т.е. на это может уйти даже от полгода, до года), по этому если не готовы — не беритесь.

Задания:

Всего в вызове 100 заданий, которые нужно выполнить. Все они разложены по этапам.

ВАЖНО: Перед тем как браться за задачи, освойте следующее:


  • Выберите свой язык программирования, на котором вы будете писать.
  • Выберите программу на которой будете заниматься разработками.
  • Изучите основы своего языка (можно во время выполнения задач).
  • Изучите что такое ООП (на 2 этапе), научитесь пользоваться классами.
  • Изучите создание библиотек классов (dll) перед 5 этапом.

Правила:

Чтобы всё правильно сделать и не ошибиться, стоит следовать простым и незаурядным правилам:

  1. Не спешите! Даже если вы в себе уверены, перед каждой задачей настраивайтесь!
  2. Не халтурьте. Старайтесь делать всё красиво, так, как будто вы делаете это для кого-то важного.
  3. Не зазнавайтесь. Если вы не уверены, что сможете такое разработать, упрощайте для себя задачу.
  4. Не тупите. Если вы застряли на каком-то этапе, выполняйте задачу заного, значительно упрощая её.
  5. Не тужтесь. Если вам не нравится задача, не заставляйте себя. Придумайте аналогичную и выполните её.

Этапы выполнения заданий:

Этап 1. Я консольщик.

На этом этапе из 10 задач, вашей, будет являться изучение работы с консолью и все десять приложений обязательно должны быть исполнены в консоли. Если вы новичок, не спешите, отводите на каждую задачу минимум день (чтобы освоиться и закрепить всё в своей голове). Если вы профи — можете сделать всё за раз в одной программе (только в том случае, если уверены в себе).


(10/100)

Этап 2. Мастер оконной разработки.

Второй этап посвящен изучение оконной разработки. В зависимости от того, какое IDE вы выбрали, какой путь оконной разработки вы выбрали, определите для себя свою ключевую задачу — освоить основные элементы разработки оконных приложений. На этом этапе ознакомьтесь с особенностями оконной разработки.

(20/100)

Этап 3. Различные задачки.

Собраны из интернета различные задачи, в количестве 20 штук.Ваша же задача решить эти задачи в виде алгоритма, предоставив пользователю определенную оконную программу, с которой он сможет взаимодействовать. Старайтесь не строить перед собой нерешаемых задач и к каждой относится с ответственностью, стараясь подбирать дизайн.

(40/100)

Между-этап. Гексагон.

Вы знаете о гексагонах? Почитайте в интернете. Интерфейс таких программ весьма сложен, но очень красив и своеобразен. Сумеете ли вы освоить разработку на уровне гексагонов? Постарайтесь выработать свой алгоритм разработки гексагонов.

(41/100)

Этап 4. Игры для компаний.

Дано 9 различных задач для приложения, которое может пригодиться практически в любой заскучавшей компании (как повод развеется), вам нужно решить данные задачи через программирование, разработав 9 соответствующих программ. Постарайтесь адаптировать программы так, чтобы их действительно было интересно использовать в компании (чем сможете как раз похвастаться перед друзьями).


(50/100)

Этап 5. Разработчик игр.

В этом этапе собрано аж 30 задач разного характера по разработке различных игр со своей собственной внутри игровой логикой. На этом этапе придется попотеть и он считается первым самым сложным этапом. На этом этапе вам придется разрабатывать ООП, логику программы и всё тщательно продумывать.

(80/100)

Этап 6. Разработчик софта.

На этом этапе перед вами встанет задача разработать различные программы, которые могут пригождаться как и для самого себя, так и для различных организаций. Переходной этап между двумя сложными, чтобы немного отдохнуть и расслабиться.

(90/100)

Этап 7. Трехмерная графика.

Самый последний и самый сложный этап, на котором вы столкнетесь с трехмерной графикой и начнете разрабатывать настоящие трехмерные приложения, или игры, в которых будет ваш собственный интерфейс взаимодействия персонажа с окружающим миром, в котором будет собственная физика.

(100/100)

В конце:

Если ты честно выполнил все задания, можешь пошуршать по этим сайтам и найти себе подходящий для своего развития. Но я не рекомендую даже заглядывать по этой ссылке, пока не пройдешь хотя бы 100 заданий из этого списка (смекаете, да?). По этому бери задачу, решай и так до конца.

Источник: smartprogress.do

1. Загадка о двух дверях




Эту задачку можно услышать в стенах цифрового гиганта Apple. Условие звучит так:
«Шелдон Купер (персонаж популярного сериала) прошел игровой квест до последнего рубежа. Теперь перед ним — две двери, одна из которых приведет к сокровищу, а вторая — в смертельно опасный лабиринт. У каждой двери стоит стражник, оба они знают, какая из них ведет к сокровищу. Вот только лишь один из них скажет правду. Шелдон не знает, кто из них врун, а кто нет. Прежде чем сделать выбор, можно поставить всего один вопрос и только одному стражнику.

Вопрос: Что нужно спросить Шелдону у стражника, чтобы найти путь к сокровищу?»

Ответ: Можно спросить любого, сформулировав вопрос так: «Какая дверь, по мнению другого стражника, правильная?». Если он спросит у «правдоруба», то узнает, какая дверь ведет к лабиринту, ведь врущий стражник всегда врет. Если же он спросит у лжеца, то снова узнает, какая дверь ведет к лабиринту, ведь тот соврет о двери, на которую укажет правдивый стражник.

2. Инопланетяне и шапки



Еще одна загадка для соискателей вакансий в Apple. Звучит она так:


«Землю захватили инопланетяне. Они хотят уничтожить всю планету, но решили дать человечеству один шанс. Они выбрали десять самых умных людей и поместили их в абсолютно темную комнату, выстроив в ряд. На каждого надели по шляпе, шляпы всего двух цветов — белые и черные. После того, как все шляпы оказываются на головах, свет включается.

Инопланетянин спрашивает последнего человека в ряду о цвете его шляпы. Ни о чем, кроме цвета шляпы, спрашивать нельзя, как и промолчать. Если он отвечает верно, остается в живых, ошибается — погибает. Цвет шляпа посмотреть нельзя, но можно договориться об определенном принципе, по которому могут ответить все. Расположение шляп — случайное, но вам видны все шляпы впереди.

Вопрос: Что нужно отвечать, чтобы выжило как можно больше людей?»

Ответ: Первый отвечающий считает количество черных шляп перед собой, если их нечетное число, он называет «черный», если четное — «белый». Следующий, видя шляпы перед собой, может таким образом вычислить, какого цвета головной убор у него на голове (к примеру, если черных все еще нечетное количество, то очевидно, что на нем — белая), и так далее. Таким методом сохраняется 9 из 10 человек.

3. Задание с мотоциклами


Эта задачка является частым гостем собеседований в компании Adobe:

«У вас есть пятьдесят мотоциклов полным баком, бензина в котором хватает на 100 км езды.

Вопрос: Как далеко вы сможете уехать с помощью этих пятидесяти мотоциклов (учитывая, что изначально они находятся в условно одной точке)?

Ответ: Сначала необходимо перевезти все мотоциклы на пятьдесят километров. Затем, топливо из половины мотоциклов перевивается во вторую половину. В результате мы имеем 25 мотоциклов с полным баком. Повторяйте процедуру каждый пятьдесят километров. Таким образом, можно проехать 350 км.

4. Задача о двух ведрах



При отборе будущих сотрудников в корпорацию Microsoft используют следующую задачу:

«У вас есть бесконечный запас воды и два ведра объемом 5 литров и 3 литра соответственно.

Вопрос: Как с их помощью отмерить четыре литра?»

Ответ: Вначале наполните пятилитровое ведро и вылейте часть воды в трехлитровое. Теперь в большом ведре осталось два литра. Опустошите маленькое ведро и перелейте туда воду из большого. Снова заполните большое ведро и перелейте из него воду в меньшее. Так как в нем уже есть 2 литра, то после переливания в большом останется 4 литра.

5. Загадка о двух горящих веревках


Необычная задачка из стен офисов Microsoft:

«У вас есть два отрезка веревки. Длина каждого из них такова, что при поджигании любого из них с одного конца он будет гореть ровно шестьдесят минут.

Вопрос: Имея только коробок спичек, как отмерить с помощью двух отрезков такой веревки 45 минут при условии, что рвать веревки нельзя?»

Ответ: Одна из веревок поджигается с двух концов, одновременно с ней поджигается вторая, но уже с одного конца. Когда первый отрезок догорит, пройдет 30 минут, от первого также останется 30-минутный отрезок. Затем поджигаем оставшуюся веревку с двух концов, и она горит еще 15 минут.

6. Задача о восьми шариках




Неудивительно, что в таком информационном гиганте как Google, который способен генерировать любую информацию, есть загадки для собеседований. Условие звучит так:

«У вас имеется 8 шариков одинакового вида и размера.

Вопрос: Как найти более тяжелый шарик при условии, что использовать весы можно всего дважды?»

Ответ: Отберите шесть шариков, разделите их на группы по три шарика и поместите на весы. Те, что с более тяжелым шариком, перетянут чашу. Выберите из этой группы два любых шарика и снова взвесьте. Если тяжелый шарик среди них, вы это увидите, если они весят одинаково — тяжелым является третий шар группы. Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

7. Лайфхак для собеседования от Илона Маска


Оказывается, у Илона Маска есть собственная любимая загадка на случай собеседования. Условия ее таковы:
«Представьте, что вы стоите на поверхности Земли. Вы проходите одну милю на юг, одну на запад и одну на север и оказываетесь в той же точке, откуда начали движение.

Вопрос: Где вы находитесь?»

Ответ: Их два. Первый способны дать большинство инженеров — это Северный полюс. Если с Северного полюса пройти одну милю на юг, потом повернуть на запад и пройти еще одну милю, а затем сменить направление на северное, то через одну милю вы снова окажетесь на Северном полюсе, замкнув своим движением треугольник.

Второй верный ответ на загадку — вблизи Южного полюса, на одну милю севернее параллели, длина которой равна одной миле.

8. Задача-бонус


А эту задачу мы предлагаем вас решить самостоятельно. Она интересна одной своей историей: ее предполагаемыми авторами называют не то Альберта Эйнштейна, не то Льюиса Кэрролла.

«На улице стоят пять домов.
Англичанин живет в красном доме.
У испанца есть собака.
В зеленом доме пьют кофе.
Датчанин пьет чай.
Зеленый дом стоит сразу справа от белого дома.
Тот, кто курит Old Gold, разводит улиток.
В желтом доме курят Kool.
В центральном доме пьют молоко.
Норвежец живет в первом доме.
Сосед того, кто курит Chesterfield, держит лису.
В доме по соседству с тем, в котором держат лошадь, курят Kool.
Тот, кто курит Lucky Strike, пьет апельсиновый сок.
Японец курит Parliament.
Норвежец живет рядом с синим домом.
Каждый из домов окрашен в свой цвет, в каждом доме живет представитель определенной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.

Вопрос: Кто пьет воду? Кто держит зебру?»

Как ни крути, а и на собеседовании хотя бы первую минуту, но встречают по одежке: 5 вещей, которые просто необходимо надеть на собеседование, и 3, которые нужно «забыть» дома.

Понравилась статья? Тогда поддержи нас, жми:

Источник: novate.ru


Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.