Разное

Задачи по программированию для начинающих: Простые задачи по программированию

Содержание

Простые задачи по программированию

Найти сумму четных цифр числа
Элементы массива, которые больше предыдущего
Разделить элементы массива на максимальный
Первый положительный элемент массива
Максимальные элементы столбцов матрицы
Четные и нечетные символы разделить по разным строкам
Заменить элементы массива на противоположные
Поменять местами строки матрицы
Найти наибольший по модулю элемент матрицы
Поменять местами минимальный и максимальный элементы массива
Найти разность между максимальным и минимальным элементами массива
Найти сумму четных отрицательных элементов массива
Минимальный из элементов массива с нечетными индексами
Вывести элементы массива, которые больше среднего арифметического
Функция, возвращающая среднее арифметическое двух аргументов
Сумма положительных элементов массива
Сумма и произведение элементов матрицы
Количество положительных элементов главной диагонали матрицы
Случайное трехзначное число, оканчивающееся на 0
Найти количество положительных элементов массива
Вывести нечетное число
Переписать числа из одного файла в другой
Найти количество всех двухзначных чисел, у которых сумма цифр кратная 2
Сумма и произведение цифр случайного трехзначного числа
Составьте таблицу значений функции
Расстояние между точками в n-мерном пространстве
Сформировать массив B из положительных элементов массива A, имеющих четный индекс
Процентное соотношение строчных и прописных букв
Найти среднее арифметическое отрицательных элементов массива. Заменить на него минимальный элемент.
Вывести уравнение прямой, проходящей через две точки
Программа «Угадай число» с использованием только оператора ветвления
Сколько цифр в числе и его знак
Определить количество дней в году
Опредилить принадлежность точки кругу
Определить индексы элементов массива, значение которых лежит в указанном пределе
Найти числа, отклоняющиеся от среднего значения
Посчитать четные и нечетные цифры числа
Процедура нахождения по заданным длине стороны треугольника и прилежащим углам длин остальных сторон
Функция вычисления f(x) в зависимости от значения x
«Переворот» числа
Сколько раз в матрице встречается заданное число
Максимальный по модулю элемент массива
Среднее арифметическое всех чётных элементов массива, стоящих на нечётных местах
Сумма элементов частей массива
Кубы чисел от A до B
Добавление правильного окончания (слова) к числу
Обмен значений переменных
Вычисление факториала числа
Пример простейшего ввода и вывода данных
Пример форматированного вывода вещественных чисел
Пример форматированного вывода невещественных типов
Определить количество простых чисел
Сумма элементов различных рядов
Проверка кратности числа
Извлечение цифр числа
Пример использования записи с вариантами
Фильтрация записей по значению поля
Масштабирование фигуры
Сумма и произведение цифр числа
Как избавиться от goto
Вывод квадратов натуральных чисел
Удаление одинаковых символов
Вывод строки по диагонали
Частота встречаемости символа в строке
Переворот строки
Вставка подстроки
Удаление подстроки
Копирование части строки
Определение длины строки
Числа Фибоначчи
Копирование текстовых файлов
Запись в типизированный и текстовый файлы
Сумма и произведение элементов одномерного массива
Псевдослучайные числа. Функция, возвращающая значение и меняющая параметр
Обмен значений переменных
Возведение числа в степень
Таблица умножения на Паскале
Определить возможность существования треугольника по сторонам
Определение четверти на координатной плоскости
Оператор case в задаче выбора
Найти максимальное число из трех
Вычисление значения функции

Решение задач по программированию

На сайте «Решение задач по программированию. Языки Pascal, Basic, КуМир, C, Python» опубликованы задачи по структурному программированию с пояснением к ним и решением на указанных языках программирования.

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

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

Владельцем ресурса, автором поясняющего текста, составителем части алгоритмов решения задач является Шапошникова Светлана Вячеславовна (plustilino). Большинство задач по программированию в школьном курсе решается относительно стандартными и известными способами.

Авторами комментариев являются авторы комментариев.

Использование материалов сайта разрешено при условии указания ссылки на данный ресурс.

Об используемых языках программирования

Выбор языков программирования для решения задач обусловлен их популярностью в образовательных учреждениях, использованием в ГИА и ЕГЭ. 

Каждый язык программирования может существовать в различных версиях и диалектах. Также могут использоваться различные среды программирования. При решении задач мы использовали следующие языки/среды/компиляторы:

  • FreePascal,
  • Basic-256,
  • С (компилятор gcc) в GNU/Linux,
  • КуМир последних версий,
  • Python версии 3.x.

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

Языки программирования Basic-256 и тот, что «живет» в среде КуМир (вероятно тот самый «школьный алгоритмический») — это исключительно учебные языки, поставляемые с удобными средами программирования. Установив одно приложение, вы получаете полноценную среду программирования, в котором пишете программу, нажимаете кнопку и тут же видите результат исполнения программы. Кроме того, обе среды (Basic-256 и КуМир) содержат встроенную возможность программирования графики, что дает простор для разнообразного обучения программированию и преподаванию в более младшем школьном возрасте.

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

