Примеры лабораторных работ

main:

Интерфейс приложения должен быть в exe файле, логика приложения должна быть реализована в виде dll модуля. ****Написать программу, реализующую:

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

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

  3. Эмулятор консоли. Программа работает с виртуальным деревом каталогов, каждый каталог может содержать в себе другие каталоги и файлы. Реализовать команды cd, mkdir, del, ls (dir), create (команда, создающая файлы), cat (команда, подсчитывающая элементы, содержащиеся в текущей директории).

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

  5. Работу с расписанием студента. Каждая запись представляет собой день недели. День недели содержит в себе записи о парах, каждая пара характеризуется наименованием предмета, номером кабинета и временем начала пары. Программа должна уметь заполнять/модифицировать расписание, показывать расписание.

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

  7. Генерацию осмысленного текста. Программа должна читать кусок осмысленного текста, создавать набор записей типа (слово-префикс àвсе встречающиеся в тексте слова-префиксы). Потом, на основе полученного набора генерируется N=10 предложений.

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

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

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

  11. Работу с многочленами. Программа должна уметь складывать, вычитать и перемножать многочлены, а также находить их решение на задаваемом промежутке (а, в).

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

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

alternative:

Разработать динамическую библиотеку и набор тестов для неё.

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

  2. Библиотека для работы с двумерными векторами. Должны быть определены операторы сложения, вычитания, скалярного умножения, вывода в поток, копирования, сравнения, функции вычисления модуля вектора и его угла.

  3. Библиотека для работы с трёхмерными векторами. Должны быть определены операторы сложения, вычитания, векторного умножения, вывода в поток, копирования, сравнения, функции вычисления модуля вектора и его угла.

  4. Библиотека для работы с многочленами. Должны быть определены операторы сложения, вычитания, умножения и деления многочленов, нахождения остатка от деления, вывода в поток, копирования, сравнения, функции нахождения корней многочленов на задаваемом промежутке (а, в).

    1. Библиотека для работы с графами. Должны быть определены функции добавления вершин и ребер, инициализации графа по матрицам смежности и инцидентности, вычисления кратчайшего пути в графе между двумя вершинами, вычисление степени графа, сравнение и копирование графов, вывод в поток.

  5. Библиотека для работы с большими целыми числами. Должны быть определены операторы сложения, вычитания, умножения, деления, нахождения остатка от деления, вывода в поток, чтения из потока, копирования, сравнения.

  6. Библиотека для работы с геометрическими объектами. Должны быть определены типы данных: точка, отрезок, прямая. Должны быть определены функции копирования и сравнения объектов, функции определения принадлежности (точка – прямой или отрезку, отрезок - прямой), нахождения точки пересечения прямых, создание отрезков и прямых по 2 точкам, создание прямой по отрезку.

  7. Библиотека для работы с XML документами. Должны быть определены типы данных: XMLDocument, XMLElement, XMLAttribute, XMLNode, XMLText. Должны быть реализованы функции создания документа XML, добавления/удаления новых элементов к документу, поиск элемента по ID, поиск элементов по имени. (http://xhtml.ru/2007/07/05/dom-methods-cheatsheet/)

  8. Библиотека для работы с квадратными матрицами размерности 3. Должны быть определены: тип данных Matrix3, операции сложения, вычитания и умножения матриц, вывод в поток, операции копирования и сравнения, а также функция определения детерминанта матрицы.

  9. Библиотека форматирования / обработки данных. Должны быть определены функции:

    1. string ltrim(string) – удаление лидирующих пробелов в строке

    2. string rtrim(string) – удаление завершающих пробелов в строке

    3. string trim(string) – удаление краевых пробелов в строке

    4. string itos(int d, int n) – преобразование целого числа d в строку, n символов

    5. int stoi(string) – преобразование строки в целое число

    6. int gcd(int, int) – вычисление наибольшего общего делителя

    7. bool is_prime(int) – проверка числа на простоту

Last updated