В этом шаблоне собрано целых 100 задач по программированию от самых азов, до создания 3хмерных моделей анимации и взаимодействия. Если выполнить всё, что здесь указано (все задания) то можно стать одним из лучших разработчиков, так как тут собраны задачи которые далеко не каждому под силу.
Есть ли тут обучающий материал?
Нет. И не будет. Ты сам должен будешь выбрать свой Язык программирования и на нем осваивать всё с основ до сложных операций. Если у тебя нету своего ЯП, рекомендую выбрать опираясь на рейтинг языков программирования в интернете. Как только выберешь — изучи основы по нему и берись приступать выполнять задания.
Как выполнять задания, если я не знаю как?
У тебя нету интернета? Бери под руку интернет и начинай гуглить его вопросами. Окей гугл, как сделать то; окей гугл, как сделать это. И так далее. Всё делается по шаблонам, в данном вызове нету готовых инструкций, так как он учит самостоятельности.
Ты должен сам научиться решать сложные задачи, которые перед собой ДО ТЕБЯ никто не ставил. Именно так рождаются уникальные разработчики чего-либо.
Я готов! Что мне делать?
Прочти описание (оно чуть-чуть ниже), ознакомься с задачами. Если тебя всё устраивает, то нажимай кнопку «установить шаблон», ставь его себе (как цель). Отредактируй, запихнув в категорию программистов и добавив пару штрихов (на своё усмотрение). По возможности оставь ссылку на этот шаблон (она встроена в описание). Что дальше?
Приступай. Решай задачи и самосовершенствуйся.
Сколько стоит шаблон?
Он бесплатный. Мне не жалко.
Как отблагодарить?
Хотя бы про себя скажи «спасибо», этого будет вполне предостаточно 😉
Ну, или если сможешь, выполни этот вызов.
На создание шаблона ушло: 3 дня.
Версия шаблона: 1.0.0 (стартовая).
Описание, которое станет доступно после установки шаблона:
Я принял вызов!
Суть вызова:
Подтянуть свои навыки в программировании, разработав порядка 100 программ на своем собственном языке программирования. Важно относится к данному вызову не как к разовому, а как к долгосрочному вызову (т.е. на это может уйти даже от полгода, до года), по этому если не готовы — не беритесь.
Задания:
Всего в вызове 100 заданий, которые нужно выполнить. Все они разложены по этапам.
ВАЖНО: Перед тем как браться за задачи, освойте следующее:
- Выберите свой язык программирования, на котором вы будете писать.
- Выберите программу на которой будете заниматься разработками.
- Изучите основы своего языка (можно во время выполнения задач).
- Изучите что такое ООП (на 2 этапе), научитесь пользоваться классами.
- Изучите создание библиотек классов (dll) перед 5 этапом.
Правила:
Чтобы всё правильно сделать и не ошибиться, стоит следовать простым и незаурядным правилам:
- Не спешите! Даже если вы в себе уверены, перед каждой задачей настраивайтесь!
- Не халтурьте. Старайтесь делать всё красиво, так, как будто вы делаете это для кого-то важного.
- Не зазнавайтесь. Если вы не уверены, что сможете такое разработать, упрощайте для себя задачу.
- Не тупите. Если вы застряли на каком-то этапе, выполняйте задачу заного, значительно упрощая её.
- Не тужтесь. Если вам не нравится задача, не заставляйте себя. Придумайте аналогичную и выполните её.
Этапы выполнения заданий:
Этап 1. Я консольщик.
На этом этапе из 10 задач, вашей, будет являться изучение работы с консолью и все десять приложений обязательно должны быть исполнены в консоли. Если вы новичок, не спешите, отводите на каждую задачу минимум день (чтобы освоиться и закрепить всё в своей голове). Если вы профи — можете сделать всё за раз в одной программе (только в том случае, если уверены в себе).
Этап 2. Мастер оконной разработки.
Второй этап посвящен изучение оконной разработки. В зависимости от того, какое IDE вы выбрали, какой путь оконной разработки вы выбрали, определите для себя свою ключевую задачу — освоить основные элементы разработки оконных приложений. На этом этапе ознакомьтесь с особенностями оконной разработки.
Этап 3. Различные задачки.
Собраны из интернета различные задачи, в количестве 20 штук.Ваша же задача решить эти задачи в виде алгоритма, предоставив пользователю определенную оконную программу, с которой он сможет взаимодействовать. Старайтесь не строить перед собой нерешаемых задач и к каждой относится с ответственностью, стараясь подбирать дизайн.
Между-этап. Гексагон.
Вы знаете о гексагонах? Почитайте в интернете. Интерфейс таких программ весьма сложен, но очень красив и своеобразен. Сумеете ли вы освоить разработку на уровне гексагонов? Постарайтесь выработать свой алгоритм разработки гексагонов.
Этап 4. Игры для компаний.
Дано 9 различных задач для приложения, которое может пригодиться практически в любой заскучавшей компании (как повод развеется), вам нужно решить данные задачи через программирование, разработав 9 соответствующих программ. Постарайтесь адаптировать программы так, чтобы их действительно было интересно использовать в компании (чем сможете как раз похвастаться перед друзьями).
Этап 5. Разработчик игр.
В этом этапе собрано аж 30 задач разного характера по разработке различных игр со своей собственной внутри игровой логикой. На этом этапе придется попотеть и он считается первым самым сложным этапом. На этом этапе вам придется разрабатывать ООП, логику программы и всё тщательно продумывать.
Этап 6. Разработчик софта.
На этом этапе перед вами встанет задача разработать различные программы, которые могут пригождаться как и для самого себя, так и для различных организаций. Переходной этап между двумя сложными, чтобы немного отдохнуть и расслабиться.
Этап 7. Трехмерная графика.
Самый последний и самый сложный этап, на котором вы столкнетесь с трехмерной графикой и начнете разрабатывать настоящие трехмерные приложения, или игры, в которых будет ваш собственный интерфейс взаимодействия персонажа с окружающим миром, в котором будет собственная физика.
В конце:
Если ты честно выполнил все задания, можешь пошуршать по этим сайтам и найти себе подходящий для своего развития. Но я не рекомендую даже заглядывать по этой ссылке, пока не пройдешь хотя бы 100 заданий из этого списка (смекаете, да?). По этому бери задачу, решай и так до конца.
Обо мне
Обо мне? Так.. реализую свои идеи. Интересно если, можете посмотреть: [Гик-дневник] или просто посетить мою страницу и найти что-нибудь интересное для себя. Если тебе понравится шаблон — обязательно оставь отзыв. Если ты прошел его, или находишься на каком-либо моменте, скажи, как было бы по твоему лучше (я подправлю — сделав шаблон еще лучше).
Консольная шпаргалка
Постановка задачи: красиво вывести информацию о типах данных (целочисленные, строки) и их переменных (int, string) и других существующих в вашем языке типе данных. Оформить всё аккуратно и красиво.
Консольный перехват ошибки
Постановка задачи: написать программу, в которой может случиться 5 случаев, в случае которых может возникнуть ошибка. Научиться эту ошибку перехватывать и не давать программе выключаться (оповещать об ошибке, но не давать выключаться программе, продолжая её работу).
Консольный калькулятор
Постановка задачи: написать программу, которая умеет выполнять следующие действия: сложение, вычитание, умножение, деление и возведение в степень. Количество чисел выбирайте произвольное (простая задача — два числа, сложная задача — количество чисел вводит пользователь).
Консольный массив
Постановка задачи: Разработать программу которая умеет выводить массив M x N. Усложнение задачи: Сделать так, чтобы можно было производить какие-либо операции над массивами. (К примеру чисел в массиве, нахождение общего знаменателя и так далее — подобные задачи можно найти в интернете). Для того чтобы зачесть себе в карму усложнение задачи, решите как минимум 5 задач с матрицами.
Консольная рекурсия
Постановка задачи: Создать консольную программу выполняющую рекурсию (хорошо подойдет цикл do while), иначе говоря которая закончится только при определенном действии (к примеру «выход»).
Консольные наскальные рисунки
Постановка задачи: Создать консольную программу, которая выводит в консоли определенный рисунок. Пользуйтесь возможностью консоли изменять цвет текста и цвет подложки под текст — за счет этого можно изображать своеобразные «рисунки». Можете воспользоваться рисунками в виде текстовых символов (в интернете полно примеров).
Консольная свободная задача #1
Постановка свободной задачи: поставьте перед собой определенную конкретную задачу, расписав алгоритм (как эта задача будет действовать) и попробуйте решить её. Постарайтесь сделать так, чтобы задача не была сложной (чтобы вы знали, что нужно сделать чтобы решить её), но, в то же время не стандартной.
Источник: smartprogress.do
Какую программу написать, когда ещё ни разу не программировал?
Это заметка будет о том, как входить в программирование. Здесь даже не особо важен выбор первого языка. Самым основным и важным фактором здесь будет научиться мыслить алгоритмически и дискретно, в тех же инструкциях, которыми оперирует компьютер.
Давайте разберемся на самом простейшем примере. Возьмем произвольное квадратное уравнение. В школе их проходят примерно к концу 8-го класса. Поэтому большинство тех, кто внимательно слушал лекции по математике, знает как решить уравнение вида a·x² + b·x + c = 0 .
Сначала найти дискриминант, потом посмотреть какой он, в зависимости от этого плясать дальше. Когда мы решаем такую задачку аналитически, то решение мы записываем динамически, в зависимости от предыдущего шага, а те ветвления, которые нам не нужны, мы и не пишем вовсе. Просто держим в голове примерный алгоритм того, что бы мы делали, если бы что-то пошло по-другому.
Когда же нам нужно написать программу, мы в любом случае должно четко прописать инструкции на все возможные ветки алгоритма. Это заметно отличается от решения на бумаге. Компьютер «мыслит» не так как человек. Компьютеру (компилятору) нужно сразу объяснить четкий алгоритм на все возможные случаи. То есть нам нужно ещё до решения конкретной практической задачи (конкретного квадратного уравнения с заданными числами вместо коэффициентов) запрограммировать все возможные пути общего решения, для любых введенных коэффициентов.
По началу научить себя так мыслить может быть сложно. Но когда вы научитесь дискретному программистскому мышлению, то весь алгоритм и все возможные проблемные места вы начнете предугадывать заранее, что поможет вам при решении любых других физико-математических или технических задач.
Итак, давайте ближе к делу.
Накидаем подобие блок-схемы для решения квадратного уравнения
Источник: dzen.ru
Какую консольную программу написать? [закрыт]
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 6 лет назад .
В данный момент я изучаю c# по Шилдту. Все задания для практического закрепления прочитанной теории я искал в интернете. Брал задания с лабораторных, методичек, различной литературы. Сейчас под хожу к таким темам, по которым мало что можно найти. Я думаю, выход в такой ситуации начать писать свою программу, учебный проект.
После чтения определенной главы в Шилдте, пробовать реализовать прочитанную теорию в своей программе. Только я не могу придумать, что написать. На данный момент, я знаком с циклами, массивами, классами, наследованием, интерфейсами, абстрактными классами, индексаторы и свойства, исключительными ситуациями, консольный ввод-вывод в c#. Подбросьте, пожалуйста, пару вариантов какую программу можно начать писать и затем постепенно реализовывать в программе теорию из Шилдта по мере ее прочтения. Программа должна быть консольная.
Отслеживать
80.1k 9 9 золотых знаков 77 77 серебряных знаков 133 133 бронзовых знака
задан 26 фев 2012 в 0:39
1,089 8 8 золотых знаков 25 25 серебряных знаков 59 59 бронзовых знаков
учи UI и пиши калькулятор, разве не очевидно :DDD Ну а если хочешь что-то посерьезнее — можешь написать простенький текстовый редактор. Сначала простенький, а потом, естественно, расширять функционал можно до бесконечности. В контексте консольных приложений — кроме какой-то математики или, например — обвертки БД в голову ничего не лезет. Хотя можно реализовать тот-же калькулятор, а потом, когда выучишь UI — допилить код.
26 фев 2012 в 1:08
26 фев 2012 в 11:14
ИМХО лучший в мире консольный редактор уже написан, мне было бы неинтересно =)
26 фев 2012 в 11:31
вот тренируйся: habrahabr.ru/post/312278 и задания и разбор полетов
17 окт 2016 в 13:02
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
- Напиши программу, которая определяет в какой кодировке русский текст в файле.
- Программу, которая строит таблицу определения/вызова функций для программы из нескольких файлов с C#.
- Набор клиент-серверных программ, определяющих производительность сетевого соединения.
- Примерно то же для файлов (существенно разного размера) на разных дисках.
- Для развлечения — программу печатающую собственный текст (естественно не свой исходный файл).
Для начала хватит.
Отслеживать
ответ дан 26 фев 2012 в 21:44
45.6k 6 6 золотых знаков 45 45 серебряных знаков 115 115 бронзовых знаков
Я бы сейчас обратил внимание на алгоритмы из элементарной теории чисел и алгоритмы сортировок. Выполняя задания из этих разделов, во-первых, приобретаешь некоторый опыт в программировании и мышлении в целом, а во-вторых, закрепляешь изученный синтаксис языка и его особенности.
А вот собственно и небольшая идея: можешь сделать приложение для сортировки массивов различными алгоритмами. В консольке можешь сделать простенькое меню. Для начала делаешь базовый класс (или интерфейс), в котором есть метод сортировки. Затем, наследуя этот класс, реализовываешь разные алгоритмы (наследование + полиморфизм). Потом, так как у тебя консольный I/O, сделай так чтобы пользователи не смогли поломать твою программу (обработка исключений).
А когда дойдёшь до обобщений, можешь усовершенствовать свою программу.
Отслеживать
ответ дан 26 фев 2012 в 1:59
3,443 19 19 серебряных знаков 23 23 бронзовых знака
1. С какими типа данными должен работать массив? Можно все хранить в строках?
26 фев 2012 в 10:53
Пусть для начала хранит целые числа, ибо их сравнение — тривиальная задача. Если сортировать строки, то можно использовать разные критерии сравнения: длину, алфавит (с учётом регистра и без).
26 фев 2012 в 11:27
Я сам учусь в Польше, у нас в институте давали на Си писать игры, копию total commandera(базовая функциональность), словари польско-английский и наооборот с добавлением в БД(текстовую), с возможностью поиска, с кол-вом просмотров, и реверсивным переводом, также библиотеку книг, очень распространнёный проект, на нём отточите знания классов и всего того, что с ними связано.