На наш взгляд Basic-256 можно использовать при преподавании программирования в 5-7 классах, т. к. язык достаточно прост в синтаксисе (не надо писать никаких лишних скобок и слов), в нем только два простых типа данных — числа и строки. Данный язык хорош, чтобы познакомить с такими понятиями как логические выражения, ветвления в программе, циклы, массивы, развить логическое мышление и творческие способности, разнообразить кругозор, дать представление о том, что такое программирование. Писать на Basic решения более-менее сложных алгоритмов неудобно, да и не нужно в этом возрасте.

Несмотря на то, что Pascal позиционируется также как учебный язык, он в отличие от Basic и КуМир более соответствует практическим языкам. При этом его большим плюсом для обучения является отсутствие всего лишнего, что ненадобно при изучении алгоритмики (структурного программирования). Т.е. никакие специфические особенности языка не будет отвлекать (ну если не считать нагромождений begin-end, уменьшающих читабельность программы). Паскаль позволяет изучать программирование шаг за шагом, а не погружаться сразу в несколько парадигм.

На наш взгляд Pascal хорош как первый язык программирования, если знакомство с программированием начинается в 8-10 классах. В этом возрасте обучающиеся уже знакомы с различными типами чисел и операциями над ними, более внимательны к деталям (не забудут про точку с запятой), способны понять более сложные и объемные конструкции. Если вы планируете не ограничиваться только ветвлениями и циклами, а также требуется изучить подпрограммы, структуры данных (записи) и ООП, то вам не нужно смотреть в сторону Basic (даже если что-то и есть там), изучайте Pascal.

Язык C (Си) — это практический язык в том смысле, что его используют в профессиональном программировании. Он адаптирован для решения конкретных задач, а не для обучения. В языке Си существует много специфических особенностей, часто связанных с тем, что язык не является в полном смысле высокоуровневым. Большое место в Си занимают указатели и ссылки. Поэтому изучать Си и при этом оставлять без внимания ссылочный механизм, это значит не изучать Си, а просто использовать его для преподавания алгоритмики. Понять, что такое указатели, как хранятся данные в памяти компьютера и др. способен далеко не каждый старшеклассник. Поэтому мы бы рекомендовали язык Си для изучения только в старшем школьном возрасте, если знакомство с программированием произошло ранее с использованием другого (какого-либо учебного) языка.

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

Особенности Python позволяют использовать его и для обучения структурному программированию, и для обучения ООП, и для изучения создания программ с графическим интерфейсом, и для изучения Web-программирования и многого другого. На основе Python уместно разрабатывать последовательные курсы по программированию. Например, в первый год вы изучаете структурное программирование на Python, на втором — ООП, на третьем — создание GUI, на четвертом — рассматриваете возможности различных библиотек (т.е. осознаете сферы применения программирования).

В странах Запада и США популярна детская среда программирования Scratch, для более старшего возраста часто используется язык Java. Данный выбор становится понятен, если учесть, что в этих странах образование преимущественно сводится к обучению тому, что имеет непосредственное практическое значение.

Об уровнях сложности задач

На данном сайте мы условно относим любую задачу к одному из трех уровней сложности (простому, среднему и сложному) и понимаем под этим следующее.

Простая задача не содержит в себе сложной логики и не предполагает знаний по математике и другим предметам, которые изучаются примерно с 8-го класса. Поэтому простые задачи доступны для понимания обучающимся 5-7 классов, либо для того, чтобы они стали понятны, требуется минимум пояснений.

Задача средней сложности может содержать в себе более сложную логику, т. е. вложенные конструкции (условие в цикле, вложенный цикл), функции, сложные выражения и др. Также если задача требует от обучающегося знаний по математике и другим предметам, которые изучаются в 7-8 классе и старше, то даже если ее логика проста, она также будет отнесена к задачам средней сложности. Отсюда не следует, что средние задачи не предназначены для 5-7 классов. Однако для их решения скорее всего потребуются дополнительные разъяснения, более детальный разбор алгоритма решения.

Сложные задачи предполагают неоднозначный алгоритм решения, сложные логические конструкции, относительно длинный код программы. Это задачи близкие по сложности к олимпиадным и к задачам C3-C4 ЕГЭ по информатике, а также все виды сортировок.

Темы, их содержание и последовательность

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

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

  1. Линейные алгоритмы
  2. Ветвления
  3. Циклы
  4. Вложенные циклы
  5. Массивы (списки)
  6. Матрицы
  7. Строки
  8. Структуры данных (записи, словари)
  9. Функции
  10. Файлы

Типовые задачи для обучения программированию | GeekBrains

Каждый новичок должен их решить.

https://d2xzmw6cctk25h.cloudfront.net/post/1216/og_cover_image/9ad8187ff6c5fe48d27e557139767946

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

О том, какие образовательные проекты были на моём пути, расскажу далее.

Боец

Тип приложения: игра.

Платформа: Turbo Pascal.

Описание: в 5 классе, после первого знакомства с программированием, любой ученик пытается создать игру. В моём классе настоящим хитом стала игра под жутким названием «Боец». Это текстовая пошаговая аркада, имеющая настольный аналог с бумажками и костями.

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

Далее генерируется случайное число от 2 до 12. Если выпадает меньше 5 — удар не достигает цели, 5−8 — только рукой, 9−11 — засчитывается любой, 12 — критическое попадание. Удар левой рукой оценивается в 1 пункт, правой — 2, ногой 3, критическое попадание прибавляет единицу. Блок нивелирует любые попадания, кроме критического, но по номинальной «цене».

Необходимые навыки: никаких. Знания математики и языка хватит, чтобы устроить небольшое соревнование с друзьями. Научитесь записывать и считывать данные из файла — станет еще интереснее.

Калькулятор

Тип приложения: офисное.

Платформа: Borland Delphi.

Описание: на следующей стадии обучения программированию я и мои одноклассники решили использовать программирование не в развлекательных целях, а для пользы дела. Классический калькулятор никто не создавал, все творили «моды»: у кого-то он решал уравнения 2−3 степени, у кого-то строил графики, некоторые умудрялись адаптировать его под задачи по физике и геометрии.

Необходимые навыки: знакомство с диалоговыми окнами и математикой. Все остальное — игра воображения.

Бильярд

Тип приложения: игра.

Платформа: Borland Delphi.

Описание: в старших классах я загорелся идеей создать собственное приложение с двухмерным бильярдом. Реализация кажется довольно простой до тех пор, пока вы ей не займетесь. Главная проблема — графическое описание физики столкновений. Здесь есть два решения: отрисовывать каждый пиксель смещения, что смертельно для быстродействия, или отрисовывать физику с учетом допусков, количества шаров, их положения и даже цвета.

Необходимые знания: работа с графикой, физика и математика за 8−10 класс, много желания и свободного времени.

Онлайн-анкета

Тип приложения: офисное.

Платформа: Visual Studio, C#.

Описание: мой преподаватель в университете считал, что с помощью кода можно только прошить микроконтроллер и создать диалоговый интерфейс. Поэтому мы постоянно отрабатывали взаимодействие с БД: автозаполнения, автодополнения, протоколы, оптимизации, шифрования и т. д. В общем, к финишу курса каждый из студентов должен был создать онлайн-анкету, которая бы сохраняла введенные данные и генерировала письмо с резюме и портфолио.

Необходимые навыки: работа с файлами и БД. Сложностей здесь мало, зато механически набивать код придется много.

Робот-собеседник

Тип приложения: искусственный интеллект.

Платформа: MATLAB/Simulink.

Описание: в университете также был полугодовой курс по дисциплине «нейронные сети», по итогам которого студенты сдавали какой-нибудь проект. Я отделался примитивной системой перемещения для робота, в то время как большинство сокурсников взялось за создание «умного» собеседника. Те, кто работал с нейронными сетями в MATLAB, понимает, что это проект или для очень амбициозного человека, или для мазохиста. Не знаю, к какому типу относился каждый из сокурсников, но рабочего проекта так никто и не создал.

Необходимые навыки: Во-первых, начните не с нейронных сетей, а с простой комбинаторики. Чатбота создать проще(необходимы лишь навыки работы с БД), да и язык роли не играет. Во-вторых, выберите другую платформу, MATLAB не для этого. Python с PyBrain будут полезнее.

Управление умным домом

Тип приложения: домашнее вспомогательное.

Платформа: Keil uVision для МК, Netbeans для веб-интерфейса.

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

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

Если же подходить к делу серьёзно, куда проще купить Raspberry Pi для сбора информации и взаимодействия с клиентом, а остальное реализовать на готовых датчиках.

Какие интересные задачи в школе, университете и на курсах решали вы? Пишите в комментариях.

Задачи по программированию

Спортивное программирование
СоревнованиеТема
128.15 мая 2020 г.

Соревнование для школьников и студентов
(дорешивание конетста от 8 мая)

Результаты

Разные задачи
127.24 апреля 2020 г.

Соревнование для студентов (дистанционно)

Соревнование для школьников (дистанционно)

Результаты

Результаты

Croatian Open Competition in Informatics #6 2019/20. Solutions
Разные задачи
126.17 апреля 2020 г.

Соревнование для студентов (дистанционно)

Соревнование для школьников (дистанционно)

Результаты

Результаты

Croatian Open Competition in Informatics #5 2019/20. Solutions
Разные задачи
125.27 марта 2020 г.

Соревнование для студентов (дистанционно)

Соревнование для школьников (дистанционно)

Результаты

Результаты

The 2012 ACM-ICPC East Central North America
Разные задачи
124.20 марта 2020 г.

Соревнование для студентов (дистанционно)

Соревнование для школьников (дистанционно)

Результаты

Результаты

Croatian Open Competition in Informatics #4 2019/20. Solutions
Разные задачи
123.6 марта 2020 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #3 2019/20. Solutions
acm.timus.ru: 1083 1502 1139
122.28 февраля 2020 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #2 2019/20. Solutions
acm.timus.ru: 1723 1617 1131 1025 1224 2056
121.21 февраля 2020 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #1 2019/20. Solutions
acm.timus.ru: 1636 1149 1563 1654
120.14 февраля 2020 г.

Соревнование для школьников

Результаты

acm.timus.ru: 1893 1607 1545 1496 1196
119.7 февраля 2020 г.

Соревнование для школьников

Результаты

acm.timus.ru: 1100 1327 1876 1493 1232 1110 1881
118.20 декабря 2019 г.

Соревнование для школьников и студентов — 1

