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

3263

.pdf
Скачиваний:
2
Добавлен:
08.01.2021
Размер:
514.27 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Воронежский государственный лесотехнический университет имени Г.Ф. Морозова»

ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ

Методические указания для самостоятельной работы студентов по направлению подготовки

09.03.02 – Информационные системы и технологии

Воронеж 2016

УДК 681.3.06 (076)

Лавлинский, В. В. Высокоуровневые методы программирования Текст : методические указания для самостоятельной работы студентов по направлению подготовки 09.03.02 – Информационные системы и технологии / В.В. Лавлинский, О.В.Оксюта, Ю.Г. Табаков; М-во образования и науки РФ, ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова». – Воронеж, 2016. – 32 с.

Печатается по решению учебно-методического совета ФГБОУ ВО «ВГЛТУ им. Г.Ф. Морозова» (протокол № __ от _______ 2016 г.)

Рецензент заведующий кафедрой электротехники и автоматики ФГБОУ ВПО ВГАУ д-р.техн.наук., проф. Д.Н. Афоничев

 

© Оксюта О.В., 2016

ISBN

© ФГБОУ ВО «Воронежский государственный

 

лесотехнический университет имени

 

Г.Ф. Морозова», 2016

ВВЕДЕНИЕ

Методические указания подготовлены в соответствии с рабочей программой дисциплины «Высокоуровневые методы программирования» для студентов по направлениям подготовки 09.03.02 – Информационные системы и технологии. Целью изучения данной дисциплины является формирование у студентов знаний и умений применения объектно-ориентированного и компонентного подходов к разработке прикладных программных систем в среде операционной системы Windows с использованием современной платформы разработки и языка программирования C++.

В результате освоения дисциплины студент должен:

знать: основы проектирования программного обеспечения; технологии модульного и объектно-ориентированного программирования; концепции, модели и принципы организации, положенных в основу «классических» технологий программирования и современных семейств технологий;

уметь: создавать программные продукты с использованием современных средств разработки, применять технологию визуальных средств программирования;

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

СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

Раздел 1. Введение в высокоуровневые методы программирования

Методы высокоуровневого программирования. Подходы в области развития и повышения эффективности программирования. Эволюция разработки программного обеспечения. Развитие языков программирования. История организации процесса тестирования программ и методов тестирования. Методики и средства программирования.

Раздел 2. Модульное программирование

Понятие программного модуля. Модульное программирование. Критерии приемлемости выделенного модуля. Основные характеристики программного модуля. Размер модуля. Прочность модуля. Функционально проч-

3

ный модуль. Информационно прочный модуль. Сцепление модуля. Рутинность модуля. Рекомендации по применению модуля, зависимого от предыстории.

Раздел 3. Методы разработки структуры программы

Модульная структура программы. Спецификация программного модуля. Метод восходящей разработки. Метод нисходящей разработки. Конструктивный подход к разработке программы. Архитектурный подход к разработке программы. Контроль структуры программы. Методы контроля структуры программы. Статический контроль. Смежный контроль. Сквозной контроль.

Раздел 4. Элементы структурного программирования

Порядок разработки программного модуля. Изучение и проверка спецификации модуля, выбор языка программирования. Выбор алгоритма и структуры данных. Программирование (кодирование) модуля. Шлифовка текста модуля. Проверка модуля. Компиляция модуля. Структурное программирование. Типы управляющих конструкций.

Раздел 5. Пошаговая детализация и понятие о псевдокоде

Пошаговая детализация. Головное описание на псевдокоде. Неформальное обозначение обобщенного оператора на псевдокоде. Контроль программного модуля. Методы контроля программного модуля. Статическая проверка текста модуля. Сквозное прослеживание. Доказательство свойств программного модуля.

Раздел 6. Объектно-ориентированный подход в разработке программ

Проблемы программного обеспечения. Основные понятия объектноориентированного программирования (ООП). Объекты. Классы. Инкапсуляция. Наследование. Ограничение доступа. Полиморфизм. Устойчивость. Концепция ООП. Языки ООП. Критерии применимости ООП.

Раздел 7. Основные понятия объектов в высокоуровневых языках программирования

Описание реальности с точки зрения объектно-ориентированного подхода. Типы абстракций. Абстракция понятия. Абстракция действия. Абстракция виртуальной машины. Случайная абстракция. Категории объектов. Реальные объекты. Роли. Инциденты. Взаимодействия. Спецификации. Идентификация объектов. Состояние объекта. Интерфейс. Методы и атрибуты.

4

Раздел 8. Классы в высокоуровневых методах программирования

Понятие класса. Атрибуты класса. Виды классов. Управляющие классы. Предметные классы. Интерфейсные классы. Контейнерные классы.

Раздел 9. Основные виды методов для высокоуровневых языков программирования

Методы классов. Конструктор. Деструктор. Методы чтения. Методы изменения. Перегрузка методов. Перегруженные конструкторы. Именование классов, атрибутов и методов.

Раздел 10. Основные средства разработки классов

Наследование. Наследование атрибутов. Диаграмма классов. Производные классы. Суперкласс (базовый). Связи между классами. Множественное наследование. Интерфейс класса. Полиморфизм. Преимущества полиморфизма. Полиморфизм с перегрузкой.

Раздел 11. Отладка, тестирование и документирование программ

Отладка программного средства. Тестирование программного средства. Задачи отладки программных средств. Виды отладки программного средства. Оптимальная стратегия проектирования тестов. Автономная отладка программного средства. Принципы отладки программного средства. Автономная отладка программного средства. Восходящее тестирование. Нисходящее тестирование. Тестирование сопряжения модулей. Автономное тестирование программного средства. Комплексная отладка программного средства. Тестирование при комплексной отладке. Тестирование архитектуры программного средства. Тестирование внешних функций. Тестирование качества программного средства. Тестирование документации по применению программного средства. Тестирование определения требований к программному средству. Организация тестирования в высокоуровневых языках программирования. Тестирование элементов. Интеграционное тестирование. Системное тестирование. Единица тестирования. Тестирование наследования. Тестовые сценарии. Тестирование полиморфизма. Системное тестирование.

Раздел 12. Организация разработки программных систем

Назначение управления разработкой программного средства и его основные процессы. Процессы управления разработкой программного средства. Структура управления разработкой программных средств.

Раздел 13. Управление качеством программного средства

5

Планирование и составление расписаний по разработке ПС. Аттестации программного средства. Методы оценки примитивов качества программного средства.

Раздел 14. Инструментальные и языковые средства поддержки и автоматизации проектирования программных систем

Программные инструменты в жизненном цикле программных средств. Инструментальные среды и инструментальные системы поддержки разработки программных средств, их классификация. Компьютерная технология (CASE-технология) разработки программных средств и ее рабочие места. Общая архитектура инструментальных систем технологии программирования. Поддержка процесса жизненного цикла ПС с помощью методов моделирования. Инструментальные средства разработки и сопровождения программных средств.

Раздел 15. Документирование программных средств

Документация, создаваемая и используемая в процессе разработки программных средств. Документы управления разработкой ПС. Типы документов управления. Документы, входящие в состав ПС. Пользовательская документация программных средств. Документация по сопровождению программных средств.

СОДЕРЖАНИЕ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

Дисциплина «Высокоуровневые методы программирования» предусматривает лабораторные занятия, темы которых приведены в табл. 1. Студенты после выполнения каждой работы составляют письменный отчет, который устно защищается.

 

6

 

Таблица 1

 

 

№ п/п

Наименование практических работ

 

 

1

2

 

 

1

Объявление и описание функций

 

 

2

Применение при передаче параметров спецификации const в функци-

 

ях

3

Способы применения встраиваемых функций и их перегрузка

 

 

4

Объявление и описание структуры

 

 

5

Создание структур в стиле С++

 

 

6

Объявление и описание классов

 

 

Отчет лабораторных работ может включать выполнение индивидуальных практических заданий, выдаваемых преподавателем.

Примеры заданий к лабораторной работе № 1

Разработайте алгоритм, интерфейс пользователя, позволяющего вводить именованные исходные данные и вывод результатов, и программу решения задачи:

Вариант 1. Площади треугольника со сторонами a, b, c по формуле Ге-

рона.

s p( p a)( p b)( p c) ,

где p = (a+ b + c)/2

Вариант 2. Площади поверхности усеченного конуса для заданных R,

r,l.

S (R r)l R2 r2

Вариант 3. Объема усеченного конуса для заданных R, r, h.

V (R2 r2 Rr)h/3

Вариант 4. Координаты центра тяжести трех материальных точек с массами m1, m2, m3 и координатами ( x1,y1), (x2,y2), (x3,y3).

x m1x1 m2x2 m3x3 m1 m2 m3

y m1y1 m2y2 m3y3 m1 m2 m3

Вариант 5. Площади трапеции: где а и b — длины оснований; h — высота трапеции.

7

S 0,5(a b)h

Примеры заданий к лабораторной работе № 2

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

Вариант 1. Разработать алгоритм, интерфейс пользователя и программу вычисления величины z по формуле:

x3/y, если y !=0;

z = ―делитель равен 0‖,если y=0.

Вариант 2. Разработать алгоритм, интерфейс пользователя и программу вычисления величины z по формуле:

z = x3/y, где y = sin(n*x+0,5).

Вариант 3. Разработать алгоритм, интерфейс пользователя и программу вычисления величины z по формуле:

sin(x) , если x<=a; z = cos(x), если a< x<b;

tg(x), если x>=b.

Вариант 4. Разработать алгоритм, интерфейс пользователя и программу упорядочивания трех чисел: a, b, c.

Вариант 5. Разработать алгоритм, интерфейс пользователя и программу вычисления величины y по формуле:

ln(x), если x >=1 y = 1 , если x = 0;

ex, если x <=-1.

Примеры заданий к лабораторной работе № 3 Вариант 1. Разработать алгоритм, интерфейс пользователя и написать

код программы, позволяющей вычислить и вывести на печать сумму К членов числового ряда:

K

k 1 k

2

k 1

 

 

 

S ( 1)

 

 

 

 

 

;

 

 

 

xk

k 1

 

 

 

 

8

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

S

k

2 ;

K

 

 

k 0

k 2 1

Вариант 3. Разработать алгоритм, интерфейс пользователя и написать код программы, позволяющей вычислить и вывести на печать произведение К членов числового ряда:

P

K

( 1)k *[k

2 k 1]

 

 

 

 

;

1* 2 *3*...* k

 

k k0

 

целое K ввести с клавиатуры.

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

 

x

 

 

 

 

 

K

k

 

 

 

 

 

S

 

при

 

x

 

1

 

 

 

k 2 2

k 0

 

 

 

 

 

ak 0,001.

с точностью S

Вариант 5. Разработать алгоритм, интерфейс пользователя и написать код программы, позволяющей вычислить и вывести на печать произведение членов числового ряда:

K

sin(kx)

P

 

1*3*5*...* (2k 1)

k 1

с точностью ak 0,01.

Примеры заданий к лабораторной работе № 4 Вариант 1. Разработать алгоритм, интерфейс пользователя и програм-

му, позволяющую в матрице размером 10х10 действительных чисел заменить нулями все элементы, превышающие среднее значение элемента.

Вариант 2. Разработать алгоритм, интерфейс пользователя и программу, позволяющую упорядочить строки матрицы размером 6х6 по возрастанию значений минимальных элементов этих строк.

9

Вариант 3. Разработать алгоритм, интерфейс пользователя и программу, позволяющую вычислить и записать в массив значения функции y = Ax2, при известных значениях x1, x2, x3, x4 и A.

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

Вариант 5. Разработать алгоритм, интерфейс пользователя и программу, позволяющую в матрице размером 10х10 целых чисел вычислить сумму элементов верхней треугольной матрицы.

Примеры заданий к лабораторной работе № 5 Вариант 1. Разработайте алгоритм, интерфейс пользователя и про-

грамму, позволяющую определить число слов в предложении.

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

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

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

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

Примеры заданий к лабораторной работе № 6 Вариант 1. Разработайте алгоритм, интерфейс пользователя и про-

грамму, позволяющую отобразить на форме график экспоненциальной функции.

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

Вариант 3. Разработайте алгоритм, интерфейс пользователя и программу, позволяющую отобразить на форме график функции, описываемой квадратным уравнением.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]