Примерная тематика самостоятельной работы
Тема №1. Информационная система обслуживания библиотеки
Задание:
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка книг в память компьютера;
c. Запись в файл списка книг из памяти компьютера;
d. Ввод информации о новой книге с клавиатуры с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех книг с упорядочиванием их по названию;
f. Вывод на экран списка всех книг с упорядочиванием их по автору;
g. Вывод на экран списка всех книг с упорядочиванием их по востребованности (по убыванию);
h. Выход из приложения с возможностью выбора сохранения и не сохранения данных в памяти компьютера в файл
Тема №2. Информационная система музыкального магазина
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка музыкальных произведений в память компьютера;
c. Запись в файл списка музыкальных произведений из памяти компьютера;
d. Ввод информации о новом музыкальном произведении с клавиатуры с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех музыкальных произведений с упорядочиванием их по названию;
f. Вывод на экран списка всех музыкальных произведений с упорядочиванием их по музыкантам;
g. Вывод на экран списка всех музыкальных произведений с упорядочиванием их по количеству экземпляров, проданных за прошлый год (по убыванию);
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Тема №3. Информационная система обслуживания работы склада
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка материалов в память компьютера;
c. Запись в файл списка материалов из памяти компьютера;
d. Ввод информации о новом материале с клавиатуры с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех материалов с упорядочиванием их по наименованию;
f. Вывод на экран списка всех материалов с упорядочиванием их по коду группы, а внутри группы –по наименованию;
g. Вывод на экран списка всех материалов с упорядочиванием их по коду единицы измерения (по убыванию);
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Тема № 4. Информационная система обслуживания работы конференции
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка персоналий в память компьютера;
c. Запись в файл списка персоналий из памяти компьютера;
d. Ввод информации о новом персоналии с клавиатуры с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех персоналий с упорядочиванием их по ФИО;
f. Вывод на экран списка всех персоналий с упорядочиванием их по место работы, а при совпадении места работы – по ФИО;
g. Вывод на экран списка всех персоналий с упорядочиванием их по ученому званию, а при совпадении места работы – по ФИО;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл.
Тема №5. Информационная система регистрации происшествий
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка сообщений о происшествиях память компьютера;
c. Запись в файл списка сообщений о происшествиях из памяти компьютера;
d. Ввод информации о новом сообщении о происшествии с клавиатуры с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех сообщений о происшествиях с упорядочиванием их по дате (по убыванию), а при совпадении даты - по регистрационному номеру (по убыванию).
f. Вывод на экран списка всех сообщений о происшествиях с упорядочиванием их по регистрационному номеру (по убыванию);
g. Вывод на экран списка всех сообщений о происшествиях с упорядочиванием их по фамилии пострадавшего;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Тема №6. Информационная система учета успеваемости студентов
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка оценок в память компьютера;
c. Запись в файл списка оценок из памяти компьютера;
d. Ввод информации с клавиатуры о новой оценке в журнале успеваемости с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех оценок с упорядочиванием их по ФИО студента, а при совпадении ФИО –по дисциплине;
f. Вывод на экран списка всех оценок с упорядочиванием их дате сдачи (в порядке убывания);
g. Вывод на экран списка всех оценок с упорядочиванием их по номеру семестра , а при совпадении номера семестра – дополнительно по наименованию дисциплины;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Тема №7. Информационная система учета аудиторного фонда университета
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка аудиторий в память компьютера;
c. Запись в файл списка аудиторий из памяти компьютера;
d. Ввод информации с клавиатуры о новой аудитории с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех аудиторий с упорядочиванием их по наименованию корпуса, в котором она расположена, а при совпадении наименования корпуса – дополнительно по номеру аудитории;
f. Вывод на экран списка всех аудиторий с упорядочиванием их по подразделениям университета, за которым она закреплена, а при совпадении наименования подразделения – дополнительно по номеру аудитории;
g. Вывод на экран списка всех аудиторий с упорядочиванием их по назначению;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Тема №8. Информационная система медицинской клиники
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка рецептов в память компьютера;
c. Запись в файл списка рецептов из памяти компьютера;
d. Ввод информации с клавиатуры о новом рецепте с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех рецептов с упорядочиванием их по ФИО пациента, а при совпадении ФИО – наименованию лекарства;
f. Вывод на экран списка всех рецептов с упорядочиванием их по ФИО врача, а при совпадении ФИО врача – по фамилии пациента;
g. Вывод на экран списка всех рецептов с упорядочиванием их дате выписки;
h. Выход из приложения с возможностью выбора сохранения и (или не сохранения) данных в памяти компьютера в файл
Тема №9. Информационная система Городской Думы
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка законопроектов в память компьютера;
c. Запись в файл списка законопроектов из памяти компьютера;
d. Ввод информации с клавиатуры о новом законопроекте с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех законопроектов с упорядочиванием их по ФИО депутата-автора, а при совпадении ФИО – дате;
f. Вывод на экран списка всех законопроектов с упорядочиванием их по разделу права, а при совпадении – по фамилии депутата-автора;
g. Вывод на экран списка всех законопроектов с упорядочиванием их дате;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
№10. Информационная система учета аренды площадей торговых помещений
Задание
1. Составить диаграмму классов и диаграмму прецедентов;
2. Разработать консольное приложение, обладающее следующим функционалом:
a. Выбор файла для работы с данными;
b. Считывание из файла списка законопроектов в память компьютера;
c. Запись в файл списка законопроектов из памяти компьютера;
d. Ввод информации с клавиатуры о новом законопроекте с сохранением данных в памяти компьютера;
e. Вывод на экран списка всех законопроектов с упорядочиванием их по ФИО депутата-автора, а при совпадении ФИО – дате;
f. Вывод на экран списка всех законопроектов с упорядочиванием их по разделу права, а при совпадении – по фамилии депутата-автора;
g. Вывод на экран списка всех законопроектов с упорядочиванием их дате;
h. Выход из приложения с возможностью выбора сохранения (или не сохранения) данных в памяти компьютера в файл
Вопросы к зачету (3 семестр)
1. Основы алгоритмизации и программирования
2. Методы формального описания алгоритмов. Схемы алгоритмов.
3. Основные характеристики алгоритмов и этапы их разработки.
4. Базовые разновидности программных алгоритмов. Принципы алгоритмизации. Разветвленные и циклические алгоритмы. Сложные циклы.
5. Алгоритмы с массивами. Взаимосвязь алгоритмов, моделей данных и постановок задач. Алгоритм и его программная реализация.
6. Понятие языка программирования.
7. Основные парадигмы программирования - процедурное, логическое, функциональное, объектно-ориентированное программирование.
8. Основные классификационные признаки и характеристики языков программирования. Синтаксис и семантика языка.
9. Понятие алгоритмического языка программирования и наиболее распространенные представители универсальных алгоритмических языков высокого уровня.
10. Система программирования и инструментальные средства поддержки основных этапов проектирования прикладных программных продуктов с использованием алгоритмического языка программирования.
11. Функциональное содержание процессов компиляции (трансляции, интерпретации) и построения загрузочных модулей, отладочных операций и тестирования.
12. Структурное программирование: общая характеристика языка C++
13. Место языка С++ в общей иерархии алгоритмических языков программирования.
14. Реализация языка для различных вычислительных платформ и операционных сред.
15. Интегрированная среда программирования системы MS Visual Studio C++.
16. Структурное программирование: структура программы на языке C++
17. Понятия программы, модуля, программной единицы. Общая структура программы. Пользовательские и библиотечные функции. Заголовочные файлы.
18. Препроцессор и его основные директивы.
19. Структурное программирование: основные элементы языка C++
20. Алфавит языка. Идентификаторы.
21. Ключевые слова и символы. Знаки операций. Синтаксис описания констант и переменных. Основные типы данных.
22. Структурное программирование: операции и выражения
23. Арифметические операции. Операции инкрементации и декрементации.
24. Логические операции и операции отношения. Операция условия.
25. Операция присваивания. Операция sizeof. Приоритет операций. Назначение выражений. Примеры выражений.
26. Структурное программирование: операторы управления
27. Основные виды операторов - операторы циклов, условных и безусловных переходов, оператор выбора. Вспомогательные операторы.
28. Простейшие операторы консольного ввода - вывода.
29. Структурное программирование: указатели, ссылки, массивы
30. Использование указателей как средства хранения адреса. Имена указателей. Операции над указателями. Оператор разыменования.
31. Использование оператора адреса (&) при работе со ссылками.
32. Возвращение значений с помощью ссылок.
33. Понятие массива. Синтаксис описания массивов. Обращение к элементам массива. Инициализация массивов.
34. Массивы и указатели.
35. Двумерные и одномерные массивы.
36. Ввод и вывод массивов.
Вопросы к экзамену (4 семестр)
1. Понятие алгоритма.
2. Методы формального описания алгоритмов.
3. Схемы алгоритмов.
4. Основные характеристики алгоритмов и этапы их разработки.
5. Базовые разновидности программных алгоритмов.
6. Принципы алгоритмизации.
7. Разветвленные и циклические алгоритмы.
8. Сложные циклы.
9. Алгоритмы с массивами.
10. Взаимосвязь алгоритмов, моделей данных и постановок задач.
11. Алгоритм и его программная реализация.
12. Понятие языка программирования.
13. Основные парадигмы программирования - процедурное, логическое, функциональное, объектно-ориентированное программирование.
14. Основные классификационные признаки и характеристики языков программирования.
15. Синтаксис и семантика языка.
16. Понятие алгоритмического языка программирования и наиболее распространенные представители универсальных алгоритмических языков высокого уровня.
17. Система программирования и инструментальные средства поддержки основных этапов проектирования прикладных программных продуктов с использованием алгоритмического языка программирования.
18. Функциональное содержание процессов компиляции (трансляции, интерпретации) и построения загрузочных модулей, отладочных операций и тестирования.
19. Место языка С++ в общей иерархии алгоритмических языков программирования.
20. Реализация языка для различных вычислительных платформ и операционных сред.
21. Интегрированная среда программирования системы MS VS C++.
22. Понятия программы, модуля, программной единицы.
23. Общая структура программы.
24. Пользовательские и библиотечные функции.
25. Заголовочные файлы.
26. Препроцессор и его основные директивы.
27. Алфавит языка С++. Идентификаторы.
28. Ключевые слова и символы.
29. Знаки операций.
30. Синтаксис описания констант и переменных.
31. Основные типы данных.
32. Арифметические операции.
33. Операции инкрементации и декрементации.
34. Логические операции и операции отношения. Операция условия (?:). Операция присваивания.
35. Операция sizeof.
36. Приоритет операций.
37. Назначение выражений.
38. Операторы циклов,
39. Операторы условных и безусловных переходов,
40. Оператор выбора.
41. Вспомогательные операторы.
42. Операторы консольного ввода - вывода.
43. Использование указателей как средства хранения адреса.
44. Имена указателей.
45. Операции над указателями.
46. Оператор разыменования.
47. Использование оператора адреса (&) при работе со ссылками.
48. Возвращение значений с помощью ссылок.
49. Понятие массива. Синтаксис описания массивов.
50. Обращение к элементам массива. Инициализация массивов.
51. Массивы и указатели. Двумерные и одномерные массивы. Ввод и вывод массивов.
52. Переименование типов (typedel).
53. Перечисления (enum).
54. Структуры (struct).
55. Объединения (union).
56. Объявление и определение функций. Вызов функций.
57. Формальные и фактические параметры функций. Механизм передачи параметров по значению и по адресу.
58. Перегрузка функций.
59. Глобальные и локальные переменные. Область видимости и время жизни объектов.
60. Классы памяти.
61. Понятие рекурсии.
62. Модели памяти.
63. Статические и динамические данные.
64. Механизмы выделения, перераспределения и очистки динамической памяти.
65. Функции, поддерживающие основные операции с динамической памятью.
66. Операторы new и delete.
67. Динамические структуры данных.
68. Линейные списки, стеки, очереди, бинарные деревья.
69. Описание и внутреннее представление файлов.
70. Текстовые и бинарные файлы.
71. Базовые операции над файлами. Режимы доступа. Позиционирование в файле.
72. Библиотечные функции работы с файлами. Понятие потока.
73. Стандартные потоки в C++.
74. Функции работы с потоками.