Соревнование для школьников и студентов — 2

Результаты

Результаты

Крым 2018-2019. I тур.
Крым 2018-2019. II тур.
Решения
117.13 декабря 2019 г.

Соревнование для студентов

Результаты

Croatian Open Competition in Informatics #1 2013/14. Solutions
116.22 ноября 2019 г.

Соревнование для школьников

Результаты

Разные задачи
115.8 ноября 2019 г.

Соревнование для школьников

Результаты

Разные задачи
114.1 ноября 2019 г.

Соревнование для школьников

Результаты

Разные задачи
113.25 октября 2019 г.

Соревнование для школьников

Соревнование для студентов

Результаты

Результаты

Разные задачиThe 2012 Greater NY Regional Contest
112.18 октября 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #6 2012/13. Solutions
Разные задачи
111.11 октября 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #5 2012/13.Solutions
Разные задачи
110.4 октября 2019 г.

Соревнование для студентов

Соревнование для студентов и школьников

Результаты

Результаты

Croatian Open Competition in Informatics #4 2012/13.Solutions
Разные задачи
109.27 сентября 2019 г.

Соревнование для студентов

Соревнование для студентов и школьников

Результаты

Результаты

Croatian Open Competition in Informatics #3 2012/13.Solutions
Разные задачи
108.20 сентября 2019 г.

Соревнование для студентов

Соревнование для студентов и школьников

Результаты

Результаты

Croatian Open Competition in Informatics #2 2012/13.Solutions
Разные задачи
107.13 сентября 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #1 2012/13.Solutions
Разные задачи
106.6 сентября 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #6 2011/12.Solutions
Разные задачи
105.5 июля 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #5 2011/12.Solutions
Разные задачи
104.28 июня 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #4 2011/12.Solutions
Разные задачи
103.21 июня 2019 г.

Соревнование для школьников

Результаты

Крым 2007
102.7 июня 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #3 2011/12.Solutions
Разные задачи
101.31 мая 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #2 2011/12.Solutions
Разные задачи
100.24 мая 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #1 2011/12.Solutions
Разные задачи
99.17 мая 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #7 2010/11.Solutions
Разные задачи
98.26 апреля 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #6 2010/11.Solutions
Разные задачи
97.19 апреля 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #5 2010/11.Solutions
Разные задачи
96.12 апреля 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #4 2010/11.Solutions
Разные задачи
95.5 апреля 2019 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

Croatian Open Competition in Informatics #3 2010/11.Solutions
Разные задачи
94.29 марта 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

ГеометрияСимферополь 2012. Городская олимпиада.
93.22 марта 2019 г.

Соревнование для школьников и студентов

Результаты

Простые числа. Делители. Вычисления
92.15 марта 2019 г.

Соревнование для школьников и студентов

Результаты

Длинная арифметика. Теория игр.
91.1 марта 2019 г.

Соревнование для школьников и студентов

Результаты

Разные задачи. Реализация.
90.22 февраля 2019 г.

Соревнование для студентов

Результаты

Задачи Всеукраинской студенческой олимпиады по программированию 2013. I этап. Южный регион.
89.22 февраля 2019 г.

Для начинающих

Результаты

A. Поиск закономерности. Оптимизированный перебор.B. Жадность. Нахождение наименьшего элемента в массиве.C. Сортировка. Подсчет количества одинаковых элементов. Цифровая сортировка. Нахождение наибольшего элемента в массиве.D. Оптимизированный перебор. Сумма арфиметической прогрессии.E. Динамическое программирование. Числа Фибоначчи. N-е число Фибоначчи по модулю.
88.15 февраля 2019 г.

Для начинающих

Результаты

A. Наибольший общий делитель двух чисел.B. Вычисление номера строки и номера столбца матрицы по номеру ячейки. Проверка условий.C. Наибольший общий делитель двух чисел. Взаимно простые числа.D. Битовые операции. Проверка установленных битов, перевод из вдоичной в десятичную.E. Решето Эратосфена. Разложение на простые множители. Количество простых делителей числа.F. Куча. Очередь с приоритетами. Дерево отрезков.
87.8 февраля 2019 г.

Для начинающих

Результаты

A. Решето Эратосфена. Предрасчет. Поиск закономерности.B. Нахождение суммы элементов массива. Нахождение минимального значения среди вычисляемых.C. Наибольший общий делитель двух чисел.D. Работа со строкой. Проверка на палиндром.E. Сортировка массива. Жадный алгоритм.
86.1 февраля 2019 г.

Соревнование для школьников и студентов

Результаты

Делители. Разложение на множители
85.25 января 2019 г.

Соревнование для школьников и студентов

Результаты

Разные задачи
84.18 января 2019 г.

Соревнование для школьников

Результаты

Разные задачи
83.28 декабря 2018 г.

Старый 2018 год

Результаты

Разные задачи
82.21 декабря 2018 г.

Соревнование для школьников и студентов

Результаты

Разные задачи
81.23 ноября 2018 г.

Динамическое программирование

Результаты

Динамическое программирование
80.16 ноября 2018 г.

Соревнование для школьников

Результаты

Разные задачи
79.9 ноября 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

The 2008 Nordic Collegiate Programming Contest
Крым 2010. II тур
78.19 октября 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

The 2009 Nordic Collegiate Programming Contest
Крым 2010. I тур
77.12 октября 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

The 2010 Nordic Collegiate Programming Contest
Разные задачи
76.5 октября 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

The 2012 Nordic Collegiate Programming Contest
Разные задачи
75.28 сентября 2018 г.

Соревнование для студентов

Соревнование для школьников

Результаты

Результаты

The 2011 Nordic Collegiate Programming Contest
Разные задачи
74.21 сентября 2018 г.

Контест #74

Результаты

Разные задачи
73.25 мая 2018 г.

Контест #73

Результаты

acm.timus.ru: 1987 2095 1635
72.18 мая 2018 г.

Контест #72

Результаты

acm.timus.ru: 1490 1249 1515 1491 1052
71.4 мая 2018 г.

Контест #71

Результаты

acm.timus.ru: 1885 2070 1023 1112
70. 27 апреля 2018 г.

Контест #70

Результаты

69. 20 апреля 2018 г.

Контест #69

Результаты

68. 13 апреля 2018 г.

Контест #68

Результаты

67. 30 марта 2018 г.

Контест #67

Результаты

66. 23 марта 2018 г.

Контест #66

Результаты

65. 9 марта 2018 г.

Контест #65

Результаты

64. 2 марта 2018 г.

Контест #64

Результаты

61. 29 декабря 2017 г.

Контест на все каникулы (задачи будут добавляться)

Результаты

60. 22 декабря 2017 г.

Ялта-Симферополь 2

Результаты

59. 8 декабря 2017 г.

Контест #57 (для студентов)

Результаты

58. 24 ноября 2017 г.

Контест #56 (сложный)

Результаты

The 2012 Northwestern European Regional Contest
57. 17 ноября 2017 г.

Контест #55

Результаты

Central Europe Regional Contest 2012
56. 10 ноября 2017 г.

Контест #54 (сложный)

Контест #54 (простой)

Результаты

Результаты

The 2012 Rocky Mountain Regional Contest

acm.timus.ru: 1636 1149 1563 1654

55. 3 ноября 2017 г. Контест #53 (сложный)

Результаты

The 2012 Pacific Northwest Regional Programming Contest
54. 25 октября 2017 г.

Контест #51 (сложный)
 

Результаты
Virtual board

The 2012 Greater NY Regional Contest

53. 20 октября 2017 г.

Контест #50 (сложный)

Результаты

The 2012 Greater NY Regional Contest

52. 13 октября 2017 г.

Контест #49 (простой)

Результаты

acm.timus.ru: 1319 1567 2100 1581 1585 1263 1991

51. 6 октября 2017 г.

Контест #48 (сложный)

Контест #48 (простой)

Результаты

Результаты

Croatian Open Competition in Informatics 2012-2013 #6-О

acm.timus.ru: 1910 1924 2023 1313 1209 1068 1225

50. 29 сентября 2017 г.

Контест #47 (сложный)

Контест #47 (простой)

Результаты

Результаты

Croatian Open Competition in Informatics 2012-2013 #4-5

acm.timus.ru: 1820 1787 1197 1880 2066 1639

49. 22 сентября 2017 г.

Контест #46 (сложный)

Контест #46 (простой)

Результаты

Результаты

Croatian Open Competition in Informatics 2012-2013 #2-3

acm.timus.ru: 1001 1293 1409 2012 1877 1264 2001

48. 15 сентября 2017 г. Контест #45
(виртуальный)

Дорешивание

Результаты

Результаты дорешивания

Cоревнование для школьников и студентов.
47. 2 июня 2017 г. Контест #43 (Теория игр) РезультатыCоревнование для школьников и студентов.
46. 19 мая 2017 г. Контест #41 РезультатыCоревнование для студентов.
45. 28 апреля 2017 г. Контест #38 (сложный) РезультатыCоревнование для школьников и студентов.
44. 1 ноября 2016 г Контест #13 РезультатыКрым 2015-2016 в формате АСМ.
43. 2 сентбяря 2016 г
15-00 — 18-00
Начинающие #4 (дорешивание) Результаты A. Геометрия. Вывод чисел с плавающей точкой.
B. Работа со строками. Вывод строк в заданном формате.
C. Динамическое программирование. Массив достижимости весов.
D. Комбинаторика. Число сочетаний.
E. Простая арифметика. Среднее арифметическое.

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам.

CheckiO

Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.

leetcode

Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.

Hackerrank

Известный американский проект включает «челленджи», соревнования, вакансии, лидерборд и помощь в подготовке к интервью. Много тематических туториалов в стиле «30 Days of Code» или «10 Days of Statistics».

Задания делятся по конкретным скиллам: алгоритмы, структуры данных и математику. Задачи можно решать на большинстве популярных языков: C++/#, Java, PHP, Python, JavaScript, Kotlin и другие. Еще Hackerrank выпускает ежегодные исследования на тему востребованных технологий и образования в программировании.

Codewars

Крутая платформа с задачами на алгоритмы разных уровней сложности. Можно создавать кланы, приглашать знакомых и устраивать соревнования. Подойдет для оттачивания скиллов и дополнительной практики. Геймификация в стиле каратэ: за прохождение заданий повышается «Кю», практика называется «Ката», еще есть «Кумитэ» для шеринга кода в стиле спарринга: каждый поочередно фиксит баги и рефакторит код.

