Конструирование программ и языки программирования

 

Экзаменационные материалы

Для групп специальности 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.

 

 


ПЕРЕЧЕНЬ ПРАКТИЧЕСКИХ ЗАДАЧ

 

  1. Вычислить .
  2. Даны 2 числа. Найти их сумму, разность, произведение и частное.
  3. Даны 3 числа. Найти минимальное из них.
  4. По введенному номеру месяца вывести его название (например: ввод – 07, вывод – июль).
  5. Вычислить сумму ряда . Значения x и N вводятся с клавиатуры.
  6. Дано число. Определить его последнюю цифру.
  7. Задан целочисленный массив размера N. Найти сумму элементов массива.
  8. Задан вещественный массив размера N. Заменить все нулевые элементы массива на -1.
  9. Разработать функцию для вычисления выражения .
  10. Дан двумерный массив. Определить произведение всех элементов третьего столбца.
  11. Найти количество положительных элементов массива.
  12. Задана вещественная матрица размером N×M. Вывести на экран суммы элементов пятой строки матрицы.
  13. Дана строка предложение. Вывести количество символов в строке, ее первый и последний символы.
  14. Задана строка, содержащая слова, разделенные пробелами. Определить количество слов в строке.

15. Разработать функцию для вычисления члена ряда: . Используя разработанную функцию вычислить сумму ряда с позиции N до позиции M.

16.  Реализовать функцию нахождения количества корней квадратного уравнения вида . Коэффициенты передаются в параметрах функции. Функция возвращает 0 - нет корней, 1 - один корень, 2 - два корня.

  1. Описать класс Студент с полями ФИО и средний балл. Реализовать конструктор с параметрами и метод Show(). Создать экземпляр класса, вывести информацию о нем на экран.
  2. Описать базовый класс Животное (поля название, вес), класс-наследник – Собака (добавить поле порода). Для обоих классов реализовать конструкторы с параметрами. Продемонстрировать работоспособность классов.
  3. Описать класс Квадрат. Реализовать конструктор с параметрами и метод подсчета периметра. Создать экземпляр класса, вывести периметр на экран.
  4. Написать программу, демонстрирующую перегрузку функции нахождения среднего арифметического (двух, трех и четырех чисел).
  5. Написать программу нахождения частного 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%).

 






Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: