10 лучших идей C++ проекта для начинающих
C++ — это язык программирования, основанный на ООП, очень подходящий для создания высокопроизводительных приложений. C++ является расширением языка C и находит свое применение в приложениях, которым требуется высокая скорость и точность, например, в операционных системах, играх, графическом интерфейсе пользователя (GUI) и встроенных системах.
Самая популярная IDE для C++, Visual Studio используется практических во всех проектах. Вы также можете писать свои программы и в текстовом редакторе, например в блокноте, и компилировать проект с помощью компилятора GCC.
Некоторые характерные особенности C++:
- Объектно-ориентированный
- Богатый набор библиотек
- Эффективное управление памятью
- Мощный и быстрый
Как вам помогут эти проекты?
Чтобы попрактиковаться в изучении C++, вы можете выполнять множество проектов от простого до продвинутого. Каждый из этих проектов научит вас чему-то новому, чтобы вы были знакомы с наиболее важными темами, которые всегда будут вам полезны при создании реальных проектов.
Для работы над этими проектами вам необходимо установить IDE. Вы можете скачать бесплатную версию Visual Studio с официального сайта Microsoft . Также можно использовать Code::Blocks скачав с их официального сайта.
1. Система входа и регистрации
Это один из самых простых проектов, с которого можно начать изучение файловых систем на C++. Проект включает в себя процесс регистрации пользователя путем запроса имени пользователя и пароля. После успешной регистрации создается пользовательский файл с учетными данными.
Если пользователя не существует, при входе в систему будет показана ошибка. Вы также узнаете, как использовать Visual Studio для создания простого проекта.
2. Система аренды автомобилей
Это популярный проект, который очень полезен для изучения событий клавиатуры, функций даты и времени и реализации системы входа на C++. В программе есть отдельные меню для администратора и других пользователей.
Существуют также методы расчета стоимости проезда на основе времени и расстояния, включая отображение сведений об автомобиле, доступности и т.д.
Вы можете попробовать другие проекты, такие как управление музыкальным магазином, бронирование автобусов или система бронирования железнодорожных билетов, по тем же принципам, что и выше.
3. Система инвентаризации книжного магазина
Это простой проект, в котором система поддерживает хранение книг в книжном магазине. Если клиент покупает книгу, количество книг уменьшится; если добавляется книга, то же самое обновляется. Обратите внимание на использование указателей.
Вы можете изменить код, чтобы добавить идентификатор книги и выполнить поиск на основе идентификатора книги или выполнить поиск с использованием только одного параметра, дающего несколько результатов, и так далее.
Что написать на c для практики
МЕРОПРИЯТИЯ
Хакатон GO.ALGO
01 декабря Москва Онлайн Бесплатно
Комментарии
Популярные По порядку
Не удалось загрузить комментарии.
ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ
DeepFake-туториал: создаем собственный дипфейк в DeepFaceLab
Рассказываем о технологии DeepFake и шаг за шагом учимся делать дипфейки в DeepFaceLab – нейросетевой программе, меняющей лица в видеороликах.
11 проектов, которые должен разработать каждый питонист
Уверены, что хорошо знаете Python? Проверьте, сможете ли вы разработать эти проекты на Python. Если нет − бегом читать наши туториалы.
6 open-source проектов для практики новичка
Практика в open-source проектах поможет при составлении портфолио для трудоустройства. В статье приведены рекомендации по изучению этой тематики.
Задачи на C# с решениями
Основная функция любой задачи — применение на практике полученных знаний. Постоянная практика важна и нужна, как и обсуждение результатов. В этой статье вы найдете решения некоторых задач на языке программирования Си шарп. Будут представлены задачи разной степени сложности, что позволит:
— повторить операторы и базовые условные конструкции языка программирования Си шарп;
— вспомнить такие вещи, как целочисленная арифметика, работа с функциями, ввод и вывод данных, логические операции.
Помните, что каждая из задач может иметь и нестандартное решение, а научить находить такие решения — это тоже важная педагогическая функция практических заданий.
Но прежде чем приводить практические примеры, немного вспомним теорию и расскажем о том, как объявляются методы и функции в языке программирования Си шарп.
Объявление функций и методов
Методы (функции в Си шарп также называют методами) позволяют инкапсулировать поведение и функциональность в объекты, создаваемые в коде. Объявление осуществляется с помощью сигнатуры, состоящей из ряда составных частей:
- модификатор доступа — показывает, откуда метод можно вызвать;
- тип возвращаемого значения. Необходим для указания соответствующего типа возвращаемого значения. Если значение не возвращается, используется тип void;
- идентификатор (имени) метода — идентификатор нужен, чтобы иметь возможность вызывать функцию в коде;
- список аргументов (параметров). Это список параметров, разделяемых запятыми и передаваемых в метод.
Также перечислим модификаторы доступа:
- private — доступ возможен только из содержащего эту функцию класса либо структуры;
- public — доступ разрешен из любого фрагмента кода в приложении;
- protected — доступ есть как из содержащего класса, так и из производных классов;
- internal — доступ разрешен из файлов в рамках одной сборки;
- static — обозначает, что метод — это статический член класса, а не член экземпляра конкретного объекта.
Пример функции в языке программирования Си шарп:
Чтобы вернуть из метода значение, используют оператор return. Если же вместо возвращаемого типа будет ключевое слово void, то вообще не вернется никакое значение.
Вы можете определить функцию в том же самом классе, что и Main() либо же определить ее в каком-нибудь другом классе. Также следует понимать, что все методы в Си шарп являются статическими, а это значит, что разработчик может вызывать их, не создавая класс объекта.
И еще один момент: чтобы функции, которые описываются в одном классе, сделать видимыми в другом классе, их надо описать посредством модификатора доступа public. Если же они вызываются в том же самом классе, то модификатор доступа public не нужен.
Задача № 1
Необходимо написать консольную программу, где пользователь будет вводить с клавиатуры 2 числа. Числа будут сравниваться с последующим выводом в консоль результата этого сравнения (равны ли значения, а если нет, то какое число больше/меньше).
Задача № 2
Теперь несколько усложним ситуацию в создаваемой программе. Пусть пользователь имеет возможность ввести одно число, причем:
— когда значение больше пяти и одновременно с этим меньше десяти, выводится один текст с соответствующим сообщением;
— когда значение не попадает в указанный диапазон, программа его не узнает, выводя другой текст с соответствующим сообщением. Таким образом, алгоритм решения будет несколько отличаться:
Задача № 3
Далее решим задачу сложнее. Представим банк, в котором алгоритм начисления процента по вкладу зависит от суммы вклада. На вход будет подаваться число (сумма вклада). При значении меньше 100, будет начислено 5 %, если значение находится в диапазоне от ста до двухсот — 7 %, если больше — 10 %. Отработав, программа должна вывести общую сумму с начисленными процентами. Для решения этой задачи воспользуемся выражением Convert.ToDouble(Console.ReadLine()) , которое нам пригодится для получения вводимого с клавиатуры числа.
Задача № 4
Напоследок еще немного усложним алгоритм, расширив условия предыдущего примера. Пусть банк регулярно начисляет по всем вкладам не только положенные по договору проценты, но еще и бонусы. И пусть, к примеру, банк решит выполнить доначисление по всем клиентским вкладам в размере 15 единиц без учета суммы. Поменяем программу, отображенную выше, чтобы к итоговой сумме были добавлены еще и бонусы.
Как видите, все получилось!
Текст написан по материалам следующих источников:
- https://labs-org.ru/c-sharp5/;
- http://mycsharp.ru/post/13/2013_05_21_funkcii_v_si-sharp_operator_return.html;
- https://metanit.com/sharp/practice/1.1.php.
Идеи для проектов для практики навыков программирования
Задачи для начинающих и их реализации, которые могут быть решены на любых языках программирования. Проекты распределены по нескольким категориям.
Числа
Найти число пи до n-й цифры после запятой
Введите число, и программа начнет генерировать число пи. Поставьте определенный предел, до которого программа должна дойти. Реализации:
Python №1, Python №2, Haskell, PHP, JavaScript, Go
Последовательность Фибоначчи
Введите число, и программа сгенерирует последовательность Фибоначчи до этого числа или до N-го числа. Реализации: Python №1, Python №2, Python №3, Bash, Haskell, PHP, JavaScript, Java, Go, Python №4, Python №6
Разложение на произведение простых чисел
Пользователь вводит число и находит, программа раскладывает на произведение простых чисел с их степенями. Реализации: Python №1, Python №2, Haskell, JavaScript, Java, C++, Python №3
Следующее простое число
Программа находит простые числа до тех пор, пока пользователь перестанет спрашивать. Реализации: Python №1, Haskell, JavaScript, Java, Go, Python №2
Калькулятор для ипотеки
Вычислить месячные выплаты фиксированного срока в течение заданных N сроков с заданной процентной ставкой. Реализации: Go
Обмен-возврат
Пользователь вводит стоимость и количество денег. Программа рассчитывает сдачу и количество мелких монет, необходимых для сдачи. Python, Java, Go
Перевод из двоичной системы в десятичную и обратно
Калькулятор
Сначала простой с базовыми операциями, потом можно добавить фичи. Реализации: Python, Haskell
Конвертер температуры, валюты, масс и т.д.
Будильник
Простые часы, которые играют звук после некоторого числа минут или часов или в определенное время.
Python, Java
Расстояние между городами
Вычисляет расстояние между двумя городами и позволяет пользователю выбрать размерность расстояния. Эта программа может потребовать информацию о городах, такую как долготу и широту. Реализации: Haskell, Python
Валидатор кредитной карты
Берет номер кредитной карты от производителя (Visa, MasterCard, American Express, Discover) и проверяет на правильность номер (разберитесь, как кредитные карты используют контрольную сумму). Реализации: Haskell, Python, Java, Go
Факториал числа
Решить с помощью циклов и отдельно с помощью рекурсии. n! = n * (n-1) * … * 1, 0! = 1. Реализации: Haskell, Python, Go
Алгебра комплексных чисел
Показать сумму, умножение, сопряжение, отрицание в отдельных функциях (разность и деление могут быть сделаны путем использования нескольких уже написанных функций). Реализация: Haskell
Счастливые числа
Счастливое число определено следующим процессом. Начиная с некоторого положительного целого числа, замените число суммой квадратов его цифр и повторяйте процесс до тех пор, пока число не будет равным одному(на чем все и остановится) или оно будет циклиться бесконечно. Если цикл конечен, то изначальное число называется счастливым. Найдите первые 8 счастливых чисел. Реализации: Python, Haskell, Java, C++
Названия чисел
Показать как читается число на английском. Вы можете использовать уже существующую реализацию или написать свою, она должна поддерживать значения до одного миллиона или до максимально возможного целого значения в данном языке программирования, если оно меньше миллиона. По желанию: поддержка отрицательных чисел, нуля, чисел с плавающей запятойРеализации: Haskell, Python, Go, C++
Симуляция подбрасывания монеты
Напишите программу, которая симулирует подбрасывание одной монеты столько раз, сколько захочет пользователь. Программа должна записывать результаты и подсчитывать сколько раз выпали орел и решка. Реализации:
Python
Классические алгоритмы
Гипотеза Коллатца
Найдите число шагов, за которые получится единица, используя следующий процесс: берём любое натуральное число n больше единицы. Если оно чётное, то делим его на 2, а если нечётное, то умножаем на 3 и прибавляем 1. Реализации:
Python №1, Java, JavaScript, Java №2, Go, Java №3,
Сортировка
Реализовать два типа сортировочных алгоритмов: сортировка слиянием и сортировка простыми обменами. Реализации: C, Python, Go, C++
Задача ближайшей пары
Задача ближайшей пары точек или задача ближайшей пары — это задача вычислительной геометрии: дается n точек в метрическом пространстве, найти пару точек, расстояние между которыми наименьшее. Реализации: Python №1, Python №2
Решето Эратосфена
Решето Эратосфена — один из самых эффективных способов нахождения всех небольших простых чисел (ниже 10 миллионов). Реализации:
Python №1,
JavaScript,
Python №2, Go, Java,
C++
Графы
Граф из связей
Напишите программу, которая будет создавать граф или сеть из ряда связей между вершинами. Реализация:
Python
Эйлеров путь
Напишите программу, ввод которой будет графом и вывод будет Эйлеров цикл или Эйлеров путь, или запись того, что цикл не возможен. Эйлеров путь начинается от одной из вершин и обходит каждую вершину графа и заканчивается на другой вершине графа. Эйлеров цикл — это Эйлеров путь, начинающийся и заканчивающийся в одной и той же вершине. Реализация:
Python
Соединенный граф
Напишите программу, ввод которой представляет из себя граф и вывод представляет из себя отчет, в котором указано соединена ли каждая вершина или нет. Реализация: Python
Алгоритм Дейкстры
Напишите программу, которая будет находить короткий путь в графе, используя его вершины. Реализации:
Python
Структуры данных
Инвертированный индекс
Инвертированный индекс — это структура данных, используемая для поиска во всем тексте. Дается ряд текстовых файлов, реализуйте программу для создания инвертированного индекса. Также создайте пользовательский интерфейс для поиска, использующего инвертированный индекс, который возвращает список файлов, содержащих выражения или выражения из запроса. Память может содержать поисковой индекс. Реализация: Java
Текст
Перевернуть строку
Поросячья латынь
Это «тайный язык», представляющий собой зашифрованный английский. Чтобы сделать поросяче-латинское слово из английского, нужно первые согласные звуки в слове переместить в конец и прибавить ay (Например: «banana» превращается в anana-bay). Подробнее о правилах читайте в Википедии. Реализации:
Python №1,
Python №2,
Java №1,
Java №2,
Go,
Java №3,
Python №3
Счетчик гласных
Вводится строка, и программа считает количество гласных в тексте. Для усложнения задачи можно генерировать отчет о том, сколько раз какая гласная была найдена. Реализации:
Python №1,
Python №2,
Haskell,
Java №1,
Go,
Java №2,
Python №3
Проверка на палиндром
Программа проверяет на то, что введенная строка является палиндромом (то есть читается слева направо так же, как и справа налево). Реализации:
Python №1,
Python №2, Java,
Haskell,
Python №3,
Go,
Java
Счетчик слов в строке
Посчитать число слов в строке. Для усложнения задачи считать эти строчки и сгенерировать отчет. Реализации:
Python №1,
Python №2, Java,
Haskell
Текстовый редактор
Приложение в стиле блокнота, способное открыть, редактировать и сохранять текстовые документы. По желанию: добавить подсветку синтаксиса и другие фичи. Реализации:
Python,
С++/QT
Генератор RSS ленты
Дается ссыка на ленту RSS/atom, извлечь все посты и распечатать на экран. Реализация:
Python
Стикеры
Программа, в которой вы можете добавить текстовые напоминания и вывесить их. По желанию: вы можете добавить в программу возможность создавать напоминания в виде всплывающих окон.
Проверка показателей индексов фондовой биржи
Программа, которая проверяет цены акций фондовой биржи для списка наименований акций, введенных пользователем. Пользователь может указать, насколько часто будут проверяться значения акций фондовой биржи. Если реализация в виде утилиты командной строки, покажите увеличилась ли цена акции или ушла вниз. По желанию: если реализация сделана с использованием графических интерфейсов, программа может показывать зеленую или красную стрелочку в зависимости от того, как изменилась цена акции. Реализации:
Python
Гостевая книга / журнал
Простое приложение, позволяющее людям добавлять комментарии или добавлять записи в журнал. В нем есть возможность добавлять или закрывать комментарии, а также время добавления записи. По желанию: запустите приложение на такой облачной платформе как Google App Engine или Heroku или любой другой(если возможно).
Гороскоп
Программа проверяет ваш гороскоп на разных сайтах, посвященных этому и соединяет все прогнозы воедино для каждого дня. Реализации:
Python
Шифр Винежера / Вернама / Цезаря
Функции для шифрования и расшифровывания сообщения с данными. Затем отправьте их другу. Реализации:
Python,
Java
Предложения для любого подарка
Ввести разные подарки для определенных людей. Когда пришло время для того, чтобы вручить подарок, программа сгенерирует произвольный из введенных. По желанию: предложить место, где их можно приобрести (возможно, ссылку на страницу в сервисе Amazon).
Конвертер из языка разметки Markdown в HTML
Переводит текст, отформатированный с помощью Markdown в файл HTML. Реализовать базовые теги такие, как p , strong , em и так далее. По желанию: реализовать все теги из документации к синтаксису Markdown. Реализация:
Python
Инструмент для обработки запросов в виде регулярных выражений
Программа позволяет пользователю вводить текстовую строку и затем в отдельном поле регулярное выражение. После запуска программа должна выдать все подходящие под регулярное выражение строчки или флаг ошибки. Реализация:
Python
Сети
Программа FTP
Программа, осуществляющая пересылку файлов туда и обратно из удаленного веб-сервера. Реализация:
C
Монитор трафика
Маленькая утилита, проверяющая сколько данных было загружено на компьютер и с него во время текущего сеанса в сети. Добавьте в программу возможность узнать в какие периоды дня вы используйте больше или меньше трафика и возможность сгенерировать отчет или график, который это показывает.
Сканер портов
Введите IP адрес и диапазон портов, в которых программа попробует найти открытые порты на данном компьютеров путем соединения с каждым из ним. При успешном соединении программа должна пометить порт как открытый. Реализации:
Python №1,
Python №2, Python №3,
Python №4
Проверка электронной почты (POP3 / IMAP)
Пользователь вводит различную информацию своего аккаунта, включая веб-сервер и IP, тип протокола (POP3 или IMAP) и приложение будет автоматически проверять почту каждый заданный интервал времени. Реализация:
Java
Инструмент поиска для сетевого протокола Whois
Пользователь вводит IP и адрес хоста и программа просматривает информацию через сетевой протокол Whois и выводит регистрационные данные. Реализация:
Python
Проверка сайта в установленное время
Приложение пробует соединиться с сайтом или сервером периодически с заданным интервалом или просто через некоторое время и проверяет, есть ли неполадки с подключением. Если сайт или сервер не работают, программа оповестит по электронной почте или вышлет уведомление на экран. Реализация:
Python
Классы
Продуктовый инвентарь
Создайте приложение, которое позволяет вести учет инвентаря продуктов. Создайте класс Product, элементами класса будут цена, номер, количество. Затем создайте класс Inventory, ведущий учет различных продуктов и который считает общую стоимость инвентаря. Реализации:
Python №1,
Ruby,
JavaScript,
Go,
Python №2
Система бронирования отелей / авиабилетов
Создайте систему резервирования на самолет или комнату в отеле. Программа способна распределить цены по различным секциям в зависимости от отеля или места в самолете. Например, бизнес-класс будет стоить дороже, чем эконом-класс. Комнаты отеля, расположенные в пентхаусе стоят больше. Программа следит за обновлениями того, какие комнаты доступны и когда могут быть забронированы.
Bank Account Manager
Создайте класс Account, который будет абстрактным классом для трех классов CheckingAccount(контокоррентный счет), SavingsAccount (сберегательный вклад) и BusinessAccount (счет, возникающий при создании бизнеса). Управляйте кредитами и дебитами с этих счетов в стиле программы для банкомата. Реализация:
Python
Расписание приема врача
Создайте класс Patient и класс Doctor. Пусть доктор может принять несколько пациентов, установите расписание того, как доктор будет принимать 16 пациентов в течение 8 часового рабочего дня.
Менеджер рецептов
Создайте класс Recipe с ингридиентами и вставьте объекты данного типа в менеджер рецептов, которая их распределит по категориям(основные блюда и десерты) или по ингридиентам(курица, говядина и так далее)
Галерея изображений
Создайте абстрактный класс Image и затем класс, производный от него для каждого типа изображений. Вставьте их в программу, которая будет отображать изображения в стиле галереи.
Площадь и периметр фигуры
Создайте абстрактный класс Shape и затем создайте производные классы, такие как бриллиант, прямоугольник, круг, треугольник и так далее. Затем происходит перекрытие имен функций, ищущих площадь и периметр для каждого типа фигуры. Реализации:
Java,
Python
Цветочный магазин с возможностью заказа
Создайте приложение для цветочного магазина, которое работает с цветами, как объектами и использует их в объекте букет, который потом будет продан. Программа следит за количеством объектов и когда вам может понадобиться заказать больше.
Создание древа семьи
Напишите класс Person, в котором будет элемент имя, дата рождения и, если есть, смерти. Программа позволяет пользователям создавать классы Person и помещать их в семейное древо. Программа печатает древо на экран. Реализация:
C++
Поточность
Создание индикатора процесса загрузки
Создайте индикатор состояния для приложений, которые могут отслеживать процесс загрузки. Индикатор состояния должен находиться в отдельной ветке и сообщаться с главной веткой с помощью делегатов. Реализации:
Go
Программа для массового создания эскизов для предварительного просмотра изображений
Обработка изображений может занимать достаточно долгое время. Особенно если изображение большого размера. Создайте программу обработки изображений, которая может взять сотню изображений и сконвертировать их до нужного размера в фоновом режиме. В качестве более сложного задания выделите одну ветку для изменения размера изображения, другую — для массового переименования эскизов и т.д. Реализации:
Java
Индексатор веб-страницы
Создайте приложение, которое соединяется с веб-сайтом, забирает оттуда все ссылки или изображения и сохраняет их в качестве списка. *По желанию: Организуйте проиндексированную информацию, удалите дублирующиеся данные. Залейте результаты в индекс-файл. * Реализации:
Python
Веб-браузер с вкладками
Создайте небольшой веб-браузер, который сможет просматривать материалы сети в разных вкладках, позволяющих просматривать несколько веб-страниц одновременно. Для упрощения задачи не думайте об исполняемом Javascript и другом коде с клиентской стороны.
Доска для рисования онлайн
Создайте приложение, которое позволит рисовать, писать заметки, используя различные цвета, чтобы можно было быстро и удобно записывать идеи для проектов. По желанию: добавить возможность приглашения друзей для совместного использования
Получить атомное время из интернет-часов
Эта программа будет получить сведения об атомном международном времени из интернета. Используйте любые атомные часы, которые найдёте в поиске Google. Реализации:
Go,
Java
Получить текущие данные о погоде
Получите актуальные погодные данные по почтовому индексу. По желанию: Попробуйте определить местоположение пользователя автоматически. Реализация:
Python
Авто-логин и автоматические действия по таймеру
Создайте приложение, которое входит на определённый веб-сайт в запланированное время, производит определённое действие и выходит из аккаунта. Это может быть полезно для проверки почтового клиента, постинга контента или для получения информации и сохранения её на компьютере.
Генератор электронных открыток
Создайте сайт, позволяющий пользователям создавать собственные небольшие электронные открытки и посылать их другим. Не используйте Flash. Используйте галерею изображений и, возможно, вдохновляющие цитаты и девизы.
Система контент-менеджмента
Создайте собственную систему управления контентом (CMS) наподобие Joomla, Drupal, PHP Nuke и т.д. Начните с малого. По желанию: Разрешите добавление модулей/аддонов.
Доска объявлений (Форум)
Создайте форум, на котором вы и ваши друзья смогут писать сообщения, администрировать и делиться мыслями и идеями.
CAPTCHA-генератор
Когда-нибудь видели изображения с цифрами и буквами, которые нужно ввести в форму регистрации на каком-нибудь онлайн-сервисе? Это нужно для фильтрации автоматической регистрации ботами и предотвращения спама. Попробуйте создать собственную капчу для онлайн-форм.
Файлы
Создание викторины
Сделайте приложение, которое рандомно берет различные вопросы из файла и соединяет их вместе, создавая викторину для студентов. Затем приложение должно сравнивать ответы с правильными вариантами.
Файловый проводник
Создайте собственный небольшой файловый проводник для Windows. Добавьте ту функциональность, которую вам не хватало в обычном проводнике Windows или в Finder на Mac OS.
Утилита для сортировки Excel/CSV файлов
Читает записи в файле, сортирует их и записывает их обратно в файл. Позволяет выбрать различные варианты сортировки и сортировку по конкретному полю. Реализация:
Python
Создайте Zip-архиватор
Пользователь добавляет файлы из различных директорий, а программа архивирует их в zip-файл. По желанию: применить Примените современные алгоритмы сжатия. Начните с кода Хаффмана.Реализация:
Java
Генератор PDF файлов
Приложение, которое может читать текстовый файл, файл HTML или какой-либо другой файл и генерировать из него PDF. Отлично подходит для онлайн конвертеров, где пользователь загружает файл и программа возвращает PDF файл По желанию: запустить приложение в облачных сервисах, таких как Google App Engine или Heroku, если возможно.
Программа для теггирования Mp3
Изменяет и добавляет ID3v1-теги в MP3-файлы. Можете попробовать добавить обложку альбома в хедер MP3-файла, или другие ID3v2-теги.
Менеджер кода
Ещё одна утилита, которая позволяет программистам сохранить функции, классы и другие элементы кода для последующего использования. Данные организованы по типу элемента или по языку, чтобы программист смог легко найти нужный элемент. По желанию: В качестве дополнительного упражнения попробуйте добавить выделение синтаксических конструкций в зависимости от используемого языка.
Базы данных
Анализатор SQL-запросов
Утилита, в которую пользователь может ввести запрос и исполнить его в локальной базе данных, чтобы найти способы повысить эффективность запроса.
Инструмент удалённого соединения с SQL-сервером
Утилита, которая может выполнять запросы на удалённые сервера с локального компьютера посредством сети интернет. Утилита должна воспринимать удалённый хост, имя и пароль пользователя, выполнить запрос и вернуть результаты. Реализация:
Python
Генератор отчётов
Создайте утилиту, которая генерирует отчёт на основе сводок в базе данных. Утилита создаёт отчёт о продажах, основываясь на сводных таблицах заказов, или подводит ежедневный итог по операциям в базе данных.
Планировщик событий и календарь
Сделайте приложение, которое позволит пользователю заносить дату и время события, а также кое-какие заметки в календарь. Пользователь должен иметь возможность просмотреть календарь или найти определенное событие. По желанию: добавить возможность создавать повторяющиеся события (каждый день, неделю, месяц, год и т.д.)
Домашняя бухгалтерия
Приложение, которое следит за бюджетом. Пользователь может добавлять текущие расходы и доходы, чтобы узнать, сколько он экономит или расходует сверх бюджета. По желанию: добавить возможность указывать временной диапазон, за который можно посмотреть чистый доход и расход.
Адресная книга
Содержит контакты, включая номера, адреса электронной почты и небольшие заметки о них. Реализация:
Python
Программа для отслеживания ТВ-серий
Не хотите пропустить любимый сериал? Нет записывающего устройства или хотите найти серию и записать её позднее? Создайте приложение, которое будет осуществлять поиск по сайтам телевизионных передач, определять названия/время/каналы и добавлять их в базу данных. База данных/веб-сайт затем могут посылать вам email-уведомления о начале сериала и о канале трансляции. Реализация:
Python
Система планирования путешествий
Создайте систему, которая позволяет пользователям собрать в одном месте и отслеживать информацию по путешествию: авиабилеты, номера в отелях, достопримечательности, бюджет и расписание.
Графика и мультимедиа
Слайд-шоу
Создайте приложение, которое показывает картинки в формате слайд-шоу. По желанию: добавьте эффекты, например, различные переходы (в виде звезды, круга, жалюзи и т.д.)
Проигрыватель онлайн-видео
Попробуйте создать собственный проигрыватель онлайн-видеороликов.
Mp3 Плеер
Простая программа для проигрывания вашей любимой музыки. Добавьте фичи, которых, по вашему мнению, не достает вашему обычному музыкальному проигрывателю.
Проигрыватель онлайн-музыки
Попробуйте создать собственный проигрыватель онлайн-музыкальных треков. Реализация:
PHP
Приложение для создания ватермарков
Хотите защитить авторские права на некоторые изображения? Добавьте своё лого или текст на изображение, чтобы никто не мог украсть графику с вашего сайта. Создайте программу, накладывающую ватермарк на изображение. *По желанию: Используйте многопоточность для одновременной обработки нескольких изображений. * Реализация:
Python
Черепашья графика
Стандартный проект, в котором вы создаёте плоскость из квадратов 20х20. С помощью различных команд вы управляете черепахой, которая рисует линию на плоскости. Вы можете двигать её вперёд, назад, двигать влево и вправо, поднимать и опускать перо и т.д. Подробную информацию ищите в Google по запросу “черепашья графика”. По желанию: добавьте в программу возможность считывать список команд из файла
Безопасность
Шифр Цезаря
Реализуйте шифр Цезаря, как шифрование, так и дешифрование. Ключом является целое число от 1 до 25. Этот ключ сдвигает буквы алфавита (от A до Z). При шифровании каждая буква алфавита заменяется буквой, находящейся на выбранное количество позиций дальше (алфавит закольцовывается). Таким образом, при использовании ключа 2 “HI” становится “JK”, а при использовании ключа 20 “HI” превращается в “BC”. Это простое моноалфавитное шифрование легко взламывается, поскольку злоумышленник, у которого на руках есть зашифрованное послание, может использовать частотный анализ, или просто попробовать все 25 ключей. Реализации:
Python №1,
Python №2,
Java
Post Views: 10 177
Читайте также
Почему лучше использовать Python в качестве первого языка программирования Чтобы начать понимать Python достаточно хотя бы немного знать английский язык. Как показывают исследования Ассоциации Вычислительной Техники, язык Python занимает лидирующие…
27 сайтов с задачками для оттачивания навыков программирования В этой статье мы рассмотрим 27 самых популярных сайтов с задачками по программированию. 1. Codewars Codewars — отличный сервис для закрепления навыков разработки…
5 сайтов для оттачивания навыков написания SQL-запросов Одним из ключевых навыков при работе с базами данных является умение писать sql-запросы. Мы отобрали 5 лучших сайтов для оттачивания…