Codebattle

Codebattle — проект сообщества Хекслета. Название говорит за себя: вам и сопернику даётся задача, выбираете язык и решаете. Вы видите код соперника в реальном времени, результаты запуска тестов и можете общаться с ним и зрителями в чате. Кто первый решит задачу (пройдёт тесты) — тот победил.

Еще известные сервисы:

Kaggle. Платформа для дата-саентистов и специалистов по машинному обучению. Предлагает открытые датасеты и контесты от компаний с призовыми фондами.

Codeforces. Проект ориентирован на олимпиадные задачи, публикует новости с ACM ICPC и поддерживается Telegram.

Поделитесь в комментариях какими платформами-задачниками вы пользуетесь и чем они нравятся. Интересные сервисы добавим в этот пост.

10 лучших проектов для начинающих программистов

Быстрые ссылки

Когда вы только начинаете программировать, есть так много вещей, над которыми можно подумать. Если вы не осваиваете PHP, вы изучаете Python. Если это не язык программирования, то это новый веб-фреймворк.

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

Независимо от того, новичок вы или снова занимаетесь программированием, вот лучшие проекты по программированию, которые укрепят вашу уверенность и помогут стать лучшим разработчиком.

Проекты программирования для начинающих

Если вы абсолютный новичок, вам нужно знать основы двух языков веб-разметки: HTML и CSS.Понимание основ HTML-кода — это первое, что вам нужно знать о создании веб-приложений.

code-of-web-page-displayed-on-a-computer-monitor

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

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

Некоторые из этих примеров будут использовать разные языки, такие как Java или JavaScript, но вы можете сделать их на любом языке, который вам удобнее.

Давайте погрузимся в практические проекты!

1.Создайте свою игру в шахматы

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

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

Это не совсем пошаговое руководство по созданию программы, но оно дает хорошее представление о том, как программисты думают о создании сложного проекта.

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

2. Код мобильного приложения

Важно уметь создавать интерфейсы, удобные для мобильных устройств.Вам не нужно ничего, кроме HTML и CSS, для создания красивых макетов, которые можно использовать в приложении для Android или iOS. Этот проект важен, потому что он учит вас создавать интерфейс, а не только логику кодирования.

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

3. Создайте свой калькулятор

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

JavaScript — отличный язык для сочетания с HTML и CSS для создания этого приложения.

4. Создайте приложение со списком дел

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

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

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

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

6. Кодируйте игру «Камень, ножницы, бумага»

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

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

7. Создайте свою собственную игру в крестики-нолики

Tic Tac Toe — классическая детская игра с простыми правилами.Создание приложения «Крестики-нолики» немного сложнее, чем кажется. Создать макет довольно просто, вот где становится интересна логика. Если вы запрограммируете код, чтобы знать, когда нужно закончить игру, то это наверняка поможет вам лучше всего.

Используя HTML, CSS и JavaScript, вы можете узнать, как создать непревзойденного бота Tic Tac Toe.

8. Веб-скребок с Python

Python известен тем, насколько хорошо он работает практически для любого проекта кодирования.Вы можете использовать Python вместе с библиотекой Python под названием Beautiful Soup для извлечения данных из документов HTML и XML.

Этот пример веб-скрейпинга экспортирует данные в файл CSV, поэтому вы можете использовать такую ​​программу, как Excel, для создания диаграмм, графиков, графиков и многого другого с использованием ваших данных.Python может делать больше, чем парсинг HTML-кода. Вы можете создавать ботов для Twitter, Instagram или Reddit, используя Python.

Вам нужно будет загрузить дистрибутив Python под названием Anaconda для сборки этого проекта.Это большая библиотека со всеми видами встроенных инструментов для использования Python. Умение находить и загружать полезные инструменты будет иметь решающее значение по мере вашего продвижения в качестве кодера.

9. Создайте простой веб-сайт HTML5

Немногие проекты научат вас так же, как создание полноценного веб-сайта на HTML и CSS.Создание простого веб-сайта сочетает в себе принципы дизайна, связывание файлов, веб-хостинг и логику кодирования. Это отличный вариант для вашего портфолио, особенно если вы собираетесь стать веб-разработчиком.

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

10. Создание простого слайд-шоу на JavaScript

Создание слайд-шоу на JavaScript — это небольшой забавный проект, над которым не так уж и много работы.Этот проект кодирования рекомендуется, поскольку он учит вас основам взаимодействия с объектной моделью документа (DOM) в браузере и делает ваш веб-сайт динамичным.

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

Начинайте с малого, думайте масштабно

Программные проекты увеличивают ваши навыки программирования.Возьмите проект с HTML и CSS, и вскоре вы будете использовать JavaScript. Вскоре вы будете создавать сложные игры и приложения на Python. Удивительно, насколько стабильный, последовательный поток проектов повлияет на ваши знания программирования.

Теперь у вас есть 10 проектов кодирования для начинающих, которые нужно разобрать и собрать вместе.Выберите один, два или все, но что бы вы ни делали: начинайте кодировать!

Готов? Пора проверить лучшие сайты на бесплатные онлайн-курсы программирования.

edu-email-discounts

18 удивительных скидок, которые вы можете получить с бесплатным адресом электронной почты EDU

An.Адрес электронной почты EDU обеспечивает доступ ко многим преимуществам. Вот наши основные преимущества электронной почты для студентов.

Об авторе

Энтони Грант
(41 опубликованная статья)

Энтони Грант — внештатный писатель, освещающий программирование и программное обеспечение.Он специализируется в области компьютерных наук, занимается программированием, Excel, программным обеспечением и технологиями.

Ещё от Anthony Grant

Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в письме, которое мы вам только что отправили.

.

Уроки ESL для начинающих — GrammarBank

Уроки английского как второго языка для начинающих: Изучите основные языковые правила и используйте повседневный английский, пополняя словарный запас по мере того, как вы читаете все больше и больше. Ниже приведена таблица тем начального уровня, которые следует выучить для начала, таких как числа, дни, месяцы, глагол to be, вопросительные слова и т. Д. На каждой странице урока есть объяснения, примеры и упражнения.

Дополнительные уроки
Упражнения для начинающих

12

ESL Быстрый просмотр Страница урока
1.Английский алфавит A, B, C
Гласные / согласные
Алфавит
2. Глагол To Be (Present) am, is, are
I am, You are, He is
Verb Быть
3. Числа Кардинал: один, два
Порядковый номер: первый, второй
Числа на английском языке
4. Дни и месяцы Понедельник, вторник …
Январь , Февраль …
Дней Месяц Времена года
5.Указание даты Третье мая
05.03.1999
Как сказать дату
6. Спросите и дайте указания Извините. Как я могу попасть в библиотеку?
Не могли бы вы сказать мне ближайший путь к …
Спросите Проложите маршрут
7. Как узнать время 11:30 — Половина одиннадцатого
10:15 — Сейчас четверть одиннадцатого
Как узнать время
8.Подлежащие местоимения I, You, He, She, It
We, You, They
Подлежащие местоимения
9. Соглашение предметного глагола Ему нравится s
She fl ies
Предметный глагол Соглашение
10. Неопределенные статьи A и An
урок, муравей
Неопределенные статьи
11. Притяжательные прилагательные My, Your, His, Her, Its
Наши, их
Притяжательные прилагательные
12.Единственное и множественное число книга — книги
фут — фут
Единственное и множественное число
13. Есть и есть Есть животное
Есть животные
Есть и есть
14. Это, что эти те это кольцо
те кольца
это то эти те
15. вопросы WH какие, что
кто, где
вопросительные слова
16 .Есть и есть У меня карие глаза
У Джуди есть друзья.
Есть и получил
17. Some & Any Я хочу воды.
Вода есть?
Некоторые и любые
18. Много, много и много Есть много автомобилей.
Воды не так много
Много, много и много
19. Сколько и сколько Сколько пальцев?
Сколько времени?
Сколько и сколько
20.Существительные Счетные существительные: Много машин
Неисчисляемые существительные: Маленькое масло
Счетные бесчисленные существительные
21. Притяжательные местоимения Мои, твои, Его
Наши, их Местоимения
22. Предлоги Направление, положение, время, место …
напротив, впереди, во время, наверху …
Предлоги
23. Также & Too & Either Отрицательные предложения: Либо
Утвердительные предложения: тоже / тоже
Также и тоже & Либо
24.Императивы Слушайте меня
Открой дверь
Императивы
25. Не могу / не могу возможность, способность, неспособность, запрос
несоответствие, разрешение
Не могу / не могу
26. Вежливые просьбы Не могли бы вы мне помочь?
Не возражаете, если я включу телевизор?
Вежливые запросы
27. Настоящее непрерывное время Сейчас я изучаю английский язык.
Ждут мою сестру.
Настоящее прогрессивное время
28. Местоимения объекта я, ты, он / она
нас, ты, их
Местоимения объекта
29. Простое настоящее время He идет в школу.
Вы играете в шахматы?
Простое настоящее время
30. Повседневный английский Я просыпаюсь в 7 часов.
Хожу на работу.
Ежедневный распорядок Английский
31. Отправляюсь в будущее Я собираюсь навестить своего дядю завтра.
Он придет позже.
Идти в будущее
32. Должен и должен / должен Мать: Ты должна прийти домой пораньше.
Друг: В школе ты должен носить форму.
Должен и должен / должен
33. Тяжелое соглашение Я пришел домой и сделал домашнее задание.
Я прихожу домой и делаю домашнее задание
Тяжелое соглашение
34. Типы вопросов Вы английский?
Сколько тебе лет?
Типы вопросов
35. Типы предложений Простые предложения
Составные предложения …
Типы предложений
36. Цвета на английском языке Белый / Черный / Коричневый
Синий / желтый / оранжевый
Цвета на английском языке
37.Смотри против Смотри против Смотри Я тебя не вижу.
Я не могу смотреть на тебя весь день.
Смотри против Смотри против Смотри
38. Аффект или эффект Этот фильм произвел на меня впечатление.
Фильм на меня не подействовал.
Влияние или влияние
39. Принять / исключить / ожидать Я не ожидаю, что она примет
никаких подарков, кроме цветов.
Принять / исключить / ожидать

