МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
МЕТОДЫ ПРОГРАММИРОВАНИЯ
Методические указания по проведению
практических занятий и лабораторных работ
Ульяновск 2011
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
МЕТОДЫ ПРОГРАММИРОВАНИЯ
Методические указания по проведению
практических занятий и лабораторных работ
Составители: Е.Г. Чекал, А.А. Чичев
Ульяновск 2011
УДК
Методы программирования: методические указания по проведению практических и лабораторных работ. / Сост.: Е.Г. Чекал, А.А. Чичев. - Ульяновск: УлГУ, 2011. - 33 с.
Методические указания составлены в соответствии с программой дисциплины "Методы программирования" и предусматривают подготовку бакалавров и специалистов по направлениям 075200 "Компьютерная безопасность", 075500 «Комплексное обеспечение безопасности автоматизированных систем», изучаемой в 6 и 7 семестре.
Указания предназначены для практического руководства при проведении практических занятий и лабораторных работ преподавателями и студентами всех форм обучения.
Особенностью указаний является использование ОС ALTLinux, интегрированных сред разработки Eclipse-CDT и Qt-Creator (Qt4).
Ил. 1. Библиогр. 8 назв.
Одобрены секцией
методических пособий
научно-методического
совета университета
Рецензенты:
Доцент кафедры
Доцент кафедры
© Ульяновский государственный университет, 2011
Содержание
|
6 семестр |
|
1. |
Лабораторная работа №1 |
|
2. |
Лабораторная работа №2 |
|
3. |
Лабораторная работа №3 |
|
4. |
Лабораторная работа №4 |
|
5. |
Лабораторная работа №5 |
|
6. |
Лабораторная работа №6 |
|
7. |
Лабораторная работа №7 |
|
8. |
Лабораторная работа №8 |
|
9. |
Лабораторная работа №9 |
|
10. |
Лабораторная работа №10 |
|
|
7 семестр |
|
1. |
Лабораторная работа №1 |
|
2. |
Лабораторная работа №2 |
|
3. |
Лабораторная работа №3 |
|
4. |
Лабораторная работа №4 |
|
5. |
Лабораторная работа №5 |
|
6. |
Лабораторная работа №6 |
|
7. |
Лабораторная работа №7 |
|
8. |
Лабораторная работа №8 |
|
|
Литература |
|
7 Семестр Лабораторная работа №1
Тема: Разработка консольного приложения в среде Qt Creator
Варианты
1. Проработать способ и разработать программу, осуществляющую сортировку данных в файле, состоящем из N записей. С использованием разработанной программы исследовать зависимость времени сортировки от количества записей.
2. Разработать программу составления расписания экзаменов для 5 курсов, на каждом из которых Nk групп и читается Dk дисциплин. В вузе Р лекторов, за каждым из которых закреплен список читаемых дисциплин (не более 3). Между экзаменами одной группы не менее трех и не более 5 дней.
3. Разработать программу, осуществляющую распределение N детей в зале. При этом для каждого ребенка задан список ребят (не более q), которых он не любит, и которые должны сидеть не ближе, чем через 2 человека (в ряду, между рядами, по диагонали). Количество мест в ряду – M. Требуется минимизировать количество занятых рядов.
4. Разработать программу, осуществляющую ввод перечня работ с вероятностными длительностями (длительность работы задается минимальным, средним и максимальным значением), построение сетевой модели, определение критического пути и расчет резервов времени работ.
5. Предприятие выпускает продукцию n видов. Единица продукции i-го вида весит Qi. Продукция поступает на склад случайным образом. Хранение на складе единицы продукции i-го вида стоит xi в течении единицы времени. Вывоз продукции осуществляется транспортными средствами грузоподъемностью G. Стоимость одного рейса С вне зависимости от уровня загрузки. Работать способ управления отгрузкой, минимизирующий издержки и соответствующую расчетную программу.
6. Разработать способ и программу составления графика встреч в рамках кругового турнира N команд, каждая команда должна играть не чаще, чем через два дня, в один день может играться не более М матчей (ограничение по числу полей), турнир должен завершиться в минимально возможное при заданных ограничениях время.
7. Заданы объемы и стоимости N предметов. Упаковывают свои рюкзаки двое, хватая предметы по очереди. Разработать программу, позволяющую осуществить наилучшую загрузку тому, который выбирает предметы вторым.
8. Разработать программу, осуществляющую решение задачи раскладки по ящикам в условиях, когда объемы предметов и ящиков – случайные величины, распределенные по нормальному закону с задаваемыми в исходных данных дисперсиями.
9. Разработать программу, осуществляющую:
- Определение объема ящиков и предметов, подлежащих упаковке;
- Решение задачи раскладки по ящикам методами последовательной упаковки и с предварительной сортировкой предметов. Сравнить быстродействие и качество решении, полученных разными методами.
10. Разработать программу, осуществляющую:
- Определение объем рюкзака, объемы и стоимости N предметов, подлежащих упаковке;
- Решение задачи упаковки рюкзака. На основе разработанной программы оценить зависимость времени решения от количества предметов, т.е. Tреш = F (N).
11. Разработать программу, осуществляющую:
- Расстановку ферзей на шахматной доске так, чтобы они не били друг друга.
На основе разработанной программы оценить вероятность нахождения решения при одиночном запуске программы.
12. Разработать программу, осуществляющую:
- Моделирование бросания на пол палочек длиной ровно половина ширина половицы с подсчетом числа бросаний N и числа пересечений щели между досками M;
- Расчет на этой основе числа .
С использованием разработанной программы исследовать зависимость точности определения числа от числа опытов N, т.е. D = F (N).
13. Разработать программу, осуществляющую:
- Расчет определенного интеграла функции методом бросания стрелок.
С использованием разработанной программы:
- исследовать зависимость точности определения интеграла от числа опытов, т.е. DI = F (N);
- сравнить метод бросания стрелок с методом Симпсона по точности и скорости.
14. Разработать программу, осуществляющую:
- Генерацию текста длиной N символов (N1000000);
- Определение чего больше в коде, нулевых или единичных разрядов, за время Т, Т 5 с.
С использованием разработанной программы исследовать зависимость правильности определения более часто встречающейся двоичной цифры (0 или 1) от времени анализа, т.е. Рf = F (T).
15. Разработать программу, осуществляющую:
- Ввод текста на русском языке длиной N символов (N1000000);
- Подсчет частоты вхождений отдельных букв за время Т, Т 5 с.
С использованием разработанной программы исследовать зависимость точности определения частоты вхождения букв от времени анализа, т.е. Df = F (T).
16. Разработать программу, которая позволяет осуществить обход шахматной доски конем, начиная с заданной клетки и завершая этой же клеткой, заходя во все остальные клетки только по одному разу. Вывести путь коня.
17. Разработать программу игры в «крестики-нолики» на поле 10х10, победой считается расположение 5 одинаковых символов по прямой линии без разрыва (включая и диагонали).
18. Разработать программу, обеспечивающую:
- Ввод двух целых чисел x, y (>10000);
- Переход к 128-битовому представлению целых чисел;
- Вычисление 128-битового целого z = 100*x + 50*y;
- Вывод результата
19. Разработать программу, обеспечивающую:
- Ввод двух целых чисел x, y (x>=100, y>=15);
- Переход к 128-битовому представлению целых чисел;
- Вычисление 128-битового целого z = x ^ y;
- Вывод результата