Экзаменационные материалы
Для групп специальности 2 – 40 01 01 «Программное обеспечение
информационных технологий»
2017
Составил преподаватель_________С. Г. Сутович
Рассмотрена и утверждена на заседании цикловой комиссии информатики и программирования
Протокол №______ от «______»__________________201__г
Председатель _________________ С. Г. Тыбербай
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
В соответствии с примерным тематическим планом, утверждённым Министерством образования Республики Беларусь от 15.07.2013 г. изучение дисциплины рассчитано на 176 часа в течение двух семестров — пятого и шестого. В конце шестого семестра предусмотрено проведение экзамена.
Программа дисциплины предусматривает изучение основ работы на языке C# в операционной системе Windows, основы объектно-ориентированного языка С#, приемы работы в среде программирования Visual Studio на платформе.Net. В результате изучения предмета у учащихся должны быть сформированы глубокие знания и прочные умения в соответствии с требованиями квалификационной характеристики.
Цель поведения экзаменов — проверка теоретических знаний и практических навыков и умений учащихся решать конкретные задачи по дисциплине. С этой целью на экзамен разработан комплект экзаменационных билетов, вопросы и задачи в которых охватывают всё содержание дисциплины. Каждый билет содержит два теоретических вопроса и одно практическое задание. Перечень теоретических вопросов и содержание практических заданий на экзамен представлены в соответствующих разделах настоящей программы.
Учащиеся должны знать на уровне представления:
- перспективы развития теории и технологии проектирования программных продуктов;
- современные средства, языки и системы проектирования и программирования для создания приложений;
- методы конструирования сложных программных систем;
Знать на уровне понимания:
- приемы и методы проектирования программного обеспечения;
- классификацию языков программирования;
- не менее двух языков программирования высокого уровня;
- требования к разработке программного обеспечения;
- механизмы разработки программ, библиотечные функции, организацию пользовательских библиотек;
Учащиеся должны уметь:
- проектировать структуру приложения, структуру данных, системы меню, контроля информации, системы помощи и системы документирования с использованием современных средств;
- осуществлять программную реализацию алгоритма решения поставленной задачи в различных предметных областях;
- подготавливать разработанные приложения к распространению, выполнять их установку;
- вносить изменения в существующие программы.
ПЕРЕЧЕНЬ ТЕОРЕТИЧЕСКИХ ВОПРОСОВ
1. Основные понятия языка С#: алфавит языка, структура программы, типы данных.
2. Выражения. Простой оператор. Составной оператор. Разница между оператором и операцией. Примеры.
3. Операторы ввода-вывода. Работа с консолью. Спецификаторы типа. Примеры.
4. Основные математические функции. Обращение, пример применения.
5. Условный оператор: назначение, область применения, синтаксис.
6. Оператор выбора: назначение, область применения, синтаксис. Примеры.
7. Оператор организации циклов со счетчиком. Синтаксис. В каких случаях применяется, примеры.
8. Оператор организации циклов с предусловием. Синтаксис. В каких ситуациях применяется, примеры.
9. Оператор организации циклов с постусловием. Синтаксис. В каких ситуациях применяется, примеры.
10. Оператор организации циклов foreach. Синтаксис. В каких ситуациях применяется, примеры.
11. Массивы. Определение массива. Объявление в программе. Использование, примеры.
12. Класс Array. Создание объекта. Методы класса. Примеры.
13. Двухмерные массивы. Определение. Объявление в программе. Использование, примеры.
14. Структуры данных: определение, предназначение. Синтаксис объявления. Работа со структурами. Примеры.
15. Символьные переменные и строки, описание. Процедуры и функции обработки строк. Примеры.
16. Класс String. Назначение, создание объектов. Методы и свойства. Различия с классом StringBuilder.
17. Класс StringBuilder. Назначение, создание объектов. Методы и свойства. Различия с классом и String.
18. Функции: определение, синтаксис заголовка. Вызов функций. Статические функции. Примеры работы с функциями.
19. Объектно-ориентированное программирование: определение. Основные понятия (класс, объект). Принципы ООП.
20. Инкапсуляция: определение. Суть метода. Модификаторы доступа в классе. Пример.
21. Класс. Определение. Поля, свойства и методы. Пример описания класса.
22. Класс. Объект. Конструкторы и деструктор. Назначение, использование. Примеры.
23. Наследование: определение, суть принципа. Синтаксис класса-наследника. Виды наследования. Пример реализации наследования классов.
24. Интерфейсы. Назначение интерфейсов. Синтаксис описания. Пример.
25. Абстрактные классы. Назначение. Синтаксис описания. Пример.
26. Перегрузка функций: определение, использование. Синтаксис перегрузки функций. Пример.
27. Перегрузка операторов: определение, использование. Синтаксис перегрузки операторов. Пример.
28. Класс для работы с файлами. Создание объекта. Методы и свойства. Примеры.
29. Классы StreamReader и StreamWriter. Назначение. Методы и свойства. Применение. Примеры.
30. Исключительные ситуации. Операторы обработки исключений. Генерация исключений. Пример.
31. Коллекции. Классы, представляющие необобщенные коллекции. Создание объекта. Содержимое коллекции. Методы и свойства. Примеры.
32. Коллекции. Классы, представляющие обобщенные коллекции. Создание объекта. Содержимое коллекции. Методы и свойства. Примеры.
33. Интегрированная среда программирования Visual Studio: внешний вид, назначение составных частей среды.
34. Этапы разработки программы. Структура проекта. Графический интерфейс пользователя. Технология WindowsForms.
35. Меню. Компоненты меню: главное, контекстное. Разработка системы меню. Подключение контекстного меню к компоненту.
36. Кнопки. Виды кнопок. Загрузка изображений на кнопки. Назначение различных видов кнопок.
37. Текстовые поля. Однострочные и многострочные поля. Основные свойства и методы.
38. Создание изображений. Класс Graphic. Графические примитивы, работа с цветом. Пример.
39. Потоки. Класс потока, методы и свойства. Получение текущего потока. Примеры.
40. SDI и MDI приложения. Различия. Создание дочерних окон. Примеры.
41. Диалоговые компоненты, их назначение, свойства, примеры применения. Вызов диалогов.
42. Компоненты для работы с базами данных. Настройка соединения. Подключение таблиц.
43. Навигация по базе данных. Вспомогательные компоненты. Доступ к активной записи.
44. Организация поиска в базе данных. Описание алгоритма. Используемые объекты. Пример.
45. Создание инсталлятора. Развертывание приложения.
46. Создание файла справки. Добавление справки в приложение.
47. Делегаты: определение. Назначение. Синтаксис. Примеры.
48. События: определение. Назначение. Синтаксис. Примеры.
49. Потоки выполнения. Определение. Назначение. Синтаксис. Примеры.
50. Работа с XML-данными. Основные определения. Особенности. Примеры.
51. Основные принципы работы в сети. Используемые объекты. Примеры.
52. Потоки. Асинхронное и параллельное программирование. Различия. Примеры.
53. Сборки, атрибуты, директивы. Определения, назначение, синтаксис. Примеры применения.
54. Объектно-ориентированное программирование. Основные понятия, принципы. Платформа.NET.
ПЕРЕЧЕНЬ ПРАКТИЧЕСКИХ ЗАДАЧ
- Вычислить .
- Даны 2 числа. Найти их сумму, разность, произведение и частное.
- Даны 3 числа. Найти минимальное из них.
- По введенному номеру месяца вывести его название (например: ввод – 07, вывод – июль).
- Вычислить сумму ряда . Значения x и N вводятся с клавиатуры.
- Дано число. Определить его последнюю цифру.
- Задан целочисленный массив размера N. Найти сумму элементов массива.
- Задан вещественный массив размера N. Заменить все нулевые элементы массива на -1.
- Разработать функцию для вычисления выражения .
- Дан двумерный массив. Определить произведение всех элементов третьего столбца.
- Найти количество положительных элементов массива.
- Задана вещественная матрица размером N×M. Вывести на экран суммы элементов пятой строки матрицы.
- Дана строка предложение. Вывести количество символов в строке, ее первый и последний символы.
- Задана строка, содержащая слова, разделенные пробелами. Определить количество слов в строке.
15. Разработать функцию для вычисления члена ряда: . Используя разработанную функцию вычислить сумму ряда с позиции N до позиции M.
16. Реализовать функцию нахождения количества корней квадратного уравнения вида . Коэффициенты передаются в параметрах функции. Функция возвращает 0 - нет корней, 1 - один корень, 2 - два корня.
- Описать класс Студент с полями ФИО и средний балл. Реализовать конструктор с параметрами и метод Show(). Создать экземпляр класса, вывести информацию о нем на экран.
- Описать базовый класс Животное (поля название, вес), класс-наследник – Собака (добавить поле порода). Для обоих классов реализовать конструкторы с параметрами. Продемонстрировать работоспособность классов.
- Описать класс Квадрат. Реализовать конструктор с параметрами и метод подсчета периметра. Создать экземпляр класса, вывести периметр на экран.
- Написать программу, демонстрирующую перегрузку функции нахождения среднего арифметического (двух, трех и четырех чисел).
- Написать программу нахождения частного 2-х целых чисел. Организовать обработку исключительных ситуаций.
22. Разработать приложение, позволяющее открывать текстовые файлы и сохранять в файл содержимое этого поля.
23. Разработать приложение с формой, содержащей поля для ввода 2 чисел. По нажатию на кнопку вычислять частное этих чисел. Ответ выводить в третье текстовое поле. Предусмотреть невозможность деления на 0.
КРИТЕРИИ ОЦЕНКИ
Экзамен оценивается по результатам ответа учащегося на теоретические вопросы и выполнения практического задания. Каждый вопрос оценивается исходя из максимума – 10 баллов. Оценка по экзамену формируется как среднее арифметическое оценок, полученных учащимся за теоретический вопрос и каждое практическое задание экзаменационного билета.
1 Наивысшую оценку за теоретический вопрос экзаменационного билета учащийся получает при свободном владении материалом и полном его изложении.
2 При неполном ответе на теоретический вопрос экзаменационного билета (70-90%) с несущественными ошибками учащемуся снижается наивысшая оценка на один балл.
3 При неполном ответе на теоретический вопрос экзаменационного билета (50-70%) с несущественными ошибками учащемуся снижается наивысшая оценка на два балла.
4 При неполном ответе на теоретический вопрос экзаменационного билета (50-70%) с существенными ошибками учащийся получает ноль баллов.
5 При отсутствии ответа на теоретический вопрос экзаменационного билета преподаватель предлагает учащемуся другой вопрос. При полном изложении нового вопроса и свободном владении материалом наивысшая оценка учащемуся снижается на один балл. В случае неполного ответа на теоретический вопрос, предложенный преподавателем взамен вопроса билета, оценка учащемуся снижается ещё на один или два балла. в соответствии с критериями 2 и 3.
6 Наивысшую оценку за выполнение практического задания учащийся получает при достижении правильного результата в соответствии с заданной или принятой методикой.
7 При применении правильной методики выполнения практического задания и получении ошибочного результата учащемуся снижается наивысшая оценка за задание на один балл.
8 Если учащийся не может выполнить практическое задание, то преподаватель предлагает ему другое задание. При этом наивысшая оценка за правильное выполнение нового практического задания снижается на два балла.
9 При отсутствии ответа на 1 теоретический вопрос экзаменационного билета и выполнении практического задания учащийся получает оценку на два балла ниже выставленной по критериям 6-8.
10 При отсутствии ответа на теоретические вопросы и неполном или неправильном результате выполнения практического задания, учащийся получает два балла.
11 Учащийся имеет право заменить свой экзаменационный билет. При этом оценка за экзамен, полученная учащемся по критериям 1-9, снижается на два балла.
12 Ошибку следует считать существенной, если она свидетельствует о недостаточном владении знаниями и умениями, определяемыми учебной программой, что чаще всего выражается в неполном раскрытии содержания или незавершенности отдельных этапов выполнения практического занятия. К существенным ошибкам относят ошибки, которые объясняются невнимательностью или недосмотром, т.е. учащийся проверил работу и не заметил ошибку. Существенной ошибкой является подмена одного термина другим, относящимся к данной теме, пропуск или неверное указание единицы измерения; арифметические ошибки, не приводящие к абсурдному результату, но искажающие конечный результат расчетов: стилистические ошибки, затрудняющие понимание рассуждений учащегося, логические ошибки, не приводящие к абсурдному результату («цена» задания ниже на 50%).
13 Ошибку следует считать несущественной, если она допущена только в одной из нескольких аналогичных ситуациях К несущественным ошибкам относят ошибки, которые не влияют на правильность ответа по теоретической части или выполнение практического задания: небрежное оформление, не самая рациональная запись, грамматические ошибки в терминах. Отметка за ответ или выполнение задания может быть снижена на 1 балл («цена» задания снижена на 10%).