.

Отличный список для соревновательного программирования!

★★★ Codeforces Codeforces — одна из самых популярных платформ для соревнований. В настоящее время поддерживается Саратовским государственным университетом, в нем регулярно проводятся конкурсы и множество интересных оригинальных задач. Кроме того, каждый конкурс предоставляет немедленные полезные руководства (обычно), написанные самими авторами. В Codeforces также есть сильное и интересное сообщество. В общем, здесь действительно можно учиться и совершенствоваться.
★★★ Topcoder Topcoder существует с 2001 года. Богатый историей, он считается одной из самых престижных организаций, когда речь идет о соревнованиях по технологиям. Сотни SRM породили множество проблем. Проблемы здесь обычно более сложные, чем другие, и поэтому Topcoder привлекает многих элитных программистов. Ежегодное мероприятие Topcoder Open (TCO) также широко обсуждается.
★★★ Google Code Jam Google Code Jam, безусловно, одно из самых уважаемых соревнований по программированию.Соревнование состоит из уникальных задач по программированию, которые необходимо решить за фиксированный промежуток времени. Участники могут использовать любой язык программирования и среду разработки для получения своих решений.
★★★ AtCoder AtCoder — это новая, но феноменальная платформа для соревнований, созданная командой высококвалифицированных японских программистов.
★★ ☆ CodeChef CodeChef — это некоммерческая образовательная инициатива Directi.Это глобальная платформа для конкурентоспособного программирования с большим сообществом программистов, которые помогают студентам и профессионалам тестировать и улучшать свои навыки программирования. Его цель — предоставить платформу для практики, соревнований и совершенствования как для студентов, так и для профессиональных разработчиков программного обеспечения. Кроме того, он направлен на то, чтобы охватить студентов, пока они молоды, и привить культуру программирования в Индии.
★★★ SPOJ Платформа SPOJ сосредоточена вокруг онлайн-системы судейства.Он содержит ошеломляющее количество задач, подготовленных его сообществом разработчиков задач или взятых из предыдущих соревнований по программированию, некоторые из которых являются отличными проблемами для практики (см. Раздел «Классификаторы задач»). SPOJ также позволяет опытным пользователям организовывать конкурсы по своим правилам.
★★ ☆ Timus Timus Online Judge — крупнейший в России архив задач программирования с системой автоматического судейства. Задачи в основном собираются на соревнованиях, проводимых в Уральском федеральном университете, чемпионатах Урала, субрегиональных соревнованиях Ural ACM ICPC и на сборах в Петрозаводске.
★ ☆☆ HDU HDU — онлайн-судья, обслуживаемый Университетом Ханчжоу Дяньцзы. Это дом для многих классических проблем из китайской сцены IOI.
★★ ☆ Онлайн-судья Aizu Онлайн-судья Aizu — это платформа для соревнований и архив задач, размещенный в Университете Айдзу. У него много серьезных проблем из-за соревнований по программированию в Японии.
★★ ☆ UVa Старый архив задач / онлайн-судья с богатой историей.Здесь представлены тысячи задач, в том числе множество классических. Тем не менее, настоятельно рекомендуется практиковаться с uHunt, следуя его разделу «Упражнения по соревновательному программированию».
★★ ☆ HackerRank HackerRank — это компания, которая фокусируется на задачах конкурентного программирования как для потребителей, так и для бизнеса. Задачи программирования HackerRank могут быть решены на различных языках программирования и охватывают несколько областей компьютерных наук.
★★ ☆ POJ POJ — онлайн-судья Пекинского университета, решающий множество серьезных проблем. Большинство китайских конкурентоспособных программистов начали свой путь именно здесь. Платформа действительно устарела, поэтому могут возникнуть загадочные проблемы компиляции и выполнения.
★★ ☆ Project Euler Project Euler предлагает потрясающий набор хороших математических задач. Здесь также есть форум, где люди могут обсуждать.
★ ☆☆ Hackerearth HackerEarth — технологическая компания-стартап, базирующаяся в Бангалоре, Индия, которая предоставляет решения для набора персонала.
★ ☆☆ Caribbean Online Judge COJ находится в Университете информатики (UCI, сокращенно на испанском языке), расположенном на Кубе. Особенности ACM ICPC и Progresive constest стили, в основном от разработчиков задач из Карибского бассейна и Латинской Америки, также есть классификатор задач и календарь соревнований.
★★ ☆ CS Academy CS Academy, новинка в сфере соревновательного программирования, — это растущий онлайн-судья, который проводит соревнования раз в две недели. Он поддерживает чат, интерактивные уроки и встроенный онлайн-редактор (который действительно работает).
★★ ☆ Russian Code Cup Соревнования по программированию от Mail.Ru Group. Соревнование состоит из 3 квалификационных, 1 отборочного и 1 финального раундов.На каждый тур участникам дается 4-8 задач, которые необходимо решить за фиксированный промежуток времени.
★★ ☆ CodeFights CodeFights — это веб-сайт для практики соревновательного программирования и подготовки к собеседованиям. В нем представлены ежедневные задачи разной сложности, архив задач и регулярные (каждые 15 минут) мини-турниры. Подходит для новичков.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *