Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2015 Курсовой_Задания

.doc
Скачиваний:
19
Добавлен:
07.06.2015
Размер:
71.68 Кб
Скачать

Средняя сложность

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

  2. Вычислить выражение , используя формулы разложения функций в ряд Тейлора.

  3. Вычислить выражение , используя формулы разложения функций в ряд Тейлора.

  4. Василий Петрович решил в одной из комнат своей квартиры постелить ламинат. Помогите Василию Петровичу решить задачу выбора ламината. Рассчитать процент отходов на упаковку, если размеры комнаты – MxN мм, размер доски ламината – pxq мм, зазоры от каждой стены – 10 мм, торцевые швы должны быть смещены на половину длины доски, в упаковке z шт.

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

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

  7. Разработать игру «крестики-нолики» в графическом режиме.

  8. Разработать генератор случайного списка мужчин (фамилия, имя, отчество) с заданным количеством на базе исходного файла списка мужских имён. Программа должна формировать текстовый файл. Генератор должен учитывать закономерности образования отчеств и фамилий в зависимости от окончаний имён, например: оканчивается на согласную (Петр, Иван) – добавляется «-ов» и «-ович» соответственно; оканчивается на «-й» (Сергей, Дмитрий) – вместо «-й» добавляется «-ев» и «-евич» соответственно.

  9. Разработать программу построения изображения закодированного в виде свойств примитивов. Исходный файл состоит из набора строк, в каждой строке характеристики примитивов в формате <номер_примитива>, <свойство1> [, <свойство2>, …]. Примитивы: 1 – точка (свойства – две координаты, цвет; 2 – окружность (свойства – координаты центра, радиус, цвет); 3 – круг (свойства – координаты центра, радиус, цвет заливки); 4 – эллипс (координаты левого верхнего угла, правого нижнего, цвет)… Программа должна отрисовывать все корректно описанные примитивы и формировать список строк с номерами в файл с ошибочно заданными примитивами)

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

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

  12. Разработать программу слияния двух текстовых файлов. В результате выполнения программы должен быть сформирован третий файл по принципу: первое слово из первого файла, второе – из второго, третье – из первого и т.д. Если один файл содержит меньше слов, чем другой, то он начинает использоваться с первого слова.

  13. Построить график функции на заданном интервале. Участки возрастания функции отметить зеленым цветом, участки убывания – красным, точки минимума и максимума выделить особым образом.

  14. Реализовать алгоритмы сортировки выбором и перемешиванием, сравнив их скорость работы. Входной файл – исходный массив, выходной файл – результат сортировки первым и вторым методами с указанием числа обменов.

  15. Реализовать блочный алгоритм сортировки и гномью сортировку, сравнив их скорость работы. Входной файл – исходный массив, выходной файл – результат сортировки первым и вторым методами с указанием числа обменов.

  16. Выполнить сортировку символов в строке по возрастанию «весов» символов, заданных таблицей. Символы, не попавшие в таблицу, выводятся в конце таблицы по мере появления в тексте. Входной файл: в первой строке находится строка, задающая вес символов для сортировки , во второй строке – текст, который нужно отсортировать. Выходной файл: отсортированный текст.

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

  18. Найти в текстовом файле все прилагательные и вывести их в отдельный файл.

  19. Заданы день и месяц рождения, а также текущие день, месяц и год в формате дд.мм.гггг. Определить, сколько дней осталось до дня рождения.

  20. Заданы дата рождения (дд.мм.гггг) и текущий день (дд.мм.гггг). Определить возраст в днях, неделях, месяцах и годах.

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

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

  23. Текст поделен на фрагменты. Символ окончания фрагмента - «\», после символа «\» следует число N – номер следующего фрагмента (0 – признак последнего предложения текста). Фрагментированный текст задан в файле in.txt, результат дефрагментации записать в файл out.txt.

    Содержимое файла in.txt

    Содержимое файла out.txt

    ка оче\5У кошки Му\4ила их.\0рки были кот\6нь люб\3ята. Мур\1

    У кошки Мурки были котята. Мурка очень любила их.

  24. Разработать кодировщик текста. Кодирование заключается в делении текста на фрагменты, длина фрагмента от 5 до 10 символов (для определения длины использовать функцию random). По окончанию фрагмента записать «\N»,где N – номер следующего фрагмента (0 – признак последнего фрагмента текста). Фрагменты расположить случайным образом. Исходный текст задан в файле input.txt, результат фрагментации записать в файл output.txt.

  25. Разработать программу сложения, вычитания чисел с плавающей запятой. Формат числа с плавающей запятой задается при запуске программы.

  26. Разработать кодировщик текста. Заменить десять часто встречающихся слов длиннее 4 букв комбинацией символов. Входной файл input.txt: исходный текст, выходной файл output.txt: закодированный текст, выходной файл cipher.txt: соответствие слов и кодов.

  27. По координатам двух прямоугольников определить пересекаются ли они, если да, то какова площадь пересечения. Стороны прямоугольников параллельны.

  28. По координатам центров и радиусам двух окружностей определить пересекаются ли они, если да, то какова площадь пересечения.

  29. Используя графический режим, разработать программу «Аналоговые часы».

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

  31. Разработать редактор раздела «Комментарий» JPEG файла.

  32. Применить к изображению в bmp файле (24 бита) фильтр к каждому пикселу в формате RGB. Использовать линейный фильтр, который задается по двум точкам. В результате выполнения программы должен формироваться новый файл с изменённым изображением.

Высокая сложность

  1. Разработать программу численного решения ДУ теплопроводности в ЧП методом конечных разностей. Одномерное параболическое уравнение с ГУ-3 и кусочно-линейным заданным распределением теплоисточников, меняющимся во времени. Распределение может быть задано в виде файла, каждая строка определяет <время>, <координата>, <значение мощности>, <координата>, <значение мощности>, <координата>, <значение мощности>… Программа должна считать, что мощность между двумя координатами линейно изменяется. Вывести в текстовый файл изменение температуры в точках: <время>,<температура в точке1>,<температура в точке2>... Время окончания нагрева и координаты точек задаются при запуске программы.

  2. Разработать программу численного решения дифференциального уравнения диффузии в ЧП методом конечных разностей, с граничными условиями , . Функция задается в файле, каждая строка которого определяет <время>, <значение>. Вывести в текстовый файл значения функции в точках: <время>, <значение в точке 1>, <значение в точке 2>…Координаты точек, длина отрезка L, скорость V, шаг дискретизации по времени и координате задаются при запуске программы.

  3. Разработать архиватор и разархиватор методом кодирования длин серий: серия из более чем трёх одинаковых байтов и менее 256 заменяется тремя байтами: 1 – байт-признак начала закодированной серии, 2 – значение байта, 3 – количество повторений. При этом любая серия байтов исходного файла, которая состоит из байтов со значением байта-признака (даже один байт), должна быть заменена тремя байтами: 1 – байт-признак начала закодированной серии, 2 – байт-признак начала закодированной серии, 3 – количество повторений. Байт-признак определить путём анализа исходного файла: нужно сначала найти значение байта, которое реже всего встречается. Его записать в начало архива, чтобы разархиватор знал, с чем работать. Обе программы должны на основе исходного файла формировать новый файл.

  4. Залить цветом выбранную область изображения. Изображение задано в bmp файле (24 бита), результат заливки сохранить в новом файле.

  5. Трансформировать содержимое текстового файла в изображение. Первые три символа определяют цвет первого пикселя в формате RGB и тд. Сохранить получившееся изображение в bmp-файл (24 бита). Изображение должно быть выровнено по центру холста и иметь равные стороны.

  6. Расположить два изображения рядом. На входе программы – два файла с изображениями в формате bmp(24 бита, 8 бит), на выходе – один файл, в котором два изображения. Порядок расположения задает пользователь.

  7. Повернуть изображение в bmp файле (24 бита) на заданный угол и сохранить в новом файле.

  8. Применить к изображению в bmp файле (24 бита) медианный фильтр. Для фильтрации использовать квадратную маску размером NxN. Отфильтрованное изображение сохранить в отдельном файле.

  9. Применить к изображению в bmp файле (8 бита) медианный фильтр. Для фильтрации использовать маску в виде креста размером NxN. Отфильтрованное изображение сохранить в отдельном файле.

  10. Разработать программу разбора и вычисления арифметического выражения. На входе программы – строка, например: (12.3+17.4–23.8*(12+6.5))/(8+17). Программа должна вернуть результат вычисления или сообщение, в какой позиции строки обнаружена ошибка (недопустимый символ, незакрытая скобка и т.п.). Программа должна различать четыре арифметических действия и скобки.

  11. Рассчитать среднюю яркость bmp-файла (8 бит), используя представление цвета каждого пиксела в формате YUV. Разработать программу «осветления/затемнения» яркости исходного изображения на 10% от средней. В результате выполнения программы должен формироваться новый файл с изменённым изображением.

  12. Разработать программу, повышающую контрастность изображения (24 бита, 8 бит). В результате выполнения программы должен формироваться новый файл с изменённым изображением.

  13. Применить к изображению в bmp файле (24 бита) фильтр к каждому пикселу в формате YUV. Фильтр задается в текстовом файле по точкам для каждого канала. В результате выполнения программы должен формироваться новый файл с изменённым изображением.

  14. Выполнить соляризацию (24 бита, 8 бит) изображения в bmp файле, результат сохранить в новом файле.

  15. Выполнить наклон черно-белого изображения заданного в bmp-файле, результат сохранить в новый файл.

  16. Применить к изображению в bmp файле (8 бит) фильтр к каждому пикселу в формате RGB. Фильтр задается в текстовом файле по точкам. Пользователь должен выбрать канал для фильтрования R, G или B. В результате выполнения программы должен формироваться новый файл с изменённым изображением.

  17. Выполнить масштабирование изображения заданного в bmp файле (24 бита) методом билинейной интерполяции.

  18. Выполнить сегментацию текстурного изображения заданного в bmp-файле. Палитра – grayscale.

  19. Выполнить линейное контрастирование изображения. Построить гистограмму яркости до и после контрастирования. Результат контрастирования сохранить в bmp-файле.

  20. Выполнить преобразование цветного изображения в черно-белое, при переводе задать параметры преобразования. Результат сохранить в bmp-файле.