Методические рекомендации по организации самостоятельной работы студентов по МДК 01.02. Прикладное программирование.


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

Составитель: Краскова Ольга Владимировна, преподаватель ГБПОУ «Ставропольский региональный многопрофильный колледж»
Методические рекомендации по организации самостоятельной работы студентов по МДК 01.02. Прикладное программирование.
Методические рекомендации предназначены для студентов, обучающихся по специальности 09.02.03 «Программирование в компьютерных системах».
В пособии приведены рекомендации по организации самостоятельной работы в процессе изучения МДК 01.02. Прикладное программирование при работе с учебниками, конспектами. Указаны виды самостоятельной работы по темам дисциплины, самостоятельные индивидуальные задания для закрепления навыков разработки программ в среде программирования Borland C++ Builder 6, рекомендуемая литература и формы контроля по каждой теме.
Рассмотрено на заседании кафедры Программного обеспечения и информационных технологий.
Содержание
TOC \o "1-3" \h \z \u 1НОРМАТИВНЫЙ БЛОК PAGEREF _Toc405297794 \h 51.1 Выписка из федерального государственного образовательного стандарта среднего профессионального образования PAGEREF _Toc405297795 \h 51.2. Выписка из учебного плана PAGEREF _Toc405297796 \h 61.3 Календарно-тематический план МДК 01 02 Прикладное программирование PAGEREF _Toc405297797 \h 72 ИНФОРМАЦИОННЫЙ БЛОК PAGEREF _Toc405297798 \h 232.1 Краткий теоретический материал PAGEREF _Toc405297799 \h 23Основы языка С++ PAGEREF _Toc405297800 \h 23Объявление переменных PAGEREF _Toc405297801 \h 23Переменные: объявление, определение, инициализация PAGEREF _Toc405297802 \h 24Инструкция присваивания PAGEREF _Toc405297803 \h 25Вывод PAGEREF _Toc405297804 \h 25Ввод PAGEREF _Toc405297805 \h 26Программы с линейной структурой PAGEREF _Toc405297806 \h 26Инструкция if PAGEREF _Toc405297807 \h 26Инструкция switch PAGEREF _Toc405297808 \h 27For PAGEREF _Toc405297809 \h 27dowhile PAGEREF _Toc405297810 \h 27While PAGEREF _Toc405297811 \h 28Массивы PAGEREF _Toc405297812 \h 28Символы и строки PAGEREF _Toc405297813 \h 28Функции PAGEREF _Toc405297814 \h 29Файлы PAGEREF _Toc405297815 \h 29Рекурсия PAGEREF _Toc405297816 \h 292.2 Краткие сведения о компонентах C++ Builder PAGEREF _Toc405297817 \h 293 МЕТОДИЧЕСКИЙ БЛОК PAGEREF _Toc405297818 \h 583.1 Технологическая карта самостоятельной работы обучающихся PAGEREF _Toc405297819 \h 583.2 Содержание самостоятельной работы PAGEREF _Toc405297820 \h 60Тема 2.1 Введение. PAGEREF _Toc405297821 \h 60Тема 2.2. Технология разработки прикладного программного обеспечения PAGEREF _Toc405297822 \h 65Тема 2.3. Основы прикладного программирования с использованием языка С++ PAGEREF _Toc405297823 \h 78Тема 2.4. Реализация объектно-ориентированного программирования на языке С++ PAGEREF _Toc405297824 \h 99Тема 2.5. Пользовательский интерфейс прикладных программ PAGEREF _Toc405297825 \h 107Примерные темы индивидуальных проектов PAGEREF _Toc405297826 \h 115Примерные вопросы к экзамену. PAGEREF _Toc405297827 \h 117Приложение 1. Требования к содержанию и оформлению сообщения PAGEREF _Toc405297828 \h 121Приложение 2. Критерии оценивания практических заданий PAGEREF _Toc405297829 \h 125Приложение 3. Рабочая тетрадь PAGEREF _Toc405297830 \h 126

НОРМАТИВНЫЙ БЛОК1.1 Выписка из федерального государственного образовательного стандарта среднего профессионального образованияпо специальности 09.02.03 Программирование в компьютерных системах
ПМ.00 Профессиональные модули
ПМ.01 Разработка программных модулей программного обеспечения для компьютерных систем
МДК 01.02. Прикладное программирование
В результате изучения профессионального модуля
обучающийся должен:
иметь практический опыт:
разработки алгоритма поставленной задачи и реализации его средствами автоматизированного проектирования;
разработки кода программного продукта на основе готовой спецификации на уровне модуля;
использования инструментальных средств на этапе отладки программного продукта;
проведения тестирования программного модуля по определенному сценарию;
уметь:
осуществлять разработку кода программного модуля на современных языках программирования;
создавать программу по разработанному алгоритму как отдельный модуль;
выполнять отладку и тестирование программы на уровне модуля;
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
основные принципы отладки и тестирования программных продуктов;
методы и средства разработки технической документации
ОК 1-10
ПК 1.1. Выполнять разработку спецификаций отдельных компонент.
ПК 1.2. Осуществлять разработку кода программного продукта на основе готовых спецификаций на уровне модуля..ПК 1.3. Выполнять отладку программных модулей с использованием специализированных программных средств.
ПК 1.4. Выполнять тестирование программных модулей
ПК 1.5. Осуществлять оптимизацию программного кода модуля.
ПК 1.6. Разрабатывать компоненты проектной и технической документации с использованием графических языков спецификаций.
1.2. Выписка из учебного планаПМ.00 Профессиональные модули -/4ДЗ/10Э 1437 479 958 482 416 60 134 152 120 114 258 180 ПМ.01 Разработка программных модулей программного обеспечения для компьютерных систем -/1ДЗ/3Э 420 140 280 152 128 36 34 160 50 ОК 1-10
ПК 1.1-1.6
МДК.01.01 Системное программирование -, Э 210 70 140 76 64 90 50 МДК.01.02 Прикладное программирование -,ДЗ,Э210 70 140 76 64 36 34 70 УП.01 Учебная практика ДЗ 252 36 180 36 ПП.01 Производственная практика ДЗ 108 36 36 36
1.3 Календарно-тематический план МДК 01 02 Прикладное программированиеНомер занятия Номера и наименование разделов и тем Распределение учебной нагрузки
    Осваиваемые компетенции
  Средства обучения Форма контроля Домашнее задание
    Максимальная нагрузка Самостоятельная внеаудиторная Обязательная аудиторная нагрузка Вид занятия          
  5 семестр 1 3     ОК ПК      
  Раздел 1. ПМ 01. Разработка прикладных программ. 210 70 140            
  МДК 01 02 Прикладное программирование                  
  Тема 2.1 Введение. 6 2 4            
1 Тема 2.1.1. Понятие прикладного программирования. 2   2/2 лекция - беседа ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 усный опрос проработка конспекта
2 Тема 2.1.2. Язык программирования - главный инструмент прикладного программиста 2   2/4 информационная лекция ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация проверка задания в тетради проработка конспекта
  Самостоятельная работа 1. Подготовка презентации по теме сообщения. 2 2/2         метод. реком. по выполнению    
  Тема 2.2. Технологии разработки прикладного программного обеспечения 31 7 24            
3 Тема 2.2.1. Эволюция разработки ПП. 2   2/6 информационная лекция ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация усный опрос ОИ 3. стр 60-61
4 Тема 2.2.2. Основы структурного программирования 2   2/8 лекция-беседа ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2, 1.5, 1.6 презентация усный опрос ОИ 3. стр 61-64
5 Тема 2.2.3. Метод пошаговой детализации. Структурные карты Константайна, Джексона. 2   2/10 информационная лекция ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2, 1.5, 1.6 схемы, презентация проверка инд. Зад проработка конспекта
6 Практическая работа 1. Разработка ПО при структурном подходе к программированию. 2   2/12 практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования Delphi 7 защита практ. раб. подготовка отчета
  Самостоятельная работа 2. Создание диаграмм объектов. 2 2/4         метод. реком. по выполнению    
7 Тема 2.2.4. Основы объектно-ориентированного программирования. 2   2/14  информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация Устный опрос  ОИ 3. стр 77-81
8 Тема 2.2.5. Этапы разработки программного обеспечения. 2   2/16  лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация тестирование  проработать конспект
9 Тема 2.2.6. Объектно-ориентированное проектирование. 2   2/18  информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация  инд. зад. проработка конспекта
10 Практическая работа 2. Разработка ПО при ОО-подходе к программированию. 2   2/20  практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования Delphi 7 защита практ. раб. подготовка отчета
11 Тема 2.2.7. CASE - технологии. 2   2/22   ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация  Устный опрос проработка конспекта
  Самостоятельная работа 3. Подготовка сообщения и презентации. 3 3/7              
12 Тема 2.2.8. Принципы отладки и тестирования программных продуктов 2   2/24   ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация Устный опрос  проработка конспекта
13 Тема 2.2.9. Методы и средства разработки технической документации 2   2/26   ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация Устный опрос  проработка конспекта
14 Практическая работа 3. Работа с инструментальными средствами автоматизации оформления документации. 2   2/28  практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5   защита практ. раб. подготовка отчета
  Самостоятельная работа 4. Подготовка сообщения и презентации. 2 2/9         метод. реком. по выполнению    
  Тема 2.3. Основы прикладного программирования с использованием языка С++ 65 23 42            
15 Тема 2.3.1. Основы языка С++. 2   2/30 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация тестирование, выполнение практических заданий ОИ 3. стр 59-60, 169-183
16 Тема 2.3.2. Переменные: объявление, определение, инициализация. 2   2/32 лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 презентация, демо - ролики выполнение практических заданий ОИ 3. стр 113-132
17 Тема 2.3.3. Основные языковые конструкции 2   2/34 лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация  Индивидуальные задания ОИ 3. стр 183-190
  Самостоятельная работа 5. Выполнение индивидуальных заданий по записи математических выражений. Выполнение заданий в рабочей тетради, стр. 4-8. 2 2/11         метод. реком. по выполнению    
18 Практическая работа 4. Разработка простейших программ в среде программирования C++ Builder. 2   2/36 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
19 Практическая работа 5. Программирование линейных алгоритмов 2   2/38 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб.  
  Самостоятельная работа 6. Выполнение заданий в рабочей тетради, стр 9-11. Решение задач по теме "Разработка программ линейной структуры" 2 2/13         метод. реком. по выполнению    
20 Практическая работа 6. Решение задач с использованием ветвлений. 2   2/40 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. индивидуальное задание
21 Практическая работа 7. Программирование разветвляющихся алгоритмов. 2   2/42 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
  Самостоятельная работа 7. Выполнение заданий в рабочей тетради, стр. 13-17. Решение задач по теме "Условный оператор" 3 3/16         метод. реком. по выполнению    
22 Практическая работа 8. Решение задач с использованием циклических алгоритмов. 2   2/44 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб.  
23 Практическая работа 9. Программирование циклических вычислений в языке С++. 2   2/46 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб.  
  Самостоятельная работа 8. Выполнение заданий в рабочей тетради, стр. 18-23. Решение задач по теме "Циклы" 3 3/19         метод. реком. по выполнению    
24 Тема 2.3.4. Составные типы данных. 2   2/48 лекция - беседа   ПК 1.1. -1.2 схемы, презентация Индивидуальные задания  ОИ 3. стр 133-152
25 Практическая работа 10. Решение задач обработки одномерных массивов данных. 2   2/50 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
26 Практическая работа 11. Программирование с использованием одномерных массивов в языке С++. 2   2/52 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
  Самостоятельная работа 8. Выполнение заданий в рабочей тетради, стр. 25-28. Решение задач по теме "Одномерные массивы" 3 3/22              
27 Практическая работа 12. Решение задач обработки двумерных массивов данных. 2   2/54 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
28 Практическая работа 13. Программирование с использованием динамических двумерных массивов в языке С++. 2   2/56 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.2 Среда программирования C++ Builder защита прак. раб. подготовка отчета
  Самостоятельная работа 9. Выполнение заданий в рабочей тетради, стр. 28-32. Решение задач по теме "Массивы. Указатели" 3 3/25         метод. реком. по выполнению    
29 Тема 2.3.5. Составные типы данных. 2   2/58 лекция - беседа ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.2 схемы, презентация тестирование ОИ 3. стр 195 - 205
30 Практическая работа 14. Решение задач с использованием функций. 2   2/60 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
31 Практическая работа 15. Программирование с использованием вспомогательных функций в языке С++. 2   2/62 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Среда программирования C++ Builder защита прак. раб. подготовка отчета
  Самостоятельная работа 10. Выполнение заданий в рабочей тетради, стр. 32-36. Решение задач по теме "Функции" 3 3/28         метод. реком. по выполнению    
32 Тема 2.3.6. Символьные строки. 2   2/64 лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация, видеоуроки тестирование индивидуальное задание
33 Практическая работа 16. Решение задач по обработке строк. 2   2/66 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита практ. раб. подготовка отчета
  Самостоятельная работа 11. Выполнение заданий в рабочей тетради, стр. 37-38. Решение задач по теме "Строки" 2 2/30              
34 Практическая работа 17. Программирование с использованием файлов. 2   2/68 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Среда программирования C++ Builder защита практ. раб. подготовка отчета
35 Практическая работа 18. Решение задач с использованием структур. 2   2/70 Практическое занятие ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.5 Среда программирования C++ Builder защита практ. раб. подготовка отчета
  Самостоятельная работа 12. Выполнение заданий в рабочей тетради, стр. 38-39. Решение задач по теме "Файлы. Структуры" 2 2/32         метод. реком. по выполнению    
  ИТОГО 3 курс: 102 32 70            
  7 семестр 4 курс                  
  Тема 2.4. Реализация объектно-ориентированного программирования на языке С++ 29 7 22            
36 Тема 2.4.1. ООП как развитие идей структурного подхода. 2   2/72 лекция диалог ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 283-284
37 Тема 2.4.2. Классы. Объявление класса. Определение класса. 2   2/74 проблемная лекция ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.2 схемы, презентация тестирование ОИ 3. стр 284-288
38 Тема 2.4.3. Создание и удаление объектов классов. 2   2/76 проблемная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 304-308
39 Тема 2.4.4. Перегрузка операций. 2   2/78 проблемная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация индив. Задания ОИ 3. стр 327-334
40 Тема 2.4.5. Наследование. Определение производного класса. 2   2/80 проблемная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 371- 379
41 Тема 2.4.6. Шаблоны функций и классов. 2   2/82 иинформационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 401-411
42 Практическая работа 19. Программирование линейных алгоритмов с использованием классов и функций инициализации set() и вывода результатов print(). 2   2/84 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
43 Практическая работа 20. Программирование линейных алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов print() 2   2/86 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  Самостоятельная работа 13. Индивидуальные задания по разработке классов. 3 3/35         метод. реком. по выполнению    
44 Тема 2.4.7. Обработка нештатных ситуаций. Пробный блок try и блоки захвата catch. 2   2/88 проблемная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 433-441
45 Тема 2.4.8. Стандартная библиотека шаблонов. 2   2/90 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 515-531
46 Тема 2.4.9. Стандартная библиотека шаблонов языка STL. 2   2/92 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос ОИ 3. стр 555-561
  Самостоятельная работа 14. Выполнение индивидуальных заданий по использованию библиотеки шаблонов класса. 4 4/39           метод. реком. по выполнению  
  Тема 2.5. Пользовательский интерфейс прикладных программ 79 31 48            
47 Тема 2.5.1. Семейство операционных систем Windows с точки зрения программиста. 2   2/94 лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос проработка конспекта
48 Тема 2.5.2. Структура приложений Windows. 2   2/96 лекция - беседа ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 схемы, презентация устный опрос проработка конспекта
49 Тема 2.5.3. Cреда разработки C++ Builder. 2   2/98 лекция диалог ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
50 Тема 2.5.4. Инструменты визуальной разработки приложений C++ Builder. 2   2/100 лекция диалог ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 презентация тестирование проработка конспекта
51 Практическая работа 21. Разработка простейшего приложения в среде С++Builder. 2   2/102 Практическое занятие ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
52 Тема 2.5.5. Использование и создание визуальных компонент в C++ Builder. 2   2/104 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Cреда разработки C++ Builder. устный опрос проработка конспекта
53 Тема 2.5.6. Пользовательский интерфейс. 2   2/106 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
54 Практическая работа 22. Создание меню приложения с среде С++Builder. 2   2/108 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  Самостоятельная работа 15. Решение задач по теме: "Базовые компоненты: Label, Edit, Button, MainMenu" 3 3/42         метод. реком. по выполнению    
55 Тема 2.5.7. Парадигмы интерфейсов. Оценка качества пользовательского интерфейса. 2   2/110 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
56 Тема 2.5.8. Инструментарий для разработки пользовательского интерфейса. 2   2/112 информационная лекция ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация тестирование проработка конспекта
57 Практическая работа 23. Разработка оконного приложения с линейным вычислительным процессом в среде С++Builder. 2   2/114 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  - Самостоятельная работа 16. Решение задач по теме: "Базовые компоненты: CheckBox, ListBox, ComboBox" 4 4/46         метод. реком. по выполнению    
58 Практическая работа 24. Разработка приложения с многострочным выводом данных на экран в среде С++Builder. 2   2/116 Практическое занятие ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
59 Тема 2.5.9. Эргономическое проектирование программных систем. 2   2/118 лекция диалог ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
60 Тема 2.5.10. Методы описания диалоговых систем. 2   2/120 информационная лекция ОК 1 , 4, 5, 8, 9 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
61 Тема 2.5.11. Проектирование графического интерфейса пользователя. 2   2/122 лекция диалог ОК 2, 3, 4, 5, 8 ПК 1.1. -1.2 презентация устный опрос проработка конспекта
62 Тема 2.5.12. Стандартизация пользовательского интерфейса. 2   2/124 информационная лекция ОК 2, 3, 4, 5, 8 ПК 1.1. -1.5 презентация устный опрос проработка конспекта
63 Практическая работа 25. Разработка оконного приложения с использованием разветвляющихся и циклических алгоритмов в среде С++Builder 2   2/126 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
64 Практическая работа 26. Программирование оконного приложения с использованием функций пользователя в среде С++Builder 2   2/128 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  - Самостоятельная работа 17. Решение задач по теме: "Базовые компоненты: StringGrid, Memo" 4 4/50         метод. реком. по выполнению    
65 Практическая работа 27. Разработка оконного приложения для обработки одномерных массивов в среде С++Builder 2   2/130 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
66 Практическая работа 28. Разработка оконного приложения для обработки двумерных динамических массивов в среде С++Builder 2   2/132 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
67 Практическая работа 29. Разработка оконного приложения для обработки строк в среде С++Builder 2   2/134 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
68 Практическая работа 30. Разработка оконного приложения для обработки структур с использованием файлов в среде С++Builder 2   2/136 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  - Самостоятельная работа 18. Решение задач по теме: "Использование файлов при разработке оконных приложений" 4 4/54         метод. реком. по выполнению    
69 Практическая работа 31. Создание диаграмм и графиков, видеоклипа/анимации в среде С++Builder. 2   2/138 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  - Самостоятельная работа 19. Решение задач по теме: "Использование графики при разработке оконных приложений" 4 4/58         метод. реком. по выполнению    
70 Практическая работа 32. Динамическое создание визуальных компонентов в среде C++ Builder. 2   2/140 Практическое занятие ОК 1 , 4, 5, 6, 8, 9 ПК 1.1. -1.5 Cреда разработки C++ Builder. защита прак. раб. подготовка отчета
  Самостоятельная работа 20. Разработка приложений по индивидуальным заданиям. 12 12/70         метод. реком. по выполнению    
  Итого за 2 семестр 108 38 70            
  Всего по дисциплине: 210 70 140            
2 ИНФОРМАЦИОННЫЙ БЛОК2.1 Краткий теоретический материалОсновы языка С++Чтобы использовать стандартные функции, необходимо сказать транслятору, что есть функция с таким именем и перечислить тип ее аргументов – тогда он сможет определить, верно ли мы ее используем. Это значит, что надо включить в программу описание этой функции. Описания стандартных функций Си находятся в так называемых заголовочных файлах с расширением *.h (в каталоге C:\Dev-Cpp\include).
Для подключения заголовочных файлов используется директива (команда) препроцессора #include, после которой в угловых скобках ставится имя файла. Внутри угловых скобок не должно быть пробелов. Для подключения еще каждого нового заголовочного файла надо использовать новую команду #include.
Для вывода информации на экран используется функция printf. В простейшем случае она принимает единственный аргумент строку в кавычках, которую надо вывести на экран.
Каждый оператор языка Си заканчивается точкой с запятой.
Задержка до нажатия любой клавиши выполняется функцией getch().
Описание этой функции находится в заголовочном файле conio.h.
Объявление переменныхкаждая переменная программы должна быть объявлена;
объявления переменных обычно помещают в начале функции, сразу за заголовком. Следует обратить внимание, что хотя язык C++ допускает объявление переменных практически в любом месте функции, объявлять переменные лучше все-таки в начале функции, снабжая инструкцию объявления кратким комментарием о назначении переменной;
инструкция объявления переменной выглядит так: Тип ИмяПеременной;
инструкцию объявления переменной можно использовать для инициализации переменной. В этом случае объявление переменной записывают следующим образом: Тип ИмяПеременной = НачальноеЗначение;
В имени переменной можно использовать буквы латинского алфавита и цифры (первым символом должна быть буква);
компилятор C++ различает прописные и строчные буквы, поэтому, например, имена Summa и summa обозначают разные переменные;
основными числовыми типами языка C++ являются: int (целый) и float (дробный);
после инструкции объявления переменной рекомендуется указывать назначение переменной.
Переменные: объявление, определение, инициализацияПрограмма чаще всего содержит 4 части:
объявление переменных;
ввод исходных данных;
обработка данных (вычисления);
вывод результата.
Перед вводом данных необходимо вывести на экран подсказку (иначе компьютер будет ждать ввода данных, а пользователь не будет знать, что от него хочет машина).
Символы \n в функции printf обозначают переход в начало новой строки.
Для ввода данных используют функцию scanf.

Формат ввода – это строка в кавычках, в которой перечислены один или несколько форматов ввода данных:
%d ввод целого числа (переменная типа int)
%f ввод вещественного числа (переменная типа float)
%с ввод одного символа (переменная типа char)
После формата ввода через запятую перечисляются адреса ячеек памяти, в которые надо записать введенные значения. Почувствуйте разницу:
a значение переменной a
&a адрес переменной a
Количество форматов в строке должно быть равно количеству адресов переменный в списке. Кроме того, тип переменных должен совпадать с указанным: например, если a и b – целые переменные, то следующие вызовы функций ошибочны
scanf ( "%d%d", &a ); куда записывать второе введенное число?
scanf ( "%d%d", &a, &b, &c ); не задан формат для переменной c
scanf ( "%f%f", &a, &b ); нельзя вводить целые переменные по вещественному формату
Для вычислений используют оператор присваивания, в котором справа от знака равенства стоит арифметическое выражение, которое надо вычислить слева от знака равенства ставится имя переменной, в которую надо записать результат
c = a + b; // сумму a и b записать в c
Для вывода чисел и значений переменных на экран используют функцию printf

содержание скобок при вызове функции printf очень похоже на функцию scanf
Сначала идет символьная строка — формат вывода — в которой можно использовать специальные символы
%d вывод целого числа
%f вывод вещественного числа
%с вывод одного символа
%s вывод символьной строки
\n переход в начало новой строки
все остальные символы (кроме некоторых других специальных команд) просто выводятся на экран.
Одной строки формата недостаточно: в ней сказано, в какое место выводить данные, но не сказано, откуда их взять. Поэтому через запятую после формата вывода надо поставить список чисел или переменных, значения которых надо вывести, при этом можно сразу проводить вычисления.
Так же, как и для функции scanf, надо следить за совпадением типов и количества переменных и форматов вывода.
Инструкция присваиванияинструкция присваивания предназначена для изменения значений переменных, в том числе и для вычислений "по формуле";
в отличие большинства языков программирования, в С++ инструкция присваивания, выполняющая некоторое действие, может быть записана несколькими способами, например,
вместо x=x+dx можно записать x+=dx, а вместо i=i+l воспользоваться оператором инкремента и записать i++;
значение выражения в левой части инструкции присваивания зависит от типа операндов и операции, выполняемой над операндами. Целочисленное сложение и вычитание выполняется без учета переполнения. Например, если переменная n, объявленная как int , имеет значение 327 67, то в результате выполнения инструкции n=n+1 значение переменной n будет равно -32768;
результатом выполнения операции деления над целыми операндами является целое, которое получается отбрасыванием дробной части результата деления.
Выводфункция printf обеспечивает вывод на экран монитора сообщений и значений переменных;
первым параметром функции p r i n t f является строка вывода,
определяющая выводимый текст и формат вывода значений переменных, имена которых указаны в качестве остальных параметров функции;
формат вывода значений переменных задается при помощи спецификатора преобразования — последовательности символов, начинающейся с символа %;
при выводе числовых значений наиболее часто используются следующие спецификаторы: %i — для вывода целых со знаком, %n — дня вывода беззнаковых целых, %f — для вывода дробных, в виде числа с плавающей точкой, %n,mf— для вывода дробных в формате с фиксированной точкой, где n —количество цифр целой части, т — дробной;
некоторые символы мог>т быть помещены в строку вывода только как последовательность других, обычных символов: \n — новая строка, \ t — табуляция, \ " — двойная кавычка, \ \ — символ \;
наряду с функцией printf, для вывода на экран сообщений можно использовать функцию puts, которая после вывода текста автоматически переводит курсор в начало следующей строки;
чтобы сразу после окончания работы программы окно, в котором программа работала, не было автоматически перекрытодругим окном, например окном редактора текста среды разработки, в конец программынужно вставить следующие две инструкции:
printf("Для завершения нажмите клавишу <Enter>");
getch();
Вводдля ввода исходных данных с клавиатуры предназначена функция scanf;
первым параметром функции scanf является управляющая строка, остальные параметры — адреса переменных, значения которых должны быть введены;
управляющая строка представляет собой заключенный в двойные кавычки список спецификаторов: %i — для ввода целых чисел со знаком, %n — для ввода целых беззнаковых
целых %f — для ввода дробных чисел, %с — для ввода символа, %s — для ввода строки;
использование имени переменной, а не ее адреса в качестве параметра функции scanf является типичной ошибкой начинающих программистов. Кстати, компилятор эту ошибку не обнаруживает.
Программы с линейной структуройпрограммы с линейной структурой являются простейшими и используются, как правило, для реализации простых вычислений по формулам;
в программах с линейной структурой инструкции выполняются последовательно, одна за другой;
Инструкция ifинструкция i f используется для выбора одного из двух направлений дальнейшего хода программы;
выбор последовательности инструкций осуществляется в зависимости от значения условия — заключенного в скобки выражения, записанного после if;
инструкция, записанная после else, выполняется в том случае, если значение выражения условие равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием;
если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки;
при помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор.
Инструкция switchинструкция switch предназначена для выбора одного из нескольких возможных направлений дальнейшего хода программы;
выбор последовательности инструкций осуществляется в зависимости от равенства значения переменной-селектора константе, указанной после слова case;
если значение переменной-селектора не равно ни одной из констант, записанных после case, то выполняются инструкции, расположенные после слова default;
в качестве переменной-селектора можно использовать переменнуюцелого (int) или символьного (char) типа.
Forинструкция for используется для организации циклов с фиксированным, известным во время разработки программы, числом повторений;
количество повторений цикла определяется начальным значением переменной-счетчика и условием завершения цикла;
переменная-счетчик должна быть целого (int) типа и может быть объявлена непосредственно в инструкции цикла.
dowhileчисло повторений инструкций цикла dowhile определяетсяходом выполнения программы;
инструкции цикла dowhile выполняются до тех пор, пока значение выражения, записанного после слова while, не станет равным нулю;
после слова while надо записывать условие выполнения инструкций цикла;
для завершения цикла dowhile в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;
цикл dowhile — это цикл с постусловием, т. е. инструкции тела цикла будут выполнены хотя бы один раз;
цикл dowhile, как правило, используется для организации приближенных вычислений, в задачах поиска и обработки данных, вводимых с клавиатуры или из файла.
Whileчисло повторений инструкций цикла dowhile определяется ходом выполнения программы; инструкции цикла while выполняются до тех пор, пока значение выражения, записанного после слова while, не станет равным нулю;
после слова while надо записывать условие выполнения инструкций цикла;
для завершения цикла while в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;
цикл while — это цикл с предусловием, т. е. возможна ситуация, при которой инструкции тела цикла ни разу не будут выполнены;
цикл while, как правило, используется для организации приближенных вычислений, в задачах поиска и обработки данных, вводимых с клавиатуры или из файла.
Массивымассив — это структура данных, представляющая собой набор,совокупность элементов одного типа;
в инструкции объявления массива указывается количествоэлементов массива;
элементы массива нумеруются с нуля;
доступ к элементу массива осуществляется путем указанияиндекса (номера) элемента. В качестве индекса можно использовать выражение целого типа — константу или переменную.Индекс может меняться от 0 до n-1, где п — количествоэлементов массива;
доступ к элементам массива можно осуществить при помощиуказателя;
в инструкции объявления массива удобно использовать именованнуюконстанту, объявленную в директиве #define;
для ввода, вывода и обработки массивов удобно использоватьинструкции циклов (for, while);
типичной ошибкой при использовании массивов являетсяобращение к несуществующему элементу, т. е. выход индексаза допустимое значение.
Символы и строкикаждому символу соответствует число — код символа;
в C++ строка — это массив символов;
последним символом строки обязательно должен быть нуль-символ, код которого равен 0, и который в тексте программыизображается так: ' \0’;
сообщения или подсказки, используемые в программе, удобнопредставить как массив указателей на строки и инициализировать массив, задать сообщения в инструкции объявления
массива:
chcu: *mes[] ={"Сообщение 1","Сообщение 2", ... ,",Сообщение"} ;если вводимая во время работы программы строка содержитпробелы, то функция scanf вводит только часть строки допервого пробела, а функция gers — всю строку, в том числеи соответствующий клавише <Enter> символ ' \ n ' .
Функциидля передачи данных в функцию надо использовать толькопараметры. Глобальные переменные, т. е. переменные, объявленныевне функции, использовать не рекомендуется;
тип каждого фактического параметра (константы или переменной)в инструкции вызова функции должен совпадать стипом соответствующего формального параметра, указанногов объявлении функции;
если параметр функции используется для возврата результата,то в объявлении функции этот параметр должен быть ссылкой,а в инструкции вызова функции в качестве фактическогопараметра должен быть указан адрес переменной.
Файлыв программе, которая выполняет операции чтения из файлаили запись в файл, должна быть объявлена переменная-указательна тип FILE;
для того чтобы файл был доступен, его надо открыть, указав,для выполнения какого действия открывается файл: чтения,записи или обновления данных, а также тип файла (двоичныйили текстовый);
при работе с файлами возможны ошибки, поэтому рекомендуетсяпри помощи функции ferror проверять результатвыполнения потенциально опасных, с точки зрения возникновенияошибок, операций с файлами (f open);
чтение данных из текстового файла можно выполнить припомощи функции f scanf, запись — fprintf;
по завершении работы с файлом нужно его обязательно закрыть(функция f close).
Рекурсиярекурсивной называется такая функция, которая может вызывать сама себя;
для завершения процесса рекурсии в алгоритме рекурсивной функции обязательно должна быть веточка, обеспечивающая непосредственное завершение функции (процедуры).
2.2 Краткие сведения о компонентах C++ BuilderДиалоги
2780665314960Слева направо:OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog, FontDialog, ColorDialog, PrintDialog, PrinterSetupDialog,FindDialog, ReplaceDialog.
Вызов всех диалогов одинаков:if(Имя_диалога-> Execute() ){//наши действия}1. OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog:
 Свойство  Значение
 FileName  Имя файла.
 Filter  Фильтр. Позволяет сделать фильтрацию по нужным расширениям. Дважды щелкаем по полю и в появившемся окне заполняем таблицу из двух колонок. Filter - например, для текстовых файлов "*.txt". А в Filter Nameпишем "Текстовые файлы (*.txt)". Для отображения всех файлов в Filter надо написать"*.*".
 Title  Название окна диалога (надпись в верхнем правом углу).
5. FontDialog
6. ColorDialog -1006710-56243
7. PrintDialog 8. PrinterSetupDialog
9. FindDialog 10. ReplaceDialog
Компонент BitBtn - кнопка с рисунком
2510790666115
 Свойство  Значение
 Caption  Определяет название кнопки.
 Glyph  С помощью него можно подгрузить рисунок кнопки в формате bmp. Оченьмногокартинокдлякнопокнаходятсяв %\Program Files\Common Files\Borland Shared\Images\Buttons
 Kind  Набор заготовок кнопок типа "Ок" или "Нет" и т.д. Иностранный текст можно заменить на русский черезCaption.
 Layout  Расположение изображения и названия кнопки относительно друг друга, blGlyphLeft - изображение слева,blGlyphBottom - снизу, blGlyphRight - справа, blGlyphTop - сверху.
 Style  Стиль кнопок, bsAutoDetect, bsNew, bsWin31 - авто определение, новый вид, в стиле Windows 3.1соответственно.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint,  Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент CGauge
4480560-17780CGauge - компонент для отображения хода процесса.

 Свойство  Значение
 BackColor  Цвет незаполненного CGauge.
 BorderStyle  Стиль границы.
 ForeColor  Цвет заполнения CGauge.
 Kind  Виды CGauge.
 MaxValue  Максимальное значение.
 MinValue  Минимальное значение.
Progress Прогресс, относительно разности максимального и минимального значений.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Chart
Chart - компонент для создания графиков и диаграмм.

Дважды щелкаем по компоненту и появляется следующее окно:

Нажимаем "Add":

В этом окне выбирать например "Pie" и нажать "ОК":

31908751207770Щелка по вкладкам можно произвести дополнительные настройки. На вкладке General в свойстве "Margins" можно настроить пропорции диаграммы. На вкладке Titles сменить название диаграммы. И там в же в "Font" настроить шрифт. На вкладке Walls, если поставить галочку "Visible Walls" можно включить координатные оси. На вкладке 3D в свойстве "3 Dimensions" задать объемность диаграммы (задается по умолчанию).
Вот так он выглядит теперь на форме:
Для добавления данных используется следующий код:    Series1->Clear();//очистка диаграммы     Series1->Add(8,"Продукт 1",clYellow);    Series1->Add(9,"Продукт 2",clBlue);Первая переменная - количество товара, вторая - его название, третья - цвет на диаграмме. Выглядит это так:

Компонент CheckBox
CheckBox - компонент выбора какой-либо опции путем установки или снятия галочки.

 Свойство  Значение
 Aligment  Выравнивание теста внутри Memo. Если равно taLeftJustify, то слева, taRightJustify - справа, taCenter - по центру.
 Caption  Название CheckBox.
 Checked  Определяет установку флажка, true - установлен, false - нет.
 State  Имеет три варианта: cbUnchecked - нет флажка, cbChecked - обычный флажок, cbGrayed - серый флажок.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент ColorBox
ColorBox - выпадающий список цветов.

 Свойство  Значение
 Color  Цвет фона компонента.
 ItemHeight  Высота компонента
 Selected  Цвет по умолчанию
Компонент ColorDialog
  ColorDialog - компонент для выбора цвета.  Пример использования:  if( ColorDialog1-> Execute() ) {   Form1->Color = ColorDialog1->Color; }  Свойства: 
Свойство Значение
Color Определяет цвет, который выбран в компоненте.
Ctl3D Свойство, необходимое для обратной совместимости. Не имеет значение начиная с Windows XP.
CustomColors Позволяет задать цвет в виде строки в следующем формате:ColorX=HexValue.Пример:Color1 = FFCC66.
Name Отвечает за имя компонента. Для удобства его можно сократить, например - CD1.
Options Используется для настройки параметров и внешнего вида диалога. По умолчанию все эти опции выключены
cdFullOpen - отображает пользовательские цвета, когда будет вызвано диалоговое окно.
cdPreventFullOpen - отключает Define Custom Colors - кнопки в диалоговом окне, поэтому пользователь не сможет создать новые цвета.
cdShowHelp - Добавляет кнопку "Справка" в создавшемся диалоговом окне.
cdSolidColor - поручает Windows, использоватьближайший цвет к тому, который выбрали.
cdAnyColor - Позволяет пользователю выбирать более точное значение цвета
Tag Переменная, выделенная для нужд программиста.
Компонент ComboBox
ComboBox - выпадающий список элементов.

 Свойство  Значение
 CharCase  Определяет регистр текста. Если ecNormal - то ничего не меняется, ecUpperCase - всё отображается в верхнем регистре, ecLowerCase - всё отображается в нижнем регистре.
 Items  Определяет элементы выпадающего списка, каждый вводится с новой строки.
 ItemIndex  Индекс выбранного элемента. Если ничего не выбрано, то равен -1. Нумерация начинается от 0.
 MaxLenght  Максимальное количество символов.
 Text  Определяет текст, который отображается на месте "ComboBox1".
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Edit
Edit - окно для ввода данных в одну строку.

 Свойство  Значение
  Color Отвечает за цвет Edit. За цвет текста в Edit отвечает подсвойство Color свойства Font.
 MaxLenght  Максимальная длина вводимого количества символов. По умолчанию равна 0, то есть не ограничена.
 ReadOnly  Установка этого свойства в true не дает пользователю изменять содержимое Edit.
 PassWordChar  Используется, если Edit отвечает, например, за ввод пароля. Заменяем "#0" на, например, "*" и тогда все вводимые символы будут отображаться звездочками. Возможно выделение и копирование.
 Text  Это свойство отвечает за текст, выводимый в Edit. Если вы вводите числовые значения (например, для расчетов по формулам), то не забывайте, что дробная часть отделяется запятой и необходимо преобразовать текст в нужный тип данных. Например:StrToInt(Edit1->Text); //преобразуем строку в число типа intStrToFloat(Edit1->Text); //преобразуем строку в число типа floatИ обратная операция:IntToStr(a); //переменную типа int преобразуем в текстFloatToStr(b); // переменную типа float преобразуем в текст
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Form (Форма)
Form - форма, основной компонент приложения. На ней размещаются все другие компоненты.

 Свойство  Значение
 AlphaBlend  Если установлено true, то форму можно сделать прозрачной.
 AlphaBlendValue  Определяет степень прозрачности, 255 - не прозрачная, чем меньше цифра, тем она прозрачней.AlphaBlend должно быть установлено в true.
 AutoSize  Если установлено true, форма сама подгоняет свои размеры под расположенные на неё компоненты.
 BorderIcons  Свойство, содержащее несколько под свойств. Позволяет управлять кнопками приложения в правом верхнем углу.     biSystemMenu - Отключает все кнопки и запрещает вызов меню по комбинации клавиш Alt+ Space(Пробел)    biMinimize - Кнопка сворачивания приложения    biMaximize - Кнопка растягивания приложения во весь экран    biHelp - Кнопка "?" справки (подсказки)
BorderStyle Определяет вид границы приложения.    bsDialog - Запрещено растягивание за углы и нет кнопок "Свернуть" и "Закрыть".    bsNone - Нет никаких границ, форму нельзя перетаскивать. Такое используется для создания заставок приложений.    bsSingle - Запрещено растягивание за углы.    bsSizeable - Можно растягивать форму за края и все кнопки доступны.    bsSizeToolWin - Упрощенный вид формы с возможностью растягивания за края и наличием только кнопки "Закрыть".    bsToolWindow - Упрощенный вид формы без возможности растягивания за края без кнопок "Свернуть" и "Закрыть".
BorderWidth Толщина границ формы
ClientHeight Ширина формы без учета границ
ClientWidth Высота формы без учета границ
Caption Название формы (Отображается в левом верхнем углу)
FormStyle Стиль формы, по умолчанию fsNormal. Если установить fsStayOnTop, то эта форма будет поверх других окон. Это удобно использовать, если форма отвечает за ввод логина с паролем или это окно настроек.
Icons Значок, который отображается в верхнем левом углу формы. Можно загрузить в формате ico.
Menu Выбор основного MainMenu из выпадающего списка (если у вас больше одного)
Position Позиция формы относительно экрана. По умолчанию poDesigned. Наиболее полезные варианты -poDesktopCenter и poScreenCenter - размещение формы по центру рабочего стола и экрана соответственно.
WindowState Определяет состояние формы, wsNormal - остается заданного размера, wsMaximized - растягивается во весь экран, wsMinimized - в свернутом состоянии.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Frame
Frame - это нечто среднее между панелью и формой. Может отображаться только на форме или другом контейнере.

Чтобы создать фрейм, надо войти в меню File->New->Frame. После размещения нужных вам компонентов, вы можете кликнуть по его значку на вкладке Standart и перенести его на форму. Если вы сразу так сделаете, то появится сообщение об ошибке. Если вы создали несколько фреймов, то при переносе на форму появится окно со списком созданных фреймов для выбора нужного.
Компонент GroupBox
GroupBox - служит для объединения нескольких компонентов с целью удобства пользования программой.

Пример использования компонента:

 Свойство  Компонент
  Caption      Определяет название группы.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Label
Label - метка. Используется, в основном, для подписи других компонентов. Например, для названия вводимой величины в Edit.
2846070591185
 Свойство  Значение
 Aligment  Выравнивание теста внутри лейбла. Если равно taLeftJustify, то слева, taRightJustify - справа, taCenter - по центру.
 AutoSize  Если установлено в true, то размер лейбла будет подгоняться под текст в нем. Если  вас текст постоянен, рекомендую поставить это свойство в false так как иногда оно может "съедать" концы текста (часть последней буквы).
 Caption  Отвечает за надпись в лейбле.
 LayOut  Определяет позицию текста в лейбле, tlTop - текст вверху, tlCenter - текст о центру, tlTop - текст снизу.
 WordWrap  Если это свойство установлено в true, а AutoSize в false, то текст в лейбле, если он не умещается, будет переносится на другие строки. Важно! Переносятся только слова, то есть разбивки их на части нет. И если у вас длинное слово не вмещается, то оно так и останется, но последующие будут перенесены на новые строки.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont, ParentShowHint,Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент ListBox
ListBox - список элементов, которые пользователь может выбирать, добавлять или удалять.

 Значение  Свойство
 BorderStyle  Если установлено bsNone, то трехмерная граница компонента отсутствует, если bsSingle, то присутствует.
 Columns  Определяет количество колонок, по умолчанию 0, то есть одна.
 Items  Определяет строки. Можно добавлять и удалять как сразу, так и в процессе работы.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont, ParentShowHint,Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов
Компонент MainMenu
MainMenu - основное меню, которое появляется в верхнем левом углу в виде полоски и пунктов.

Свойство Значение
Bitmap Позволяет загрузить изображение в формате bmp для отображения у пункта меню
Caption Отвечает за название пункта меню
Checked Если свойство установлено в true, то у данного пункта меню появится галочка
Enabled Определяет возможность нажатия на пункт меню, если установлено в false, то пользователь не сможет его выбрать(оно будет затемненным)
Hint Подсказка, в которой можно рассказать более подробное назначение пункта меню
Name Имя пункта меню. Представляется в виде N1, N2, N3 и так далее. Рекомендуется переименовывать для облегчения работы с ним в будущем. Например для опции "Открыть" свойство Name можно назвать MOpen
ShortCut Определяет "горячую клавишу" или сочетание клавиш для быстрого вызова данного пункта меню
Visible Определяет видимость или невидимость компонента. Если установлено true, то компонент меню "пропадает" из меню и пункты сверху и снизу от него смыкаются
     
Для того, чтобы мне снять галочку с "Опция 1", нужен следующий код:Form1->N11->Checked = false;
Чтобы сделать разделение между пунктами меню, надо вставить разделитель (сепаратор). Для этого в Caption нужно написать "-", то есть поставить символ тире.
Для создания подменю, как "Опция 1, Опция 2, Опция 3" нужно щелкнуть по нужному разделу правой клавишей мыши и выбрать "CreateSubmenu".Что касается горячих клавиш, то там все просто, в свойстве ShortCut выбираете нужную опцию и в дальнейшем достаточно нажать нужные клавиши для аналогичного щелчка мыши по меню.
Чтобы слева отображалась картинка, нужно щелкнуть по "..." свойства Bitmap и в появившемся окне нажать "Load..." и выбрать нужное изображение в формате bmp, затем нажать "OK". После компиляции приложения вы увидите свою картинку у нужного пункта меню.
Компонент Memo
Memo - компонент для отображения простого текста (как в программе "Блокнот").

 Свойство  Значение
 Aligment  Выравнивание теста внутри Memo. Если равно taLeftJustify, то слева, taRightJustify - справа, taCenter - по центру.
 Lines  Здесь можно удалить или заменить надпись "Memo1". Строки, можно задать программно, а можно сразу, щелкнув по "...".Добавление программно:Memo1->Lines->Add("Ваша строка");
 MaxLenght  Максимальная длина количества вводимых символов, по умолчанию равно 0, то есть не ограничено.
 ReadOnly  Если установлено true, то запрещает изменение текста пользователем, но возможно выделение и копирование.
 ScrollBars  Определяет полосу прокрутки, ssNone - отсутствует, ssHorizontal - горизонтальная, ssVertical - вертикальная, ssBoth - присутствует и горизонтальная и вертикальная.
 WordWrap  Авто перенос текста по словам при достижении границы, если установлено в true.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов. 
Компонент Panel
Panel - панель, используется для отображения надписей и группирования кнопок.

 Свойство  Значение
 Caption  Определяет название или текст панели.
 BevelInner  Данные свойства представляют богатые возможности для изменения вида панели. Например сделать её вдавленной или более выпуклой. Путем эксперимента с данными свойствами вы придете к нужному.
 BevelOuter  BevelWidth  BorderStyle  BorderWidth Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент PopupMenu
PopupMenu - контекстное меню, может быть создано для любого компонента.

Оно аналогично MainMenu, разница лишь в том, что оно появляется по щелчку правой клавиши мыши по компоненту. Чтобы "прицепить" созданное PopupMenu к компоненту, надо в свойстве PopupMenu компонента выбрать из выпадающего списка нужное.
Компонент RadioButton
RadioButton - кнопка для выбора одного параметра из нескольких.

 Свойство  Значение
 Caption  Определяет название радио-кнопки.
 Checked  Если установлено true, то точка в этой радио-кнопке (то есть она выбрана), если false, то нет.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент RadioGroup
RadioGroup - служит для создания группы кнопок типа RadioButton.

Вид компонента и пример использования:

 Свойство  Значение
 Caption  Определяет название радио-группы.
 ItemIndex  Определяет индекс выбранной радио-кнопки.
 Items  Список радио-кнопок. Каждая новая задается с новой строки.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов. 
Компонент ScrollBar
ScrollBar - полоса прокрутки. С помощью неё, например, можно масштабировать изображение.

 Свойство  Значение
 Kind  Определяет положение полосы, sbHorizontal - горизонтально, sbVertical - вертикально.
 Max  Максимальное значение.
 Min  Минимальное значение.
 Position  Целое, значение которого может изменяться в пределах от Min до Max.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент Image
Image - компонент для отображения изображений.

 Свойство  Значение
 AutoSize  Изменение размера компонента от размера изображения.
 Center  Расположение загруженного изображения по центру.
 Picture  Свойство, отвечающее за загрузку изображения.
 Proportional  Пропорционально масштабирует изображение для отображения в заданных размерах компонента.
 Stretch  Растягивание изображения по заданным размерам компонента.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов. 
Компонент LabeledEdit
LabeledEdit - компонент совмещающий в себе компоненты Label и Edit.

Настройки лейбла находятся в свойстве EditLabel.

Компонент SpeedButton
SpeedButton - кнопка, используемая для создания панелей инструментов или там, где нужна фиксация в зажатом состоянии.

 Свойство  Значение
 Caption  Определяет название кнопки.
 Down  Фиксация кнопки в зажатом положении, GroupIndex не должен быть равен 0.
 Flat  Определяет стиль кнопки. Если установлено true, то очертания кнопки появляются при наведении на неё курсора мыши.
 Glyph  С помощью него можно подгрузить рисунок кнопки в формате bmp. Оченьмногокартинокдлякнопокнаходятсяв %\Program Files\Common Files\Borland Shared\Images\Buttons
 GroupIndex  По умолчанию равен 0. Нужно изменить на отличное от нуля число, чтобы кнопку можно было зафиксировать нажатой.
 Layout  Расположение изображения и названия кнопки относительно друг друга, blGlyphLeft - изображение слева, blGlyphBottom - снизу, blGlyphRight - справа, blGlyphTop - сверху.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент ImageList
ImageList - лист изображений, компонент для хранения большого числа изображений формата bmp и ico. Для загрузки изображений дважды щелкните по этому компоненту на форме и в появившемся окне нажмите "Add".

Компонент RichEdit
RichEdit - компонент для отображения форматированного текста в формате rtf.

 Свойство  Значение
 Lines  Линии - строки.
 MaxLenght  Максимальное количество символов. По умолчанию 0 - не ограничено.
 ScrollBars  Тип полосы прокрутки, ssNone нет, ssHorizontal -горизонтальная, ssVertical - вертикальная, ssBoth - обе сразу.
 WordWrap  Перенос текста по словам, если нет ползунков прокрутки.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент TrackBar
TrackBar - ползунок прокрутки.

 Свойство  Значение
 Frequency  Частота, с которой перемещается ползунок. Зависит от Min и Max.
 Max  Максимальное значение.
 Min  Минимальное значение.
 Orientation  Ориентация, trVertical - вертикальная, trHorizontal - горизонтальная.
Position Начальная позиция. Зависит от Min и Max.
SelEnd Позволяет закрасить нужный кусок шкалы - конец.
SelStart Позволяет закрасить нужный кусок шкалы - начало.
SliderVisible Определяет видимость или невидимость ползунка.
ThumbLength Ширина шкалы.
TickMarks Ориентация шкалы, tmBottomRight - снизу (справа), tmTopLeft - сверху (слева), tmBoth - по обеим сторонам.
TickStyle Стиль шкалы.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент UpDown
UpDown - компонент для задания нужного целого числа с помощью двух кнопок.

Свойство Значение
AlignButton Определяет где будет находиться кнопка: udLeft - слева от компонента, udRight - справа от компонента.
Associate Служит для выбора из выпадающего списка, куда будет "прицеплен" этот компонент.
Increment Увеличение и уменьшение за один щелчок по клавишам.
Max Максимальное значение.
Min Минимальное значение.
Orientation Расположение кнопок: udVertical - вертикально, udHorizontal - горизонтально.
Position Начальное значение.
Свойства Align, Constraints, Cursor, Enabled, Font, Height, Hint, ShowHint, Left, ParentColor, ParentFont,ParentShowHint, Name, PopupMenu, Top, Transparent, Visible, Width и некоторые другие являются общими для многих компонентов.
Компонент MediaPlayer
MediaPlayer - компонент для воспроизведения музыкальных файлов и видео.

 Свойство  Значение
 ColoredButtons  Определяет цвет кнопки - цветной или черно-белый.
 DeviceType  Тип устройства - тип воспроизводимого файла.
 EnabledButtons  Кнопки, доступные для нажатия.
 FileName  Путь к файлу.
VisibleButtons Кнопки, которые видны пользователю.
Компонент Timer
Timer - таймер, позволяет выполнять действия через определенные промежутки времени.

Свойство  Значение
 Enabled Если true - таймер включен, false - выключен. 
 Interval  Интервал срабатывания таймера в миллисекундах. По умолчанию 1000, то есть 1 секунда.
Компоненты OpenDialog и SaveDialog, OpenPictureDialog и SavePictureDialog
  OpenDialog - компонент для открытия файлов.  SaveDialog - компонент для сохранения файлов.    OpenPictureDialog - компонент для открытия графических файлов.  SavePictureDialog - компонент для сохранения графических файлов.

    Пример использования: if ( OpenPictureDialog1->Execute() )    {     Image1->Picture->LoadFromFile( OpenPictureDialog1->FileName );    }

  Пример использования:  if ( SavePictureDialog1->Execute() )    {     Image1->Picture->SaveToFile( SavePictureDialog1->FileName );    }  Для работы с jpeg файлами нужно добавить:  #include "jpeg.hpp"

    Пример использования: if( OpenDialog1->Execute() ) {  Memo1->Lines->LoadFromFile( OpenDialog1->FileName ); }

  Пример использования:  if( SaveDialog1->Execute() ) {  Memo1->Lines->SaveToFile( OpenDialog1->FileName ); }  Свойства: 
Свойство Значение
Ctl3D Свойство, необходимое для обратной совместимости. Не имеет значение начиная с Windows XP.
DefaultExt Расширение файла по умолчанию. Точку указывать не надо.
FileName Данное свойство возвращает имя и полный путь к каталогу недавно выбранных файлов. Для того, чтобы имя файла по умолчанию отображалось вокне редактирования диалога, нужно присвоить значение файла в Object Inspector или в коде программы. Программные изменения в FileNameиметь никакого эффекта, пока диалоговое активно.
Filter Диалоговое окно выбора включает в себявыпадающий список типов файлов. Когда пользователь выбирает тип файла из списка,только файлы выбранного типа отображаются в диалоговом окне.Для настройки маски файлов во время разработкинажмите на кнопку с многоточием знаки (...)справа от фильтра в Object Inspector. Это откроет редактор фильтров. В левой колонкередактора фильтра, в Filter Name введите краткое описание каждого типа файлов, которые будут доступны во время работы программы. В правой колонке находятся маски фиотров, соответствующие каждому описанию. Например,описание "Текстовые файлы" может появитьсяслева от маски "*. TXT", а описание "Файлы jpeg"может появиться слева от маски "*.jpeg".Программное задание фильтров:OpenDialog1-> Filter = "Файлы  (*jpeg.) | *JPEG.»;Несколько фильтров должны быть разделенывертикальными линиями. Например:OpenDialog1->Filter = "Text files (*.txt)|*.TXT|Pascal files (*.pas)|*.PAS";Чтобы включить несколько масок в одном фильтре, отделить маски с запятой. Это работает как вObject Inspector, так и в коде программы.Например:OpenDialog1->Filter = "Pascal files|*.PAS;*.DPK;*.DPR";Если значение фильтру не присвоено, диалоговое окно отображает все типы файлов.
FilterIndex Определяет, какой из типов файлов в фильтре по умолчанию, когда откроется диалоговое окно.Установите 1, чтобы выбрать первый тип файла в списке по умолчанию или установите 2, чтобывыбрать второй тип файла по умолчанию, и так далее. Если значение вне диапазона, то будет выбран первый тип файла, из перечисленных в фильтре.
InitialDir Определяет директорию по умолчанию, котораябудет отображаться в диалоговом окне выбора, когда оно откроется.
Name Отвечает за имя компонента. Для удобства его можно сократить, например - OPD1.
Options Используется для настройки параметров и внешнего вида диалога. По умолчанию все эти опции выключены
ofReadOnly - только для чтения.
ofOverwritePrompt - генерирует предупреждающее сообщение, если пользователь пытается выбрать имя файла, который уже используется, спрашивая, нужно ли перезаписывать существующие файлы.
ofHideReadOnly - удаляет флажок "Открыть только для чтения" в диалоговом окне.
ofNoChangeDir - после того, как пользователь нажимает кнопку OK, сбрасывает текущий каталог к ​​тому, что было до открытия файла.
ofShowHelp - отображает кнопку "Справка" в диалоговом окне.
ofNoValidate - отключает проверку на недопустимые символы в именах файлов.Позволяет выбрать имена файлов с недопустимыми символами.
ofAllowMultiSelect - позволяет пользователям выбрать более одного файла в диалоговом окне.
ofExtensionDifferent - этот флаг включается во время выполнения, когда выбранный файл имеет расширение, которое отличается от DefaultExt.Если вы используете этот флаг в приложение, не забудьте сбросить его.
ofPathMustExist - генерирует сообщение об ошибке, если пользователь пытается выбрать имя файла, путь для которого не существует.
ofFileMustExist - генерирует сообщение об ошибке, если пользователь пытается выбрать несуществующий файл. (Относится только к диалогам для открытия).
ofCreatePrompt  - генерирует предупреждающее сообщение, если пользователь пытается выбрать несуществующий файл и спрашивает, нужно ли создавать новый файл с заданным именем.
ofShareAware - игнорирует распространение ошибок и позволяет работать с файлами, которые будут отобраны даже тогда, когда имеются нарушения.
ofNoReadOnlyReturn - генерирует сообщение об ошибке, если пользователь пытается выбрать файл только для чтения.
ofNoTestFileCreate - отключает проверку для сетевых файлов и недоступных дисков.Применяется только тогда, когда пользователь пытается сохранить файл в create-no-modify общего каталога сети.
ofNoNetworkButton - удаляет кнопку (которая открывает диалог "Подключить сетевой диск") из диалогового окно выбора. Применяется только в том случае, если флаг ofOldStyleDialog включен.
ofNoLongNames - отображает имена файлы 8,3-символов. Эта опция действительна только, если включено свойство ofOldStyleDialog.
ofOldStyleDialog - создает старый стиль выбора файла диалога.
ofNoDereferenceLinks - отключает разыменования ярлыков Windows. Если пользователь выбирает ярлык, присваивает имя файла путь и имя файла ярлыка (. LNK-файл),  файл не связан с ярлыком.
ofEnableIncludeNotify - (Windows 2000 и выше.) Отправляет CDN_INCLUDEITEM уведомления в диалоговом окне, когда пользователь открывает папку. Уведомление направляется в недавно открывшеюся папку. Вы можете использовать эти сообщения для управления тем, какие элементы появляются в элементах списка папок.
ofEnableSizing - (Windows 98 и выше) Позволяет в стиле Проводника диалоговое быть изменены с помощью мыши или клавиатуры. По умолчанию диалоговое окно позволяет это изменение размера независимо от значения этого параметра.Необходимо только, если вы предоставите специальную процедуру или пользовательский шаблона. (Старый стиль диалогов никогда не позволять изменение размеров).
ofDontAddToRecent -предотвращает файл от добавления в список недавно открытых файлов.
ofShowHidden - гарантирует, что скрытые файлы отобразятся в диалоге.
OptionsEx Описания, которые определяют внешний вид и поведение выбора файлов в диалоге.
ofExNoPlacesBar - запрещает бару (бар -содержит ссылки на такие места, как папки, истории и рабочий стол) появляться в диалоговом окне.
Tag Переменная, выделенная для нужд программиста.
Title Используется для задание текста, который отображается заголовке диалога. Если значение не присвоено, название имеет значение "Open".

3 МЕТОДИЧЕСКИЙ БЛОК3.1 Технологическая карта самостоятельной работы обучающихся№ самостоятельной работы Наименование раздела/темы
по КТП Кол-во
часов Вид самостоятельной работы Тематика
самостоятельной работы Информационное обеспечение Формы контроля
обязательный по выбору 1 Тема 2.1 Введение. 2 Подготовка сообщения Подготовка презентации Процесс создания программного обеспечения. Доклад
2-4 Тема 2.2. Технологии разработки прикладного программного обеспечения 7 Подготовка сообщения
Создание диаграмм объектов Подготовка презентации Создание диаграмм объектов Доклад
Проверка диаграмм объектов
5-12 Тема 2.3. Основы прикладного программирования с использованием языка С++ 23 Выполнение индивидуальных заданий по записи математических выражений.
Ответы на контрольные вопросы.
Выполнение заданий в рабочей тетради.
Решение задач Решение задач повышенной сложности Основы языка С++. Разработка программ линейной структуры.
Управляющие операторы языка. Условный оператор.
Управляющие операторы языка. Циклы..Одномерные массивы.
Массивы. Указатели.
Функции.
Строки.
Структуры, файлы. Borland C++ Builder Проверка рабочей тетради,
Проверка решенных задач в электронном носителе, опрос по вопросам, тестирование
13-14 Тема 2.4. Реализация объектно-ориентированного программирования на языке С++ 7 Ответы на контрольные вопросы.
Решение задач. Решение задач повышенной сложности Разработка классов.
Использование библиотеки шаблонов класса. Borland C++ Builder Проверка решенных задач в электронном носителе, опрос по вопросам, тестирование
15-20 Тема 2.5. Пользовательский интерфейс прикладных программ 31 Ответы на контрольные вопросы.
Решение задач.
Разработка приложений по индивидуальным заданиям. Решение задач повышенной сложности Базовые компоненты: CheckBox, ListBox, ComboBox.
Базовые компоненты: StringGrid, Memo
Использование файлов при разработке оконных приложений.
Использование графики при разработке оконных приложений. Borland C++ Builder Проверка решенных задач в электронном носителе, опрос по вопросам, тестирование

3.2 Содержание самостоятельной работыТема 2.1 Введение.Студент должен:
уметь:
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
методы и средства разработки технической документации
Осваиваемые компетенции: ОК 1, 4, 5,8, 9, ПК 1.1. -1.2
Задания для внеаудиторной самостоятельной работы:
Самостоятельная работа №1. Подготовка сообщения
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Подготовка сообщения.
Выберите одну из тем и подготовьте сообщение:
Проведение подготовительной работы при разработке программного обеспечения
Методы проведения анализа требований к программному обеспечению
Инструменты и методы проектирования архитектуры программного обеспечения
Методы и средства кодирования программного обеспечения
Методы и средства тестирования программного обеспечения
Средства интеграции программного обеспечения
Понятие и проведение квалификационного тестирования программного обеспечения
Процесс установки программного обеспечения
Процесс приемки программного обеспечения
Состав и структура технического задания на разработку программного обеспечения
Средства автоматизации составления технического задания
Состав и структура технического проекта
Понятие и способы сопровождения программного обеспечения.
Краткая информация по тематике самостоятельно работы:
Процесс разработки (development process) в соответствии со стандартом предусматривает действия и задачи, выполняемые разработчиком, и охватывает работы по созданию программного обеспечения и его компонентов в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации, а также подготовку материалов, необходимых для проверки работоспособности и соответствия качества программных продуктов, материалов, необходимых для обучения персонала, и т. д.По стандарту процесс разработки включает следующие действия:
подготовительную работу - выбор модели жизненного цикла, стандартов, методов и средств разработки, а также составление плана работ;
анализ требовании к системе - определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, требований к внешним интерфейсам и т. д.;
проектирование архитектуры системы - определение состава необходимого оборудования, программного обеспечения и операций, выполняемых обслуживающим персоналом;
анализ требований к программному обеспечению - определение функциональных возможностей, включая характеристики производительности, среды функционирования компонентов, внешних интерфейсов, спецификаций надежности и безопасности, эргономических требований, требований к используемым данным, установке, приемке, пользовательской документации, эксплуатации и сопровождению;
проектирование архитектуры программного обеспечения - определение структуры программного обеспечения, документирование интерфейсов его компонентов, разработку предварительной версии пользовательской документации, а также требований к тестам и плана интеграции;
детальное проектирование программного обеспечения – подробное описание компонентов программного обеспечения и интерфейсов между ними, обновление пользовательской документации, разработка и документирование требований к тестам и плана тестирования компонентов программного обеспечения, обновление плана интеграции компонентов;
кодирование и тестирование программного обеспечения – разработку и документирование каждого компонента, а также совокупности тестовых процедур и данных для их тестирования, тестирование компонентов, обновление пользовательской документации, обновление плана интеграции программного обеспечения;
интеграцию программного обеспечения - сборку программных компонентов в соответствии с планом интеграции и тестирование программного обеспечения на соответствие квалификационным требованиям, представляющих собой набор критериев или условий, которые необходимо выполнить, чтобы квалифицировать программный продукт, как соответствующий своим спецификациям и готовый к использованию в заданных условиях эксплуатации;
квалификационное тестирование программного обеспечения - тестирование программного обеспечения в присутствии заказчика для демонстрации его соответствия u1090 требованиям и готовности к эксплуатации; при этом проверяется также готовность и полнота технической и пользовательской документации;
интеграцию системы - сборку всех компонентов системы, включая программное обеспечение и оборудование;
квалификационное тестирование системы - тестирование системы на соответствие требованиям к ней и проверка оформления и полноты документации;
установку программного обеспечения - установку программного обеспечения на оборудовании заказчика и проверку его работоспособности;
приемку программного обеспечения - оценку результатов квалификационного тестирования программного обеспечения и системы в целом и документирование результатов оценки совместно с заказчиком, окончательную передачу программного обеспечения заказчику.
Указанные действия можно сгруппировать, условно выделив следующие основные этапы разработки программного обеспечения:
постановка задачи (стадия «Техническое задание»);
анализ требований и разработка спецификаций (стадия «Эскизный проект»);
проектирование (стадия «Технический проект»);
реализация (стадия «Рабочий проект»).
Традиционно разработка также включала этап сопровождения. Однако по международному стандарту в соответствии с изменениями, произошедшими в индустрии разработки программного обеспечения, этот процесс теперь рассматривается отдельно. Условность выделения этапов связана с тем, что на любом этапе возможно принятие решений, которые потребуют пересмотра решений, принятых ранее.
Постановка задачи
В процессе постановки задачи четко формулируют назначение программного обеспечения и определяют основные требования к нему. Каждое требование представляет собой описание необходимого или желаемого свойства программного обеспечения. Различают функциональные требования, определяющие функции, которые должно выполнять разрабатываемое программное обеспечение, и эксплуатационные требования, определяющие особенности его функционирования. Требования к программному обеспечению, имеющему прототипы, обычно определяют по аналогии, учитывая структуру и характеристики уже существующего программного обеспечения. Для формулирования требований к программному обеспечению, не имеющему аналогов, иногда необходимо провести специальные исследования, называемые предпроектными. В процессе таких исследований определяют разрешимость задачи, возможно, разрабатывают методы ее решения (если они новые) и устанавливают наиболее существенные характеристики разрабатываемого программного обеспечения. Для выполнения предпроектных исследований, как правило, заключают договор на выполнение научно-исследовательских работ. В любом случае этап постановки задачи заканчивается разработкой технического задания, фиксирующего принципиальные требования, и принятием основных проектных решений.
Анализ требований и определение спецификаций
Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого программного обеспечения. Соответственно различают функциональные и эксплуатационные спецификации. Совокупность спецификаций представляет собой общую логическую модель проектируемого программного обеспечения. Для получения спецификаций выполняют анализ требований технического задания, формулируют содержательную постановку задачи, выбирают математический аппарат формализации, строят модель предметной области, определяют подзадачи и выбирают или разрабатывают методы их решения. Часть спецификаций может быть определена в процессе предпроектных исследований и, соответственно, зафиксирована в техническом задании. На этом этапе также целесообразно сформировать тесты для поиска ошибок в проектируемом программном обеспечении, обязательно указав ожидаемые результаты.
Проектирование
Основной задачей этого этапа является определение подробных спецификаций разрабатываемого программного обеспечения. Процесс проектирования сложного программного обеспечения обычно включает:
проектирование общей структуры - определение основных компонентов и их взаимосвязей;
декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;
проектирование компонентов.
Результатом проектирования является детальная модель разрабатываемого программного обеспечения вместе со спецификациями его компонентов всех уровней. Тип модели зависит от выбранного подхода (структурный, объектный или компонентный) и конкретной технологии проектирования. Однако в любом случае процесс проектирования охватывает как проектирование программ (подпрограмм) и определение взаимосвязей между ними, так и проектирование данных, с которыми взаимодействуют эти программы или подпрограммы.
Принято различать также два аспекта проектирования:
логическое проектирование, которое включает те проектные операции, которые непосредственно не зависят от имеющихся технических и программных средств, составляющих среду функционирования будущего программного продукта;
физическое проектирование - привязка к конкретным техническим и программным средствам среды функционирования, т. е. учет ограничений, определенных в спецификациях.
Реализация
Реализация представляет собой процесс поэтапного написания кодов программы на выбранном языке программирования (кодирование), их тестирование и отладку.
Сопровождение
Сопровождение - это процесс создания и внедрения новых версий программного продукта. Причинами выпуска новых версий могут служить:
необходимость исправления ошибок, выявленных в процессе эксплуатации предыдущих версий;
необходимость совершенствования предыдущих версий, например, улучшения интерфейса, расширения состава выполняемых функций или повышения его производительности;
изменение среды функционирования, например, появление новых технических средств и/или программных продуктов, с которыми взаимодействует сопровождаемое программное обеспечение.
На этом этапе в программный продукт вносят необходимые изменения, которые так же, как в остальных случаях, могут потребовать пересмотра проектных решений, принятых на любом предыдущем этапе. С изменением модели жизненного цикла программного обеспечения роль этого этапа существенно возросла, так как продукты теперь создаются итерационно: сначала выпускается сравнительно простая версия, затем следующая с большими возможностями, затем следующая и т. д. Именно это и послужило причиной выделения этапа сопровождения в отдельный процесс жизненного цикла в соответствии с стандартом 1SO/IEC 12207.
Рассматриваемый стандарт только называет и определяет процессы жизненного цикла программного обеспечения, не конкретизируя в деталях, как реализовывать или выполнять действия и задачи, включенные в эти процессы. Эти вопросы регламентируются соответствующими методами, методиками и т. п. Прежде, чем перейти к подробному рассмотрению последних, проанализируем эволюцию схем разработки программного обеспечения от момента их появления до настоящего времени.
Рекомендуемая литература: [1].
Формы контроля самостоятельной работы: доклад.
Тема 2.2. Технология разработки прикладного программного обеспеченияСтудент должен:
уметь:
осуществлять разработку кода программного модуля на современных языках программирования;
создавать программу по разработанному алгоритму как отдельный модуль;
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
основные принципы отладки и тестирования программных продуктов;
методы и средства разработки технической документации
Осваиваемые компетенции: ОК 2, 3, 4, 5, 8, ПК 1.1. -1.5
Самостоятельная работа №2. Создание диаграмм объектов
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Создание диаграмм объектов Построение функциональной и информационной модели объекта анализа.
Задания для построения диаграмм:
1.  Опишите предметную область, выделите деятельность для построения функциональной модели
2. Определите основные процессы
3. Создайте функциональную диаграмму процессов (IDEF0)
4. Определите объекты информационной модели и связи между ними
5. Создайте информационную модель систему (ER-модель)
Варианты Предметная область
1 Информационная система туристического клуба
Туристы, приходящие в туристический клуб, могут не только ходить в плановые походы, но и заниматься в различных секциях в течение всего года. Для этого они записываются в группы, относящиеся к определенным секциям.
Туpистов можно условно pазделить на любителей, споpтсменов и тpенеpов. Каждая из перечисленных категорий может иметь свой набор характеристик-атрибутов. Секции клуба возглавляются руководителями, в функции которых входит контроль за работой секции. Руководитель секции назначает каждой группе тренера. Тренер может тренировать несколько групп, причем необязательно принадлежащих его секции.
В течение года клуб организует различные походы. Каждый поход имеет свой маршрут, на который отводится определенное количество дней. По маршруту и количеству дней определяется категория сложности данного похода. Поход возглавляет инстpуктоp, котоpым может быть какой-либо тpенеp или споpтсмен. Он набиpает гpуппу в количестве 5-15 человек для своего похода, исходя из типа похода (пеший, конный, водный, гоpный) и физических данных туpистов (по их занятиям в секциях: водники, спелеологи, альпинисты и дpугие, с учетом специфики занятий - не умеющего плавать никогда не возьмут на сплав, а в пеший поход небольшой категоpии сложности могут взять любого туpиста).
1. Для организации работы клуба необходимо: получить список и общее число туpистов, занимающихся в клубе, в указанной секции, гpуппе, по половому пpизнаку, году pождения, возpасту; получить список и общее число тpенеpов указанной секции; получить перечень и общее число маpшpутов, по котоpым ходили туpисты из указанной секции, в обозначенный период вpемени.
2 Информационная система зоопарка
Служащих зоопаpка можно подразделить на несколько категорий: ветеpинаpы, уборщики, дpессиpовщики, стpоители-pемонтники, pаботники администpации. Каждая из перечисленных категорий работников имеет уникальные атрибуты-характеристики, определяемые профессиональной направленностью. За каждым животным ухаживает опpеделенный кpуг служащих, пpичем только ветеpинаpам, убоpщикам и дpессиpовщикам pазpешен доступ в клетки к животным.
В зоопарке обитают животные различных климатических зон, поэтому часть животных на зиму необходимо пеpеводить в отапливаемые помещения. Животных можно подpазделить на хищников и травоядных. Пpи pасселении животных по клеткам необходимо учитывать не только потpебности данного вида, но и их совместимость с животными в соседних клетках (нельзя pядом селить, напpимеp, волков и их добычу - pазличных копытных).
Для коpмления животных необходимы pазличные типы коpмов: pастительный, живой, мясо и pазличные комбикоpма. Растительный коpм это фpукты и овощи, зеpно и сено. Живой коpм - мыши, птицы, коpм для pыб. Для каждого вида животных pассчитывается свой pацион. Таким обpазом у каждого животного в зоопаpке имеется меню на каждый день, в котоpом указывается количество и вpемя коpмлений в день, количество и вид пищи (обезьянам необходимы фpукты и овощи, мелким хищникам - хоpькам, ласкам, совам, некотоpым кошачьим, змеям - надо давать мышей).
Ветеpинаpы должны пpоводить медосмотpы, следить за весом, pостом, pазвитием животного, ставить своевpеменно пpививки и заносить все эти данные в каpточку.
Необходимо получить список и общее число служащих зоопаpка; получить перечень и общее число всех животных в зоопаpке либо животных указанного вида; получить перечень и общее число нуждающихся в теплом помещении на зиму; получить перечень животных, которым не сделаны прививки вовремя; составить рацион для каждого вида животных.
3 Маршруты городских  автобусов
Фирма, занимающаяся пассажирскими перевозками, имеет в своем распоряжении парк автобусов и штат водителей. Наиболее оптимальным распределением автобусов и водителей по маршрутам занимается диспетчерская. Для этого она собирает информацию об автобусах, водителях и маршрутах.
К основным характеристикам автобуса можно отнести количество мест, комфортабельность, объем двигателя, расход топлива. Некоторые их этих показателей учитываются при распределении автобусов по маршрутам.  Например, немногочисленные маршруты могут обслуживаться автобусами с небольшим количеством мест. Так же автобусы должны иметь уникальные номера в учетном списке (это могут быть номерные знаки).
Информация о водителях имеется в отделе кадров. Диспетчерской необходима информация о  возрасте, стаже водителя, а так же его фамилия, имя, отчество. Например, водитель с высоким стажем будет отправлен на более многочисленный и сложный маршрут.
Информация о маршрутах включает в себя номера маршрутов, их протяженность в км, популярность (число пассажиров в час), время обслуживания. Например, протяженность и время обслуживания плюс информация о расходе топлива автобуса нужны, чтобы рассчитывать количество топлива на маршрут. Можно так же, когда уже  конкретно распределены автобусы и водители по маршрутам, учитывать информацию о дневной выручке на маршруте.
4 Оборудование, собираемое мебельной фабрикой  "Лада"
"Лада" производит следующие типы оборудования: аптечное, торговое и офисное. В каждом типе оборудования имеются свои категории оборудования (столы, шкафы, стеллажи и т.д.). Единица  оборудования имеет название, габариты, цвет, материал, из которого собрана, цену. На фабрике каждому виду и каждой категории оборудования присваиваются шифры (шифр вида и шифр категории). Эти шифры нужны для однозначной идентификации оборудования (например, шифр ША2-шкаф аптечный с № 2 по списку).
Произведенная мебель реализуется отделом сбыта. Выше перечисленная информация, характеризующая оборудование, может быть занесена в прайс - листы и предоставляться покупателям.
5 Комплектующие компьютера
С каждым днем появляются все новые и новые модели комплектующих на компьютер. Улучшаются показатели, функции уже существующих.
Появилось множество фирм, сервисных центров, торгующих компьютерами и комплектующими. Многие их них комплектуют компьютер по желанию клиента. В этом случае как раз пригодится систематизированный список комплектующих (прайс-лист). Он должен содержать все необходимые данные: вид, наименование, модель, параметры, цену (например, вид: материнская плата, наименование: MB, модель: VX Pro+). Обязательно должна быть указана совместимость/несовместимость одного типа комплектующего с другими. Очень часто из-за несовместимости происходят поломки, сбои, устройства сгорают, приходят в негодность.
Каждая единица устройства имеет свой серийный номер, однозначно его идентифицирующий. Этот номер помимо учета устройств, необходим при предоставлении гарантийных талонов клиентам. Фирма по гарантийному талону будет обслуживать лишь то устройство, номер которого указан в талоне.
6 Учет инженерно-технического персонала и служащих  на предприятии
Учет кадрового состава предприятия ведется отделом кадров. Отдел труда и экономики составляет организационную структуру предприятия, штатное расписание, должностные инструкции.
 Информация о кадровом составе управленческого персонала  используется в расчетах заработной платы  экономистом по труду или бухгалтерией.  При расчете заработной платы необходимо учитывать оклад работника, его должность.  Любое физическое лицо со своего дохода (заработной платы) платит подоходный налог. При наличии несовершеннолетних детей налогооблагаемая база для этого налога уменьшается на определенное количество в зависимости от количества детей. Наличие детей так же дает право на получения "детского" пособия. Так же проводятся начисления отпускного пособия, надбавки за выслугу лет, за непрерывный стаж работы на данном предприятии и др. виды выплат.
На предприятиях в современных условиях российской экономики часто вступает в силу такое понятие как сокращение кадров (особенно управленческого персонала). И поэтому нередко стоит вопрос о том, кого из сотрудников определенной должности необходимо сократить. По трудовому законодательству необходимо сравнить  конкретные характеристики одного сотрудника с характеристиками другого сотрудника. Если, например, у первого сотрудника есть дети и у него продолжительный непрерывный стаж на этом предприятии, а у другого есть дети, но не столь высокий стаж, то, скорее всего второй сотрудник будет сокращен. Т.е. отделу кадров необходимо знать дату вступления сотрудника в должность на данном предприятии. 
Естественно немаловажно указать данные, однозначно идентифицирующие человека. Это серия, номер паспорта, личные паспортные данные, включающие так же год рождения. Год рождения, кроме того, что является качественной характеристикой человека, требуется, например, для определения пенсионного возраста сотрудника.  
Предметная область может быть расширена за счет: включения производственных рабочих (основных и вспомогательных) в структуру кадрового персонала предприятия, включения дополнительных задач, решаемых на предприятии в области кадров. 
7 Калькуляция себестоимости хлеба
Себестоимость продукции - это выраженные в денежной форме текущие затраты предприятия на ее производство и реализацию.
При выпечке хлеба в состав себестоимости включаются следующие статьи затрат: сырье, амортизация, заработная плата, электроэнергия. Сырье может включать муку, маргарин, масло, воду и т.д. Необходимо указать расход сырья на 1 кг хлеба и цену за 1кг сырья.
Заработная плата (з/п) подразделяется на з/п  управленческого и обслуживающего персонала и з/п основных рабочих. Необходимо учесть количество человек конкретной должности и их з/п.
Амортизация начисляется на помещения, оборудование, транспорт. Для расчета амортизационных отчислений используют стоимость выше перечисленных основных средств (помещения, оборудование, транспорт) и норму амортизации.
При расчете затрат на электроэнергию учитывают количество часов в смену, тариф за 1 кВт/час, расход электроэнергии за смену.
Затраты бывают косвенные и прямые. Прямые затраты непосредственно связаны с производством (это сырье, электроэнергия, з/п основных рабочих), а косвенные затраты (з/п управленческого и обслуживающего персонала, амортизация) связаны с работой цеха или предприятия в целом. Они распределяются пропорционально какому-либо элементу прямых затрат.
Сначала рассчитываются денежные затраты по выпечке суточного количества хлеба, а потом уже вычисляется себестоимость 1 кг хлеба.
8 Периферийные устройства
С каждым годом появляется все больше и больше модификаций, усовершенствованных моделей периферийных устройств компьютера. Ни один компьютер не обходится без принтера, а в скором будущем и без сканера и модема.
Появилось много фирм, торгующих периферийными устройствами. Прейдя в фирму за покупкой периферийного устройства, покупателю очень сложно будет сориентироваться в большом разнообразии. Они отличаются друг от друга фирмами производителями, марками, выполняемыми функциями (параметрами) и т.д. Поэтому удобно  систематизировать все периферийные устройства и составить (прайс-лист). Он должен содержать вид периферийного устройства,  название, фирму производителя, основные параметры (показатели конкретного вида устройства) и конечно цену (например, вид: принтер, фирма: HP, название: DeskJet, параметры: 695 пиксель на 1 дюйм, лазерный). Можно отдельно классифицировать периферийные устройства по видам (виды: сканер, принтер, модем). Тогда можно занести специфические показатели конкретного вида устройства (например, у модема пропускная способность, у принтера разрешение и т.п.).
Обязательно должна быть указана совместимость/несовместимость с комплектующими компьютера. Очень часто из-за несовместимости происходят поломки, сбои или  устройства не подключаются (например, устройство n несовместимо с motherboard- BGH2243). Каждая единица устройства имеет свой регистрационный номер, однозначно его идентифицирующий. Этот номер помимо учета устройств, необходим при предоставлении гарантийных талонов клиентам. Фирма по гарантийному талону будет обслуживать лишь то устройство, номер которого указан в талоне.
9 Успеваемость студентов ИЭУ
Информация об успеваемости студентов необходима  в первую очередь деканату института, который направляет списки об успеваемости в бухгалтерию. В бухгалтерии, как известно, стипендия начисляется по результатам успеваемости студентов конкретной группы. Ведомость о стипендии содержит личные данные о студенте (Ф.И.О.), а так же данные однозначно его идентифицирующие.
Но не только студенты имеют идентифицирующие данные, а так же каждая группа и специальность имеют свои определенные номера (коды). Номер в свою очередь несет смысловую нагрузку (например, буква специальности, год набора, количество групп данного набора дают номер группы). Специальности принадлежат определенным факультетам в рамках института.
Успеваемость проставляется по дисциплинам. Дисциплины, если придерживаться учебного плана, разбиваются по семестрам.
 Т.е. получается следующая структура: студент С учится в группе А на специальности Б факультета В и имеет по дисциплинам 1,2,3 оценки.
Предметную область можно расширить за счет учета успеваемости не только по ИЭУ, но и по всему университету.
10 Легковые автомобили
Фирма, занимающаяся торговлей легковыми автомобилями, должна иметь полную информацию о своем товаре. К такой информации относится марка, фирма производитель, цвет, внешний вид (седан, универсал и т.п.), год выпуска машины,  объем двигателя, тип двигателя (дизельный, бензиновый) и о цене.   На основе этой информации составляются  прайс-листы фирмы. Прайс-лист - это очень удобный способ обслуживания клиентов, потому что чаще всего первоначальная информация, интересующая покупателей, именно подобного плана. Данные о годе выпуска машины, об объеме двигателя, типе двигателя (дизельный, бензиновый) и главное данные о цене помимо того, что интересуют покупателей, влияют на величину пошлины. Пошлина начисляется в декларативных органах на товары, завезенные из-за рубежа. А  т.к. практически все автомобили, представленные на отечественном рынке, импортного производства, то они по закону облагаются пошлиной.
Но самым основным показателем является № двигателя автомобиля, однозначно его идентифицирующий. Этот номер необходим при регистрации машины в органах ГАИ  после покупки. 
Предметная область может быть расширена за счет внесения кроме легковых автомобилей, джипов, микроавтобусов, микрогрузовиков. 
11 Книжный фонд
Понятие книжного фонда характерно для библиотеки. Книжный фонд - это вся имеющаяся литература библиотеки, которая систематизирована по определенным критериям. Библиотеки не могут обойтись без систематизации и классификации литературы, т. к. в противном случае при многотысячном наличии различных изданий поиск одного из них занял бы несколько часов.
Каждая книга имеет свой полочный шифр, инвентарный номер, авторский знак. Номер, однозначно идентифицирующий книгу, это инвентарный номер. Он записывается на первой странице книги. Каждой вновь поступающей книги присваивают свой инвентарный номер. Причем нумерация идет сквозная (например, последняя поступившая книга имеет инвентарный номер 1123454, то следующая за ней будет иметь номер 1123455).
Полочный шифр закодирован таким образом: первые цифры указывают на основную тему книги, а остальные идущие за ней расшифровывают подтемы (например, тема: экономика, а подтема: экономика предприятия). Авторский знак включает в себя первую букву фамилии автора или, если нет автора, то первую букву основного названия, а так же номер книги по данному полочному шифру и букве (например,С-44). И в зависимости от полочного шифра и авторского знака книги располагаются на соответствующих стеллажах, на определенных местах. Такая кодировка во много раз облегчает поиск книг.
Поиск литературы читателями осуществляется с помощью каталога. Каталоги бывают систематическими (по темам) и алфавитными (поиск по автору или названию). При создании каталога требуется знание не только номеров, шифров и знаков книг, но и их авторы, соавторы, название, год и место издания. Обслуживание читателей осуществляется при заполнении читательского требования с указанием всех выше перечисленных данных о книге. 
12 Маршруты городских  автобусов
Фирма, занимающаяся пассажирскими перевозками, имеет в своем распоряжении парк автобусов и штат водителей. Наиболее оптимальным распределением автобусов и водителей по маршрутам занимается диспетчерская. Для этого она собирает информацию об автобусах, водителях и маршрутах.
К основным характеристикам автобуса можно отнести количество мест, комфортабельность, объем двигателя, расход топлива. Некоторые их этих показателей учитываются при распределении автобусов по маршрутам.  Например, немногочисленные маршруты могут обслуживаться автобусами с небольшим количеством мест. Так же автобусы должны иметь уникальные номера в учетном списке (это могут быть номерные знаки).
Информация о водителях имеется в отделе кадров. Диспетчерской необходима информация о  возрасте, стаже водителя, а так же его фамилия, имя, отчество. Например, водитель с высоким стажем будет отправлен на более многочисленный и сложный маршрут.
Информация о маршрутах включает в себя номера маршрутов, их протяженность в км, популярность (число пассажиров в час), время обслуживания. Например, протяженность и время обслуживания плюс информация о расходе топлива автобуса нужны, чтобы рассчитывать количество топлива на маршрут. Можно так же, когда уже  конкретно распределены автобусы и водители по маршрутам, учитывать информацию о дневной выручке на маршруте.
13 Заказы мебельной фабрики "Лада"
Мебельная фабрика реализует свою продукцию либо по предварительным заказам, либо клиенты приобретают уже готовые изделия. Но в обоих  оформляются заказы на основе договоров.
Отделом сбыта должна учитываться информация о клиентах. Эта информация необходима в случае доставки оборудования, налаживания постоянных деловых отношений, для отчетности и учета клиентов  (например, если клиент постоянный, то ему предоставляется скидка).
В то же время отдел сбыта знакомит своих клиентов со своей продукцией. Удобным способ является прайс-лист. Прайс-лист содержит информацию следующего плана:  наименование оборудования (например, стол для клиентов, витрина стеклянная, стеллаж "Горка"), габариты, цвет, материал (дерево красное, дуб, пластмасс и т.п.), цена единицы изделия.При размещении и заполнении заказов сотрудник отдела сбыта должен учесть номер заказа, дату размещения заказа, количество заказанного оборудования, окончательную сумму к оплате, самого заказчика и оборудование (оборудование учитывается по шифру; шифр однозначно идентифицирует каждую единицу оборудования). Если фирма предусматривает доставку к клиенту, то должна быть учтена информация и о данном пункте заказа. Каждый заказ имеет свой номер.
14 Складской учет
По нормативным и технологическим расчетам для осуществления цикла любое предприятие должно иметь запасы сырья, материалов, топлива и т.п. Для хранения запасов используются склады, на которых кладовщиками ведется складской учет.
Каждая единица материала при ведении складского учета имеет во- первых наименование, а во-вторых шифр. Шифр нужен для идентификации каждой единицы материала на складе.
Материалы на склад поступают от поставщиков. Поэтому необходимо зафиксировать данные о поставщике: его наименование, адрес, телефон. Эти данные используются в бухгалтерии при составлении проводок и в отделе маркетинга для поддержания постоянных деловых отношений и для учета своих партнеров.
Каждое поступление материалов на склад фиксируется. Обязательно должна быть информация от кого поступило (наименование поставщика), что поступило (наименование материала), когда (дата поступления), в каком количестве, какова цена за единицу и общая сумма поступления.
Материал на складе хранится до тех пор, пока не прейдет заявка из производственного подразделения, цеха об отпуске необходимого количества сырья. В этом случае кладовщик опять обязан это зафиксировать. Он должен учесть в какой цех поступает материал, в каком количестве, какого числа и на какую сумму. 
15 Служба занятости
Одной из функций службы занятости является сбор и хранение информации о существующих вакансиях на рабочие места, а так же регистрация желающих получить работу.
Фирмы, подающие заявки о свободных рабочих местах, должны предоставить службе занятости свои данные. К таким данным относятся название фирмы, ее организационно-правовая форма, юридический адрес, данные о генеральном директоре, или собственнике фирмы. Обязательно фирме должен быть присвоен уникальный номер. Таким номером (кодом) может быть регистрационный номер фирмы, или ИНН. При подаче заявок фирма должна указать те данные, которыми должен обладать потенциальный работник. Это может быть возраст, стаж в данной области, профессия, конкретная специализация (например, менеджер, специализирующийся в области продаж), вид образования (высшее, среднее и т.д.).В службе занятости регистрируются люди, желающие получить работу. Они должны предоставить информацию о своей профессии, стаже, возрасте, должны указать свои инициалы, адрес, телефон, а так же данные, однозначно его идентифицирующие ( № паспорта, серия). Сотрудниками службы занятости проводится отбор зарегистрированных безработных  в соответствии с предоставленными вакансиями. В случае совпадения соответствующих данных (профессия, стаж, возраст и т.п.), предоставленных фирмой и желающим получить работу, они немедленно об этом информируются.
Рекомендуемая литература: [1].
Формы контроля самостоятельной работы: проверка графического отображения концептуальной модели, построенной средствами MS Visio/ER-Win.
Самостоятельная работа 3. Подготовка сообщения
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Подготовка сообщения
Выберите одну из тем и подготовьте сообщение:
Понятие CASE-системы, структура и назначение основных элементов.
Понятие и эволюция CASE – средств.
CASE-модель жизненного цикла ПО.
Состав, структура и функциональные особенности CASE-средств
Классификация CASE - средств
Методологии структурного анализа Йодана/Де Марко и Гейна-Сарсона
SADT - технология структурного анализа и проектирования
Сравнительный анализ SADT-моделей и потоковых моделей
Методология SSADM
Методологии, ориентированные на данные
Основные этапы подхода Мартина
UML – стандартный язык описания разработки программных продуктов с использование объектного подхода
CASE-средства анализа и проектирования
CASE-средства проектирования баз данных
CASE-средства управления требованиями
CASE-средства документирования программного обеспечения
CASE-средства управления проектами
CASE-средства верхнего уровня
CASE-средства среднего уровня
CASE-средства нижнего уровня
Инструментальные средства поддержки CASE-технологий
Критерии выбора CASE-средств
Функциональная методика IDEF0
Методы планирования ресурсов
Обзор российского рынка case-средств
Методология RAD.
Предпосылки возникновения и основные понятия объектно-ориентированного программирования
Инструментальные средства реализации объектно-ориентированной технологии программирования.
Принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм на примерах.
Объектно-ориентированные языки программирования.
Сравнительный анализ моделей жизненного цикла программных продуктов.
Краткая информация по тематике самостоятельно работы:
CASE-средства (от Computer Aided Software/System Engineering) позволяют проектировать любые системы на компьютере. Необходимый элемент системного и структурно-функционального анализа, CASE-средства позволяют моделировать бизнес-процессы, базы данных, компоненты программного обеспечения, деятельность и структуру организаций. Применимы практически во всех сферах деятельности. Результат применения CASE-средств - оптимизация систем, снижение расходов, повышение эффективности, снижение вероятности ошибок.
Все современные CASE-средства могут быть классифицированы в основном по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы ЖЦ. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit) и полностью интегрированные средства, поддерживающие весь ЖЦ ИС и связанные общим репозиторием. Помимо этого, CASE-средства можно классифицировать по следующим признакам:
применяемым методологиям и моделям систем и БД;
степени интегрированности с СУБД;
доступным платформам.
Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает следующие основные типы:
средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF (Meta Software), BPwin (Logic Works));
средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE.Аналитик (МакроПроджект)). Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;
средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. К ним относятся ERwin (Logic Works), S-Designor (SDP) и DataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASE-средств Vantage Team Builder, Designer/2000, Silverrun и PRO-IV;
средства разработки приложений. К ним относятся средства 4GL (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) и др.) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-IV и частично - в Silverrun;
средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем БД и формирования ERD входят в состав Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin и S-Designor. В области анализа программных кодов наибольшее распространение получают объектно-ориентированные CASE-средства, обеспечивающие реинжиниринг программ на языке С++ (Rational Rose (Rational Software), Object Team (Cayenne)).
Вспомогательные типы включают:
средства планирования и управления проектом (SE Companion, Microsoft Project и др.);
средства конфигурационного управления (PVCS (Intersolv));
средства тестирования (Quality Works (Segue Software));
средства документирования (SoDA (Rational Software)).
Рекомендуемая литература: [1], интернет-ресурсы.
Формы контроля самостоятельной работы: заслушивание сообщений.
Самостоятельная работа №4 Подготовка сообщения
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Подготовка сообщения
Выберите одну из тем и подготовьте сообщение:
Философия тестирования. Интеграция модулей.
Восходящее тестирование.
Нисходящее тестирование. Модифицированный нисходящий метод.
Метод большого скачка. Метод сандвича.
Сравнительная характеристика методов тестирования.
Испытание программных продуктов (анализ).
Технологическая схема испытания.
Стенды отладки и испытания программ.
Тестирование пользовательского интерфейса
Документация, создаваемая и используемая в процессе разработки программных средств
Методы отладки.
Средства отладки. Классификация ошибок.
Рекомендуемая литература: ресурсы сети Интернет.
Формы контроля самостоятельной работы: заслушивание сообщений.
Тема 2.3. Основы прикладного программирования с использованием языка С++Студент должен:
уметь:
осуществлять разработку кода программного модуля на современных языках программирования;
создавать программу по разработанному алгоритму как отдельный модуль;
выполнять отладку и тестирование программы на уровне модуля;
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
основные принципы отладки и тестирования программных продуктов;
методы и средства разработки технической документации
Осваиваемые компетенции: ОК 2, 3, 4, 5, 8, ПК 1.1. -1.5
Самостоятельная работа №5 Основы языка С++.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Из каких элементов состоит естественный язык? Что является аналогами этих элементов в С++?
Из каких частей состоит программа на С++?
Чем определение отличается от объявления?
Перечислить этапы создания исполняемой программы на языке С++.
Что такое препроцессор?
Что такое директива препроцессора? Привести примеры директив препроцессора.
Что такое лексема? Привести примеры лексем в языке С++.
Что такое идентификатор? Правила записи идентификаторов.
Что такое константа? Как константа обрабатывается компилятором?
Какие типы констант существуют в С++. Привести примеры констант разных типов.
К какому типу относятся константы 192345, 0.7865, .0045, ‘c’, “x”, one, “one”, 5 , 5.?
Что такое тип данных?
Чем отличаются типы данных: float и double, char и wchar_t, int и short int?
Чем отличаются типы данных int и unsigned int?
Перечислить все типы данных, которые существуют в C++. Сколько места в памяти занимают данные каждого типа?
На что влияет количество памяти, выделяемое для данных определенного типа?
Что такое переменная? Чем объявление переменой отличается от ее определения? Привести примеры определений и объявлений.
Что такое класс памяти? Какие классы памяти существуют в С++? Привести примеры объявлений и определений переменных разных классов памяти.
Что такое выражение? Из чего состоит выражение?
Что такое операнд?
Какие операции можно применять к целочисленным данным? К вещественным данным? К символьным данным?
Что такое отношение?
В каком случае отношение считается ложным, а в каком – истинным?
для формирования умений:
Задание 2. Выполнение заданий из рабочей тетради: стр. 5-8: Типы данных, переменные и выражения, стр. 8 – 13: Линейные структуры.
Задание 3. Выполнение индивидуальных заданий по записи математических выражений.
1.      
2.      
3.      
4.      
5.      
6.      
7.      
8.      
9.      
10.      
11.      
12.      
13.      
14.      
15.      
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, самостоятельная практическая работа.
Самостоятельная работа №6 Разработка программ линейной структуры.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Какие операции называются унарными? Привести примеры.
Какие операции называются бинарными? Привести примеры.
Что такое тернарная операция? Привести пример.
Какая разница между постфиксной и префиксной операцией инкремента (декремента)?
Какие операции присваивания существуют в С++?
Привести примеры выражений, содержащих операции присваивания, операции инкремента (декремента), аддитивные и мультипликативные операции. Пояснить, как они будут выполняться.
Чему будет равно значение выражений:
int z=x/y++; если int x=1, y=2;
int w=x%++y, если int x=1, y=2;
int a=++m+n++*sizeof(int); если int m=1, n=2;
float a=4*m/0.3*n; если float m=1.5; int n=5;
int ok=int(0.5*y)<short(x)++; если int x=10, y=3;
Что такое форматная строка? Что содержит форматная строка функции printf? Что содержит форматная строка функции scanf?
Что будет выведено функцией printf("\nСреднее арифметическое последовательности чисел равно: %10.5f \nКоличество четных элементов последовательности равно%10.5d ",S/n,k);
Как записать вывод результатов из вопроса 3 с помощью операции << ?Как выполнить ввод переменных х и у, где x типа long int, а у типа double с помощью функции scanf? С помощью операции >> ?для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 8 – 13: Линейные структуры.
Задание 2. Напишите программы на языке С++
Составить программу, которая печатает текст «Моя первая программа на С++»
Написать программу, которая выводит на экран ваши имя и фамилию. Написать программу, которая выводит на экран четверостишие:
Унылая пора! Очей очарованье!
Приятна мне твоя прощальная краса —
Люблю я пышное природы увяданье,
В багрец и золото одетые леса.
А. С. Пушкин
3. Написать инструкцию вывода значений переменных а, b и с (типа float) с пятью цифрами целой части и тремя — дробной, в виде: а = значение b = значение с = значение.
4. Написать инструкцию вывода значений переменных h и l (типа f l o a t ) , которые содержат значения высоты и длины прямоугольника. Перед значением переменной должен быть пояснительный текст (высота=, ширина=), а после — единица измерения (см).
5. Записать инструкцию, которая выводит в одной строке значения переменных а, Ь и с целого типа (int).
6. Написать инструкцию вывода значений целых переменных а, b и с. Значение каждой переменной должно быть выведено в отдельной строке.
Написать инструкции вывода значений дробных переменных х1 и х2. На экране перед значением переменной должен быть выведен поясняющий текст, представляющий собой имя переменной, за которым следует знак "равно".
Задание 3. Изучите возможность вывода на экран текст разным цветом (функции cprintf , cputs, textcolor, textbackground). Напишите программы для решения следующих задач:
Написать программу, которая выводит на синем фоне серыми буквами четверостишие:
Буря мглою небо кроет,
Вихри снежные крутя.
То как зверь она завоет,
То заплачет, как дитя.
А. С. Пушкин
2. Написать программу, которая выводит на экран фразу: "Каждый охотник желает знать, где сидят фазаны", позволяющую запомнить порядок следования цветов радуги (первая буква слова кодирует цвет: каждый — красный, охотник — оранжевый, желает — желтый, знать — зеленый, где — голубой, сидят — синий, фазаны — фиолетовый). Каждое слово фразы должно быть выведено наиболее подходящим цветом.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: самостоятельная работа, проверка задач на электронном носителе.
Самостоятельная работа №7. Управляющие операторы языка. Условный оператор.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Запишите формат условного оператора и объясните принцип его действия.
В чем отличие полного условного оператора от неполного?
Выражение какого типа может выступать в качестве условия при организации развилки? Какие значения принимают такие выражения?
Могут ли в полной развилке не выполниться операторы ни по одной из ветвей? выполниться по обеим ветвям?
Какие операторы сравнения используются в С++?
Назовите порядок выполнения (приоритет) логических операций и отношений.
Что называется простым/составным условием? Приведите примеры.
Что такое множественный выбор?
В каком случае целесообразно использовать переключатель?
Зачем ставится в переключателе оператор break?
Зачем в переключателе употребляется зарезервированное слово Default?
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 13-19: Основные языковые конструкции: ветвления.
Задание 2. Напишите программы на языке С++
Написать программу, которая вычисляет частное двух чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), вы давать сообщение об ошибке. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление частного.
Введите в одной строке делимое и делитель,
затем нажмите <Enter>.
-> 12 0
Вы ошиблись. Делитель не должен быть равен нулю.
Написать программу, которая проверяет, является ли год високосным. Ниже приведен рекомендуемый вид экрана во время работы программы. Данные, введенные пользователем, выделены полужирным шрифтом.
Введите год, например 2000, и нажмите <Enter>
-> 2001
2000 год - не високосный
Для завершения нажмите <Enter>
Написать программу, которая вычисляет дату следующего дня. Ниже приведен рекомендуемый вид экрана во время работы программы, (данные, введенные пользователем, выделены полужирным шрифтом).
Введите цифрами сегодняшнюю дату (число, месяц, год) -> 31 12
2000
Последний день месяца!
С наступающим новым годом!
Завтра 1.1.2001
Написать программу, которая вычис0ляет стоимость междугородного телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и длительность разговора. Ниже приведены коды некоторых городов и рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Город Код Цена минуты (руб.)
Владивосток 423 2.2
Москва 095 1,0
Мурманск 815 1.2
Самара 846 1,4
Вычисление стоимости разговора по телефону.
Введите исходные данные:
Код города -> 423
Длительность (целое количество минут)-> 3
Город: Владивосток
Цена минуты: 2.20 руб.
Стоимость разговора: б.60 руб.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №8. Управляющие операторы языка. Операторы цикла.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Перечислите типы циклов в С++.
Какой тип цикла используется в случае, когда количество повторений цикла заранее известно или может быть вычислено?
Какие три раздела записываются в круглых скобках для оператора цикла For?
В каком случае используется цикл while?
Как записывается условие продолжения цикла в циклах типа while и do ..while?
Что такое вложенные циклы?
Для чего используют специальный оператор break?
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 19-26: Основные языковые конструкции: ветвления, циклы.
Задание 2. Напишите программы на языке С++
Написать программу, которая выводит на экран ваши имя и фамилию 10 раз.
Написать программу, которая вычисляет сумму первых n целых положительных четных целых чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление суммы четных положительных чисел.
Введите количество суммируемых чисел и нажмите <Enter>
-> 12
Сумма первых 12 положительных четных чисел равна 156
Написать программу, которая выводит таблицу значений функции
у = -2,4X2+5Х-3 В диапазоне от - 2 до 2, с шагом 0,5. Ниже приведен рекомендуемый вид экрана во время работы программы.

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

5.Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности неограниченна). Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Определение максимального числа последовательности положительныхчисел.
Вводите после стрелки числа. Для завершения ввода введите ноль.
-> 56
-> 75
-> 43
-> 0
Максимальное число: 75
Задания повышенной сложности.
Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — "отлично", за 9 и 8 — "хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо". Ниже приведен рекомендуемый вид экрана во время работы программы. Ответы пользователя выделены полужирным шрифтом.
*** Проверка знания таблицы умножения ***
После примера введите ответ и нажмите <Enter>.
5x3=15
7x7=49
1x4=4
4x3=12
9x4=36
8x8=64
7x8=52
Вы ошиблись! 7x8=56
4x7=28
3x5=15
2x5=10
Правильных ответов: 9
Оценка: Хорошо.
Написать программу, которая выводит на экран работающие "электронные часы", которые работают в течение, например, трех минут или до тех пор, пока пользователь не нажмет любую клавишу.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №8. Одномерные массивы.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Как объявляются одномерные массивы в С++?
Какими должны быть размерности при описании статического массива в языке С++?
Каков диапазон изменения индекса массива в языке С++?
Как осуществляется доступ к элементу массива?
Что означает директива директивой typedef? Приведите пример.
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 30-34: Массивы одномерные.
Задание 2. Напишите программы на языке С++
Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел, после чего выводит количество ненулевых элементов. Перед вводом каждого элемента должна выводиться подсказка с номером элемента.
Ввод массива целых чисел.
После ввода каждого числа нажмите <Enter>
а[1] ->12
а[2] ->0
а[3] ->3
а[4] ->-1
а[5] ->0
В массиве 3 ненулевых элемента
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.
Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный массив. Рекомендуемый вид экрана во время работы программы приведен ниже, данные, введенные пользователем, выделены полужирным шрифтом.
Объединение двух упорядоченных по возрастанию массивов.
Введите в одной строке элементы первого массива,
(5 целых чисел) -> 1 3 5 7 9
Введите в одной строке элементы второго массива,
(5 целых чисел) -> 2 4 б 8 10
Массив — результат
1 2 3 4 5 6 7 8 9 10
Для завершения работы нажмите <Enter>.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №9. Массивы. Указатели.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Дайте понятие указателя.
Что можно записать в указатель?
Какие операции можно выполнять с указателями?
Что обозначает знак & перед именем переменной?
Что обозначает знак * перед указателем в рабочей части программы (не в объявлении)?
Как обозначить недействительный указатель?
Что происходит при изменении значения указателя на n?
Какие массивы называются динамическими?
Что означает оператор A = new int[N];?
Что означает оператор delete A;?
Что происходит с указателем после освобождения памяти?
Что обозначает запись &A[i] и A+i и почему?
Как можно выделить память для двумерного массива?
Что означает директива директивой typedef? Приведите пример.
Как объявить указатель заданного типа с именем p?
Можно ли инициализировать указатель кодом int *p = 0 ?Можно ли инициализировать указатель кодом int *p = NULL ? Дан код int *p. Объясните результат выполнение директивы p = new int;
Дан код int *p. Объясните результат выполнения директив:
p = new int;
p = new int;
p = new int;
p = new int;
p = new int;
Дан код int *p. Можно ли записать следующий оператор: p = p + 5;
Дан код int *p. Объясните результат выполнения директивы cout << *p.
Чем отличается указатель типа int от указателя типа float.
Дан код int x = 2; Можно ли записать директиву cout << *(&x) и если да, то какой результат появится на экране.
Дан код int x[10]. Объясните результат выполнения кода cout << x.
Дан код int x[10]. Можно ли записать выражение x – &x[5] и если да, чему равно значение данного выражения.
Дан код int *p, x[10]; Можно ли записать p = x.
Даны коды int *p, x[10]; p = x; Можно ли записать p++, x++.
Дан код int x[10], i. Объясните результат выполнения кода cout << (x+i).
Дан код int x[10], i.Чему равен результат выражения *(x+i) == x[i].
Дан код int x[10], i.Чему равен результат выражения *(x+i) < x[i]
Дан код int *p. Объясните результат выполнения директивы cout << p.
Дан код int x[10], i.Чему равен результат выражения (x+i) < &x[i]
Дан код int *x[10]. Объясните результат выполнения данного кода.
Как связано понятие указателя с понятием косвенного доступа к информации?
Связь двумерного массива с указателем.
Дан код int a[9][9], i. Можно ли в тексте программы использовать выражение a < a[i].
Являются ли однотипными значения переменных *a[i] и a[i][k] при допустимых значениях i и k.
Дан код int a[5][5]. Можно ли использовать в тексте выражение a == a[0] и если да, чему равно значение данного выражения.
Дан код int a[5][5]. Можно ли записать выражение a < a[3] и если да чему равно значение данного выражения.
Дан код int a[9][9]. Что определяет код a[2]+7?
Дан код int a[9][9]. Что определяет код *(a[3]+5)?
Дан код int a[9][9]. Равны ли значения переменных (a +3*9 +4), (a[3]+4), &a[3][4].
Дан код int a[9][9]. Можно ли записать выражение a[5]+4 - &a[6][4] и если да, чему будет равно значение этого выражения.
Дан код a[n][m]. Идентичны ли записи &a[i][j], a[i]+j, a+i*m+j?
Дан код a[n][m]. Что определяет значение переменной &a[i][j]?
Дан код a[n][m]. Что определяет значение переменной a[i] + j?
Дан код a[n][m]. Что определяет значение переменной a +m*i + j?
Дан код a[n][m]. Что определяет значение переменной *(a[i] + j)?
Дан код a[n][m]. Что определяет значение переменной *(a +m*i+ j)?
Дан код a[n][m]. Что определяет значение переменной a[i][j]?
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: Стр. 34 -38 Массивы двумерные.
Задание 2. Напишите программы на языке С++
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в двумерном массиве.
Заполнить матрицу нулями, кроме главной и побочной диагоналей
Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по столбцам.
Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам.
Задание повышенной сложности.
Написать программу, которая проверяет, является ли введенная с клавиатуры квадратная матрица "магическим" квадратом. "Магическим" квадратом называется матрица, у которой сумма чисел в каждом горизонтальном ряду, в каждом вертикальном и по каждой из диагоналей одна и та же (см. приведенный ниже рисунок).

Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №10. Функции.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Как объявляются функции в программе?
Что такое прототип функции?
Указать, при каких условиях целесообразно использовать функции, какие выгоды они предоставляют пользователю.
Запишите общий формат объявления функции.
Указать, в чем отличие различных видов функций пользователя.
Указать способ обращения к функциям пользователя.
Указать способы передачи параметров в функцию.
Указать способы передачи одномерного массива в функцию.
Указать способы передачи двумерного массива в функцию.
Как можно передавать динамический двумерный массив в функцию.
Классификация параметров относительно функций.
Перечислить, как согласуются формальные и фактические параметры.
Пояснить, как и куда осуществляется выход из подпрограммы.
Может ли функция с типом void возвращать значение.
Может ли функция быть частью выражения.
Сохраняет ли значение локальная переменная значение между вызовами функции, в которой она объявлена.
Может ли функция возвращать массив.
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 26-30: Подпрограммы. Процедуры и функции.
Задание 2. Напишите программы на языке С++
Написать функцию, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.
Написать функцию Dohod, которая вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка (годовых) и срок вклада количество дней).Написать функцию Procent, которая возвращает процент от полученного в качестве аргумента числа.
Задачи повышенной сложности.
Написать функцию, обеспечивающую ввод с клавиатуры целого положительного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является цифрой. Функция должна позволять редактировать введенное число при помощи клавиши <Backspace>. При нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное число.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №11. Строки
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Укажите правила записи символьных данных (констант, переменных, массивов)
Перечислите способы ввода и вывода символьных данных.
Указать, какие операции можно выполнять над символьными данными.
Указать способ описания символьных данных.
Назвать специальные функции, используемые для обработки символьных данных.
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 37 – 38: строки и символы.
Задание 2. Напишите программы на языке С++
Написать программу, которая запрашивает имя пользователя и здоровается с ним. Рекомендуемый вид экрана во время выполнения программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом).
Как Вас зовут?
Введите свои имя и фамилию, затем нажмите <Enter>
-> Вася Иванов
Здравствуйте, Вася Иванов!
Написать программу, которая выводит на экран первую часть таблицы кодировки символов (символы с кодами от 0 до 127). Таблица должна состоять из восьми колонок и шестнадцати строк. В первой колонке должны быть символы с кодом от 0 до 15, во второй — от 16 до 31 и т. д.
Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное. Рекомендуемый вид экрана во время выполнения программы приведен ниже (введенные пользователем данные выделены полужирным шрифтом).
Введите восьмиразрядное двоичное число
и нажмите <Enter>
-> 11101010
Двоичному числу 11101010 соответствует десятичное 234
Для завершения нажмите <Enter>
Задания повышенной сложности.
Написать программу, реализующую игру "угадай число". Правила игры следующие. Играют двое. Один задумывает число, второй — угадывает. На каждом шаге угадывающий делает предположение, а задумавший число — говорит, сколько цифр числа угаданы и сколько из угаданных цифр занимают правильные позиции в числе. Например, если задумано число 725 и выдвинуто предположение, что задумано число 523, то угаданы две цифры (5 и 2) и одна из них (2) занимает верную позицию. Ниже приведен рекомендуемый вид экрана во время работы программы. Данные, введенные пользователем, выделены полужирным шрифтом.
Компьютер задумал трехзначное число. Вы должны его отгадать.
После очередного числа вам будет сообщено, сколько цифр
угадано и сколько из них находятся на своих местах.
После ввода числа нажР1майте <Enter>.
Для завершения игры нажмите <Esc>.
Ваш вариант -> 123 Угадано: О. На своих местах: О
Ваш вариант -> 456 Угадано: 1. На своих местах: О
Ваш вариант -> 654 Угадано: 2. На своих местах: 2
Ваш вариант -> 657 Угадано: 2. На своих местах: 2
Ваш вариант -> 658 Угадано: 3. На своих местах: 3
*** ВЫ УГДЦАЛИ ! ***
Нажмите <Enter> для завершения.
Напишите программу-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последовательности точек и тире. Вывод точек и тире можно сопроводить звуковым сигналом соответствующей длительности. Азбука Морзе для букв русского алфавита приведена ниже.

Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.
Самостоятельная работа №12. Структуры, файлы.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Где может быть использована структура?
Как называются элементы структуры?
Как определить структуру?
Может ли структура содержать элементы одного типа?
Как обратиться к полям структуры?
Как обратится к элементу массива структур?
Какое ключевое слово начинает определение структуры?
Как обратиться к полям структуры через указатель на нее?
При помощи какой операции формируется доступ к полям структуры?
Какая разница между определениями структуры и массива?
Опишите объект, для которого надо определить структуру и определите ее.
Объяснить, что означают следующие термины: файл, запись, метод доступа, структура записи?
Каково назначение операторов открытия и закрытия файлов на языке программирования?
Допустимы ли различные типы данных для элементов одной записи?
Указать, с помощью, каких операторов выполняется запись данных в файл последовательного доступа, чтение из файла?
Привести пример использования файлов последовательного доступа.
Как распознать конец файла данных?
для формирования умений:
Задание 1. Выполнение заданий из рабочей тетради: стр. 38 – 40. Файлы.
Задание 2. Напишите программы на языке С++
Напишите программу, которая позволяет найти в телефонном справочнике (A:\phone.txt) нужные сведения. Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть люди с одинаковыми фамилиями, то программа должна вывести список всех этих людей. Рекомендуемый вид экрана во время работы программы приведен ниже.
Поиск в телефонном справочнике.
Введите фамилию и нажмите <Enter>. Для завершения работы спрограммой сразу после приглашения нажмите <Enter>
-> Петров
В справочнике данных о Петров нет.
-> Р1ванов
Иванов Вася 578-12-45
Иванов Сергей 244-34-02
Напишите программу, которая объединяет возможности программ "Добавление в телефонный справочник" и "Поиск в телефонном справочнике". При запуске программы на экран должно выводиться меню, вид которого приведен ниже.
*** Телефонный справочник ***
1. Добавление
2. Поиск
3. Завершение работы
Введите номер пункта меню и нажмите Enter>
Задания повышенной сложности.
Напишите программу, которая позволяет за один сеанс работы добавить информацию о нескольких людях в файл phone.txt. Рекомендуемый вид экрана во время работы программы приведен ниже.
Добавление в телефонный справочник.
Для завершения вместо ввода фамилии нажмите <Enter>
Фамилия ~> Сидоров
Имя -> Вася
Телефон -> 234-84-37
Информация добавлена.
Фамилия -> Орлов
Р1мя -> Андрей
Телефон ~> 552-18-40
Информация добавлена.
Фамилия ->
Ввод завершен
Для завершения работы нажмите <Enter>
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка заданий в рабочей тетради, проверка работоспособности программ на электронном носителе.

Тема 2.4. Реализация объектно-ориентированного программирования на языке С++Студент должен:
уметь:
осуществлять разработку кода программного модуля на современных языках программирования;
создавать программу по разработанному алгоритму как отдельный модуль;
выполнять отладку и тестирование программы на уровне модуля;
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
основные принципы отладки и тестирования программных продуктов;
методы и средства разработки технической документации
Осваиваемые компетенции: ОК 1-10, ПК 1.1. -1.5
Самостоятельная работа №13. Разработка классов.
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Что значит в ООП понятие «класс», и какой формат его объявления в программе?
Что такое объект класса, что он содержит?
Какие существуют  уровни доступа к объектам  и методам класса (дать характеристику каждому)?
Что такое операция привязки, ее основное назначение?
Что такое «конструктор», формат объявления, его особенности?
Формат объявления деструктора, его назначение
Особенности дружественных функций, доступ к закрытой части класса
Каким образом дружественная функция получает доступ к закрытой части класса?
Что такое наследование, одиночное наследование, множественное наследование?
Какие объекты базового класса наследуются в производном, а какие нет?
На примере своей программы поясните механизм позднего связывания.
В каком случае С++ проигнорирует механизм виртуальных функций?
Как объявить динамическую строку в С++?
Какие вы знаете функции работы со строками?
Как определяются строки при передаче в функцию, в качестве фактических параметров?
Поясните механизм перегрузки операций для объектов данного класса.
для формирования умений:
Задание 1
1. Определить класс  STUDENT, содержащий следующие частные элементы данных:
•    NAME – фамилия и инициалы;
•    GROUP – номер группы;
•    SES – успеваемость (массив из пяти элементов);
общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;
конструктор, с инициализацией данных.
2. Написать программу, выполняющую следующие действия:
•  объявить пять объектов класса  STUDENT;
•  инициализировать три объекта с помощью конструктора;
•  ввести с клавиатуры данные для двух объектов ;•  вывести на дисплей фамилии и номера групп студентов, включенных в массив, если средний балл студента больше заданного с клавиатуры;
•  если таких студентов нет, вывести соответствующее сообщение.Задание 21. Определить класс  AEROFLOT, содержащий следующие частные элементы данных:•   NAZN – название пункта назначения рейса;•   NUMR – номер рейса;•   TIP – тип самолета;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить пять объектов класса AEROFLOT ;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•  вывести на экран номера рейсов и тип самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;•   если таких рейсов нет, выдать на дисплей соответствующее сообщение.Задание 31. Определить класс  WORKER, содержащий следующие частные элементы данных:•   NAME – фамилия и инициалы работника;•   POS – название занимаемой должности;•   YEAR – год поступления на работу;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2. Написать программу, выполняющую следующие действия:•  объявить пять объектов класса WORKER;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;•   если таких работников нет, вывести на дисплей соответствующее сообщение.Задание 41.  Определить класс  TRAIN, содержащий следующие частные элементы данных:•   NAZN – название пункта назначения;•   NUMR – номер поезда;•   TIME – время отправления;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить пять объектов класса TRAIN;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•  вывести на экран информацию о поездах, отправляющихся после введенного с клавиатуры времени;•  если таких поездов нет, выдать на дисплей соответствующее сообщение.Задание 51. Определить класс  MARSH, содержащий следующие частные элементы данных:•   BEGST – название начального пункта маршрута;•   TERM – название конечного пункта маршрута;•   NUMER – номер маршрута;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2. Написать программу, выполняющую следующие действия:•  объявить пять объектов класса MARSH;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•  вывести на экран информации о маршруте, номер которого введен с клавиатуры;•  если таких маршрутов нет, выдать на дисплей соответствующее сообщение.Задание 61. Определить класс  MARSH, содержащий следующие частные элементы данных:•   BEGST – название начального пункта маршрута;•   TERM – название конечного пункта маршрута;•   NUMER – номер маршрута;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2. Написать программу, выполняющую следующие действия:•  объявить пять объектов класса MARSH;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на экран информации о маршрутах, которые  кончаются в пункте, название которого введено с клавиатуры;•   если таких маршрутов нет, выдать на дисплей соответствующее сообщение.Задание 71. Определить класс  NOTE, содержащий следующие частные элементы данных:•   NAME – фамилия, имя;•   TELE – номер телефона;•   BDAY – день рождения (массив из трех двузначных чисел);общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить пять объектов класса NOTE;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на экран информацию о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры;•   если таких нет, выдать на дисплей соответствующее сообщение.Задание 81. Определить класс  ZNAK, содержащий следующие частные элементы данных:•   NAME – фамилия, имя;•   ZODIAC – знак Зодиака;•   BDAY – день рождения (массив из трех двузначных чисел);общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2. Написать программу, выполняющую следующие действия:•  объявить пять объектов класса ZNAK;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на экран информацию о людях, родившихся под знаком, наименование которого введено с клавиатуры;•   если таких нет, выдать на дисплей соответствующее сообщение.Задание 91.  Определить класс  PRICE, содержащий следующие частные элементы данных:•   TOVAR – название товара;•   MAG – название магазина, в котором продается товар;•   STOIM – стоимость товара в рублях;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить пять объектов класса PRICE;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на экран информацию о товаре, название которого введено с клавиатуры;•   если таких товаров нет, выдать на дисплей соответствующее сообщение.Задание 101. Определить класс  ORDER, содержащий следующие частные элементы данных:•   PLAT – расчетный счет плательщика;•   POL – расчетный счет получателя;•   SUMMA – перечисляемая сумма в рублях;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить пять объектов класса ORDER;•  инициализировать три объекта с помощью конструктора;•  ввести с клавиатуры данные для двух объектов ;•   вывести на экран информацию о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;•   если такого расчетного счета нет, выдать на дисплей соответствующее сообщение.Задание 111. Определить класс  DATA, содержащий следующие частные элементы данных: •   Number – число;•   Month – месяц;•   Year – год;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, выполняющую следующие действия:•  объявить два объекта класса DATA;•  инициализировать первый объект с помощью конструктора;•  ввести с клавиатуры данные для второго объектов ;•  вычислить интервал ( в днях ) между двумя датами.Задание 121. Определить класс  DATA, содержащий следующие частные элементы данных: •   Number – число;•   Month – месяц;•   Year – год;общие методы ввода/вывода данных, с проверкой правильности ввода/вывода;конструктор, с инициализацией данных.2.  Написать программу, определяющую по году и  порядковому номеру дня в году число и месяц года.
Самостоятельная работа №14. Решение задач с использованием шаблонов классов и исключений
для овладения знаниями:
- работа с рекомендуемой литературой;
для формирования умений:
Задание 1. Перепишите следующее определение, сделав из него шаблон класса:
class example1 {
public:
example1 (double min, double max);
example1 (const double *array, int size);
double& operator[] (int index);
bool operator== (const example1&) const;
bool insert (const double*, int);
bool insert (double);
double min (double) const { return _min; };
double max (double) const { return _max; };
void min (double);
void max (double);
int count (double value) const;
private: int size;
double *parray;
double _min;
double _max; }
Задание 2. Имеется следующий шаблон класса:
template <class elemType> class Example2 {
public:
explicit Example2 (elemType val=0) : _val(val) {};
bool min(elemType value) { return _val < value; }
void value(elemType new_val) { _val = new_val; }
void print (ostream &os) { os << _val; }
private: elemType _val;
}
template <class elemType>
ostream& operator<<(ostream &os,const Example2<elemType> &ex)
{ ex.print(os); return os; }
Какие действия вызывают следующие инструкции?
(a) Example2<Array<int>*> ex1;
(b) ex1.min (&ex1);
(c) Example2<int> sa(1024),sb;
(d) sa = sb;
(e) Example2<string> exs("Walden");
(f) cout << "exs: " << exs << endl;
Задание 3. Написать функцию ввода в массив результатов забега спортсменов на 1500 метров. Каждый результат записывается в переменной типа структура, содержащей время (минуты, секунды и доли секунды). Обработать с помощью генерации исключения ситуацию ввода недопустимых значений времени (отрицательные значения и количество секунд, большее 60).
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе.
Тема 2.5. Пользовательский интерфейс прикладных программСтудент должен:
уметь:
осуществлять разработку кода программного модуля на современных языках программирования;
создавать программу по разработанному алгоритму как отдельный модуль;
выполнять отладку и тестирование программы на уровне модуля;
оформлять документацию на программные средства;
использовать инструментальные средства для автоматизации оформления документации;
знать:
основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
основные принципы отладки и тестирования программных продуктов;
методы и средства разработки технической документации
Осваиваемые компетенции: ОК 1-10, ПК 1.1. -1.5
Самостоятельная работа 15. Решение задач по теме: "Базовые компоненты: Label, Edit, Button, MainMenu"
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1.
Ответьте на контрольные вопросы:
Что такое интегрированная среда разработки?
Что такое системы быстрой разработки приложений (RAD)?
Что такое визуальные среды?
Опишите назначение пакета C+ BuilderПеречислите основные характеристики пакета C+ BuilderЧто такое свойства, методы и события?
Каково назначение палитры компонент в C+ Builder?
Каково назначение редактора кода в C+ Builder?
Каково назначение инспектора объектов в C+ Builder?
Все ли компоненты видимы во время разработки и выполнения программы?
Назовите один невизуальный компонент VCL.
Существуют ли свойства, общие для всех компонентов?
Назовите два свойства, общих для всех визуальных компонентов.
Возможно ли использование одного обработчика событий двумя или более компонентами?
Перечислите основные свойства компонентов Label и Edit, Button.
Какие типы меню существуют и как они создаются в приложении?
Какие возможности имеются для настройки меню?
Какие возможности имеются для настройки формы?
Какая последовательность создания панели инструментов?
для формирования умений:
Задание 1. Разработайте приложения
Создайте приложение C++Builder, отображающее окно сообщения с текстом Hello, Bubba! при щелчке на главной форме.
Создайте приложение C++Builder, отображающее красными буквами текст I've been resized! при нажатии на кнопку.
425069026670Скидка. Напишите программу вычисления стоимости покупки с учетом скидки. Скидка предоставляется, если сумма превышает 1000 руб., а также в выходные дни. Рекомендуемый вид формы приведен на рис. 1. В результате щелчка на кнопке Скидка в поле компонента Label должно появляться сообщение, информирующее о предоставлении скидки, и итоговая сумма с учетом скидки. Информацию о том, является ли день выходным, программа должна получать на основе анализа текущей даты.
412051584455
41198801397635Доход по вкладу. Напишите программу вычисления дохода по вкладу в банке. Доход вычисляется по формуле: Д = С * (СР / 360) * (СТ / 100), где: С — сумма вклада; СР — срок вклада (количество дней); СТ — процентная ставка (годовых). Рекомендуемый вид формы приведен на рис. 2.
Поездка на автомобиле. Напишите программу, при помощи которой можно вычислить стоимость поездки на автомобиле. Рекомендуемый вид формы приведен на рис. 3.
3602990248920Разработать приложение «Состав компьютера». При выборе соответствующего пункта меню или пиктограммы на панели инструментов на экране отображается графическое изображение устройства и информация о назначении устройства. При наведении курсора отображается всплывающая подсказка о названии устройства.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе
Самостоятельная работа 16. Решение задач по теме: "Базовые компоненты: CheckBox, ListBox, ComboBox, RadioGroup "
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Ответьте на контрольные вопросы:
Можно ли изменять свойство Name компонента во время выполнения программы?
Какое свойство используется для того, чтобы разрешить или запретить доступ к компоненту?
Как можно во время выполнения программы сообщить пользователю, что доступ к кнопке запрещен?
Какой компонент обычно используется в качестве контейнера для других компонентов?
Перечислите основные свойства компонентов, CheckBox, RadioButton.
Опишите назначение и порядок использования свойства Checked компонентов CheckBox и RadioButton.
для формирования умений:
Задание 1. Разработайте приложения
Создайте программу, содержащую два компонента редактирования. Сделайте так, чтобы по мере ввода данных в первый элемент, они появлялись во втором элементе редактирования.
Создайте программу, которая использует компонент RadioGroup с четырьмя кнопками в группе. Добавьте компонент Label, текст которого должен изменяться в зависимости от того, какая радиокнопка нажата.
368744595885
Стоимость разговора. Напишите программу вычисления стоимости исходящего звонка с сотового телефона. Рекомендуемый вид формы приведен на рис.
35490154445Стеклопакет. Напишите программу, при помощи которой можно вычислить стоимость окна (стеклопакета). Рекомендуемый вид формы приведен на рис.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе
Самостоятельная работа 17. Решение задач по теме: "Базовые компоненты: StringGrid, Memo"
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Ответьте на контрольные вопросы:
Какие окна присутствуют по умолчании на экране в момент начала работы над новым проектом в Delphi и каковы их функции?
Что такое Properties и Events в окне инспектора объектов?
Можно ли изменять свойство Name компонента во время выполнения программы?
В чем разница между свойствами Caption и Name?
Какое свойство используется для того, чтобы разрешить или запретить доступ к компоненту?
Что означают значок «+» перед названием свойства в окне инспектора объектов и кнопка с многоточием в строке свойства?
Какие файлы создает Delphi при работе с проектом? Каково их назначение? Где они сохраняются?
Каким образом в Delphi создается стандартная заготовка для обработчиков событий?
Какие функции используются для преобразования строковых значений в численные и наоборот.
Как можно во время выполнения программы сообщить пользователю, что доступ к кнопке запрещен?
Какой компонент обычно используется в качестве контейнера для других компонентов?
Опишите назначение и перечислите основные свойства компонента Memo.
Опишите назначение и порядок использования свойства Lines компонента Memo.
В какой палитре находится компонента StringGrid?
Опишите назначение и перечислите основные свойства компонента StringGrid.
Какое свойство компонента StringGrid предназначено для хранения данных?
В каком порядке пронумерованы строки и столбцы компонента?
Какое свойство разрешает редактировать ячейки StringGrid?
Какие свойства StringGrid задают размерность (количество строк и столбцов) таблицы?
Какие свойства StringGrid задают «шапку» таблицы?
для формирования умений:
Задание 1. Разработайте приложения.
Создайте приложение, которое предлагает пользователю задать массив линейного размера, заполняет этот массив случайными целыми числами, выводит список элементов массива, а затем по выбору пользователя определяет минимальный и максимальный элементы массива, сумму всех элементов и количество положительных элементов. Алгоритмы обработки массивов были подробно рассмотрены при изучении программирования на языке Pascal.
Создайте приложение, которое предлагает пользователю ввести размер массива и создать массив случайных целых чисел, а затем, используя переключатели, указать порядок сортировки (по неубыванию, по невозрастанию), выполнить сортировку и просмотреть отсортированный массив.
Создайте приложение, которое выводит двухмерный массив случайных целых чисел в объекте StringGrid и определяет минимальный и максимальный элементы, а также сумму элементов массива, расположенных на главной диагонали.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе
Самостоятельная работа 18. Решение задач по теме: "Использование файлов при разработке оконных приложений"
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Ответьте на контрольные вопросы:
Типы данных, определяемые пользователем (переименование типов, перечисление, структуры, объединения). Примеры.
Дайте понятие структуры. Определение, инициализация, присваивание структур, доступ к элементам структур, указатели на структуры, битовые поля структур.
Охарактеризуйте прямой доступ к файлам.
Создание бинарных и текстовых файлов, удаление, добавление, корректировка элементов, печать файлов.
для формирования умений:
Задание 1. Разработайте приложения.
Создайте приложение, которое создает файл textl.txt и записывает в него текст, введенный пользователем в окно Edit, после чего закрывает файл.
Создайте приложение, открывающее текстовый файл для чтения и считывающее из него текст в окно Memo. Перед открытием файла следует проверить его наличие; в случае отсутствия файла должно выводиться соответствующее сообщение.
Создайте приложение, открывающее текстовый файл для дополнения и затем добавляющее в него введенный текст.
Создайте приложение, формирующее текстовый файл и сохраняющее в нем текст из Memo, используя метод SaveDialog для выбора папки и задания имени и расширения текстового файла.
Создайте приложение, которое открывает текстовый файл с использованием метода OpenDialog, считывает текст из него в объект Memo, затем сохраняет измененный текст в файле с использованием метода SaveDialog и выводит текст на печать, используя метод PrintDialog.
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе
Самостоятельная работа 19. Решение задач по теме: "Использование графики при разработке оконных приложений"
для овладения знаниями:
- работа с рекомендуемой литературой;
для закрепления и систематизации знаний:
Задание 1. Ответьте на контрольные вопросы:
Что такое графические компоненты C-Builder? Опишите их использование.
Опишите основные этапы разработки графического приложения в C++ Builder.
В какой палитре расположен компонент Chart?
Какие Вы знаете способы формирования изображений в компоненте Image?
Перечислите основные свойства компонента Image.
Какие этапы нужно выполнить в процессе построения диаграммы?
Каким образом задается тип диаграммы?
Как задать плоский или объемный тип диаграммы?
Как формируется заголовок диаграммы?
Что такое легенда диаграммы и как она задается?
Как сделать невидимой вертикальную ось диаграммы?
Как сделать градиентной заливку области диаграммы?
Как сделать градиентной заливку столбиков данных диаграммы?
Как задать цвет каждой из задних стенок трехмерной диаграммы?
для формирования умений:
Задание 1. Разработайте приложения
1. Диаграмма. Напишите программу, в окне которой, в виде диаграммы, отображается динамика изменения, например, цены мониторов

2. Кораблик. Напишите программу, в окне которой "плывет" кораблик. Изображение кораблика формируйте из графических примитивов.
3. Создайте приложение-мультипликацию, в котором на фоне снежных гор летит самолет. В качестве значка приложения используйте рисунок самолета. Рисунки фона и самолета можно сделать самостоятельно или найти в Интернете
Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: опрос по контрольным вопросам, проверка работоспособности программ на электронном носителе
Самостоятельная работа 20. Разработка приложений по индивидуальным заданиям.
для овладения знаниями:
- работа с рекомендуемой литературой;
для формирования умений:
Задание 1. Разработайте приложение по индивидуальному заданию.
Работа над проектом состоит из нескольких этапов:
Первый этап – подготовительный – имеет цели:
самостоятельный выбор темы проекта, ознакомление с общими требованиями по разработке;
утверждение варианта темы преподавателем в ходе собеседования;
сбор исходных данных в соответствии с темой проекта, работа с литературой;
Второй этап – проектирование приложения.
Проектирование приложения включает в себя:
разработку алгоритма;
проектирование интерфейса приложения;
программную реализацию;
тестирование и отладку.
Третий этап – итоговый - предполагающий оформление отчета и защиту проекта.
Отчет должен включать:
титульный лист и содержание;
постановку задачи;
описание интерфейса приложения;
инструкцию пользователю;
листинг программного кода с комментариями.
заключение (дать характеристику разработанному приложению, указать возможную сферу применения).
список использованной литературы;
Примерные темы индивидуальных проектов«Крестики - нолики»
Постановка задачи: Разработать приложение, реализующее алгоритм игры «Крестики-нолики». В игре участвуют два игрока: пользователь и компьютер. В начале игры разыгрывается право первого хода. Выигрывает тот, кто первый построит линию из своих знаков.
«Шифрование текста»
Постановка задачи: Разработка приложения, реализующего алгоритмы различных способов шифрования и дешифрования текстовой информации.
«Файловый менеджер»
Постановка задачи: Разработать приложение, позволяющее пользователю работать с файловой системой используемого компьютера:
просмотр содержимого внешних носителей информации;
просмотр дерева каталогов диска;
просмотр содержимого выбранного каталога;
удаление и переименование файла;
определение объема свободной памяти диска.
«Крестики - нолики»
Постановка задачи: Разработать приложение, реализующее алгоритм игры «Крестики-нолики». В игре участвуют два игрока: пользователь и компьютер. В начале игры разыгрывается право первого хода. Выигрывает тот, кто первый построит линию из своих знаков.
Тест памяти (на внимательность).
Постановка задачи: Напишите программу, используя которую можно оценить способность игрока (испытуемого) запоминать числа. Программа должна выводить числа, а испытуемый — вводить эти числа с клавиатуры. Время, в течение которого игрок будет видеть число, ограничьте, например, одной секундой. По окончании теста программа должна вывести результат: количество показанных чисел и количество чисел, которые испытуемый запомнил правильно.
6.Приложение «Как стать миллионером»
Постановка задачи: Разработать приложение, реализующее алгоритм игры «Кто хочет стать миллионером?». Подготовить внешний файл, содержащий 14 вопросов и 4 варианта ответов на каждый из них. Приложение должно выводить очередной вопрос и варианты ответов. Переход к следующему вопросу происходит только в случае верного ответа. Реализовать возможность трех подсказок: 50 на 50, «помощь зала», звонок другу. Игрок имеет право на три несгораемых суммы.
7.Создание игры “спички”
Постановка задачи: Разработать приложение, реализующее алгоритм игры «Спички».

Рекомендуемая литература: [1-3]
Формы контроля самостоятельной работы: отчет, подготовленный с помощью текстового редактора и напечатанного на принтере, и электронная версия приложения.

Примерные вопросы к экзамену.Дайте понятие понятие прикладного программирования .Охарактеризуйте классификацию языков программирования по различным признакам.
Дайте определение языка программирования. Перечислите основные этапы развития языков программирования.
Эволюция разработки ПП. Дайте характеристику моделям разработки ПП: каскадной, с промежуточным контролем и спиральной.
Расскажите суть структурного программирования. Дайте характеристику восходящего и нисходящего проектирования. Приведите примеры. Перечислите достоинства структурного программирования.
Дайте характеристику модульного программирования. Дайте понятие и расскажите структуру модуля в терминах языка Pascal.
Охарактеризуйте объектно-ориентированное программирование. Назовите достоинства ООП. Перечислите основные принципы ООП.
Дайте понятие Структурной и функциональной схемы разрабатываемого программного обеспечения. Приведите пример функциональной схемы программного комплекса.
Опишите метод пошаговой детализации. Дайте понятие структурным картам Константайна, Джексона.
Основы объектно-ориентированного программирования.
Охарактеризуйте этапы разработки программного обеспечения.
Дайте понятие CASE – средств. Назовите их классификацию и дайте характеристику.
Охарактеризуйте принципы отладки и тестирования программных продуктов.
Перечислите и дайте характеристику методам и средствам разработки технической документации.
Объектно-ориентированное проектирование. Опишите способы проведения объектно-ориентированный анализа.
Расскажите историю создания языка и его эволюцию. Охарактеризуйте международный стандарт языка. Назовите сферы применения языка Си++. Приведите пример простой программы.
Охарактеризуйте использование переменных в языке С++: объявление, определение, инициализацию.
Назовите основные языковые конструкции. Охарактеризуйте условный оператор и оператор выбора. Запишите формат использования этих операторов. Приведите примеры.
Назовите основные языковые конструкции. Охарактеризуйте операторы цикла с параметром и циклов с условиями. Запишите формат использования этих операторов. Приведите примеры.
Составные типы данных: массивы. Дайте понятие массиву. Опишите способы объявления и инициализации одномерных массивов. Перечислите основные алгоритмы обработки одномерных массивов.
Дайте определение функции. Опишите правила их записи, вызова и передачи параметров.
Охарактеризуйте составные типы данных и принцип их применения.
Символьные строки.
Дайте определение класса. Опишите способ объявления класса и определения класса.
Опишите способы создания и удаления объектов классов.
Дайте понятие перегрузки операций. Приведите пример.
Дайте понятие наследования. Опишите способ определения производного класса.
Дайте определение шаблонов функций и классов. Приведите пример.
Опишите обработку нештатных ситуаций, пробный блок try и блоки захвата catch.
Опишите назначение и структуру стандартной библиотеки шаблонов.
Дайте понятие стандартная библиотека шаблонов языка STL. Назовите преимущества и недостатки библиотеки шаблонов STL. Дайте понятие контейнера, строки, итератора.
Охарактеризуйте семейство операционных систем Windows с точки зрения программиста.
Охарактеризуйте структуру приложений Windows.
Опишите cреду разработки C++ Builder, Общие характеристики и особенности применения.
Охарактеризуйте инструменты визуальной разработки приложений C++ Builder: администратор проекта, редактор форм, инспектор объектов, хранилище объектов, палитра компонент.
Опишите принцип использования и создания визуальных компонент в C++ Builder.
Дайте понятие пользовательского интерфейса.
Опишите назначение, основные свойства и принцип использования базовых компонентов для создания меню приложения с среде С++Builder.
Опишите назначение, основные свойства и принцип использования базовых компонентов:: Label, Edit, Button, MainMenu.
Охарактеризуйте парадигмы интерфейсов. Опишите как производится оценка качества пользовательского интерфейса.
Дайте понятие и назовите классификацию инструментария для разработки пользовательского интерфейса.
Охарактеризуйте эргономическое проектирование программных систем.
Опишите методы описания диалоговых систем.
Перечислите и охарактеризуйте этапы проектирования графического интерфейса пользователя.
Стандартизация пользовательского интерфейса.
Опишите назначение, основные свойства и принцип использования базовых компонентов: CheckBox, ListBox, ComboBox"
Опишите назначение, основные свойства и принцип использования базовых компонентов:: StringGrid, Memo.
Опишите назначение, основные свойства и принцип использования базовых компонентов для использования графики при разработке оконных приложений
Основная литература
1. Культин Н. Б. C/C++ в задачах и примерах. — СПб.: БХВ-Петербург, 2011.
2. Павловская Т. А. C/C++. Программирование на языке высокого уровня : [учебник по направлению "Информатика и вычислительная техника"] / Т. А. Павловская. - СПб. [и др.], 2011. - 460 с. : табл., ил. - Рекомендовано МО.
3.Семакин И.Г Основы программирования: Учебник для спец.проф.образования/ И.Г Семакин , А.П.Шестаков.- 3-е изд.,стер.- М.:Издательский центр «Академия», 2012.-432 с.
4.Лисицин Д. В. Объектно-ориентированное программирование : конспект лекций / Д. В. Лисицин ;  Новосиб. гос. техн. ун-т, Фак. приклад. мат. и информатики. - Новосибирск, 2011. - 86, [1] с.
5. Хабибуллин И. . Программирование на языке высокого уровня  C/C++ : учебное пособие для вузов по направлению 654600 "Информатика и вычислительная техника" / И. Ш. Хабибуллин. - СПб, 2011. - 485 с. : ил. - Рекомендовано УМО.
Дополнительная литература
1. Бадд Т. Объектно-ориентированное программирование в действии : Пер. с англ.. - СПб., 1997. - 460 с. : ил.
2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ / Гради Буч ; пер. с англ. под ред. И. Романовского и Ф. Андреева. - М., 1998. - 558 с. : ил.. - Тит. л. парал. рус., англ..
3. Буч Г. Обьектно-ориентированное проектирование с примерами применения : Пер. с англ.. - Киев;М., 1992. - 519с. : ил.
4. Буч Г. Язык UML : руководство пользователя / Г. Буч, Д. Рамбо, И. Якобсон ; [пер. с англ. Н. Мухина]. - М., 2007. - 493 с. : ил.
5. Дейтел Х. М. Как программировать на C++ / Х. М. Дейтел, П. Дж. Дейтел ; пер. с англ. под ред. В. В. Тимофеева. - М., 2007. - 799 с. : ил.
6. Дейтел Х. М. Как программировать на C++ / Х. М. Дейтел, П. Дж. Дейтел ; пер. с англ. под ред. А. Архангельского. - М., 2000. - 1021 с. : ил.. - Доп. тит. л. англ..
11. Фридман А. Л. Основы объектно-ориентированной разработки программных систем. - М., 2000. - 191 с. : ил.
14. Страуструп Б. Язык программирования С++ / Пер. с англ. под ред. Ф. Андреева и А. Ушакова. - М.;СПб., 2011. - 990с. : ил.

Приложение 1. Требования к содержанию и оформлению сообщенияСообщение должен содержать:
титульный лист,
оглавление,
введение,
основную часть,
приложение (скриншот презентации),
пронумерованный список использованной литературы (не менее 2-х источников) с указанием автора, названия, места издания, издательства, года издания.
Требования к оформлению сообщения
Оформление цитат. Текст цитаты заключается в кавычки и приводится в той грамматической форме, в какой он дан в источнике, с сохранением особенностей авторского написания.
Оформление перечислений. Текст всех элементов перечисления должен быть грамматически подчинен основной вводной фразе, которая предшествует перечислению.
Оформление ссылок на рисунки. Для наглядности изложения желательно сопровождать текст рисунками. В последнем случае на рисунки в тексте должны быть соответствующие ссылки. Все иллюстрации в реферате должны быть пронумерованы. Нумерация должна быть сквозной, то есть через всю работу. Если иллюстрация в работе единственная, то она не нумеруется.
В тексте на иллюстрации делаются ссылки, содержащие порядковые номера, под которыми иллюстрации помещены в реферате. Ссылки в тексте на номер рисунка, таблицы, страницы, главы пишут сокращенно и без значка, например "№", например: "рис.3", "табл.4", "с.34", "гл.2". "см. рисунок 5" или " график....приведен на рисунке 2". Если указанные слова не сопровождаются порядковым номером, то их следует писать в тексте полностью, без сокращений, например "из рисунка видно, что...", "таблица показывает, что..." и т.д. Фотографии, рисунки, карты, схемы можно оформить в виде приложения к работе.
Оформление таблиц. Все таблицы, если их несколько, нумеруют арабскими цифрами в пределах всего текста. Над правым верхним углом таблицы помещают надпись "Таблица..." с указанием порядкового номера таблицы (например "Таблица 4") без значка № перед цифрой и точки после нее. Если в тексте реферата только одна таблица, то номер ей не присваивается и слово "таблица" не пишут. Таблицы снабжают тематическими заголовками, которые располагают посередине страницы и пишут с прописной буквы без точки на конце.
Выводы (заключительная часть) должны содержать краткое обобщение рассмотренного материала, выделение наиболее достоверных и обоснованных положений и утверждений, а также наиболее проблемных, разработанных на уровне гипотез, важность рассмотренной проблемы с точки зрения практического приложения, мировоззрения, этики и т.п.
В этой части автор подводит итог работы, делает краткий анализ и формулирует выводы.
Примерный объем реферата составляет 15-20 страниц машинописного текста.
В конце работы прилагается список используемой литературы. Литературные источники следует располагать в следующем порядке:
энциклопедии, справочники;
книги по теме реферата (фамилии и инициалы автора, название книги без кавычек, место издания, название издательства, год издания, номер (номера) страницы);
газетно-журнальные статьи (название статьи, название журнала, год издания, номер издания, номер страницы).
Формат. Реферат должен быть выполнен на одной стороне листа белой бумаги формата А4 (210х297 мм). Интервал межстрочный - полуторный. Цвет шрифта - черный. Гарнитура шрифта основного текста — «Times New Roman» или аналогичная. Кегль (размер) от 12 до 14 пунктов. Размеры полей страницы (не менее): правое — 30 мм, верхнее, и нижнее, левое — 20 мм. Формат абзаца: полное выравнивание («по ширине»). Отступ красной строки одинаковый по всему тексту.
Страницы должны быть пронумерованы с учётом титульного листа, который не обозначается цифрой. В работах используются цитаты, статистические материалы. Эти данные оформляются в виде сносок (ссылок и примечаний). Примеры оформления сносок приводятся ниже. Расстояние между названием главы (подраздела) и текстом должно быть равно 2,5 интервалам. Однако расстояние между подзаголовком и последующим текстом должно быть 2 интервала, а интервал между строками самого текста — 1,5. Размер шрифта для названия главы — 16 (полужирный), подзаголовка — 14 (полужирный), текста работы — 14. Точка в конце заголовка, располагаемого посередине листа, не ставится. Заголовки не подчёркиваются. Абзацы начинаются с новой строки и печатаются с отступом в 1,25 сантиметра. Оглавление (содержание) должно быть помещено в начале работы.
Заголовки. Заголовки разделов и подразделов следует печатать на отдельной строке с прописной буквы без точки в конце, не подчеркивая, например: ВВЕДЕНИЕ, ЗАКЛЮЧЕНИЕ.
Выравнивание по центру или по левому краю. Отбивка: перед заголовком — 12 пунктов, после — 6 пунктов. Расстояние между названием главы и последующим текстом должно быть равно двум междустрочным интервалам. Такое же расстояние выдерживается между заголовками главы и параграфа. Расстояния между строками заголовка принимают таким же, как и в тексте. Подчеркивать заголовки и переносить слова в заголовке не допускается.
Нумерация. Страницы следует нумеровать арабскими цифрами, соблюдая сквозную нумерацию по всему тексту (титульный лист и оглавление включают в общую нумерацию). На титульном листе номер не проставляют. Номер страницы проставляют в центре нижней части листа без точки.
Титульный лист. В верхней части титульного листа пишется, в какой организации выполняется работа, далее буквами увеличенного кегля указывается тип («Реферат») и тема работы, ниже в правой половине листа — информация, кто выполнил и кто проверяет работу. В центре нижней части титульного листа пишется город и год выполнения.
БиблиографияБиблиографические ссылки в тексте реферата оформляются в виде номера источника в квадратных скобках. Библиографическое описание (в списке источников) состоит из следующих элементов:
основного заглавия;
обозначения материала, заключенного в квадратные скобки;
сведений, относящихся к заглавию, отделенных двоеточием;
сведений об ответственности, отделенных наклонной чертой;
при ссылке на статью из сборника или периодического издания — сведений о документе, в котором помещена составная часть, отделенных двумя наклонными чертами с пробелами до и после них;
места издания, отделенного точкой и тире;
имени издателя, отделенного двоеточием;
даты издания, отделенной запятой.
Примеры (см. Примечание ).
 
ПРИМЕЧАНИЕ
Список элементов библиографической записи сокращен
Книга, имеющая не более трех авторов:
Максимов, Н. В. Архитектура ЭВМ и вычислительных систем [Текст]: учеб. для вузов / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. — М.: Инфра, 2005.
Книга с четырьмя и более авторами, сборник и т. п.:
Мировая художественная культура [Текст]: в 2-х т. / Б. А. Эренгросс [и др.]. — М.: Высшая школа, 2005. — Т. 2.
Статья из сборника:
Цивилизация Запада в 20 веке [Текст] / Н. В. Шишова [и др.] // История и культурология: учеб. пособие для студентов. — М, 2000. — Гл. 13. — С. 347-366.
Статья из журнала:
Мартышин, О. В. Нравственные основы теории государства и права [Текст] / О. В. Мартышин // Государство и право. — 2005. — № 7. — С. 5-12.
Электронное издание:
Сидыганов, Владимир Устинович. Модель Москвы [Электронныи ресурс]: электронная карта Москвы и Подмосковья / Сидыганов В. У., Толмачев С. Ю., Цыганков Ю. Э. — Версия 2.0. — М.: Formoza, 1998.
Интернет-ресурс:
Бычкова, Л. С. Конструктивизм / Л. С. Бычкова // Культурология 20 век. — (http//www.philosophy.ru/edu/ref/enc/k.html).

Образец титульного листа
Министерство образования и молодежной политики Ставропольского края
Государственное бюджетное профессиональное образовательное учреждение
«Ставропольский региональный многопрофильный колледж»
СООБЩЕНИЕ
по МДК 01 02 Прикладное программирование
на тему
«______________________________________»
Выполнил студент __ курса группы __
ФИО _____________________________________
Проверил _____________________________
Ставрополь 2016

Приложение 2. Критерии оценивания практических заданийОценка «5» :программа полностью соответствует спецификации;
обучающийся может обосновать принятое решение;
исходный текст документирован: назначение программы (условие задачи или ее номер по учебному пособию или номер варианта теста), номер учебной группы, фамилия и инициалы обучающегося, дата выполнения, назначение используемых переменных, назначение и параметры определяемых программистом функций;
обучающийся может выполнить анализ альтернативных вариантов решения задачи.
Оценка «4»:
программа в основном соответствует спецификации, отклонения от спецификации допущены при реализации второстепенных подзадач:
обучающийся может объяснить принятое решение;
исходный текст документирован;
программа в целом соответствует дополнительным критериям.
Оценка «3»:
программа имеет отклонения от спецификации при решении основной задачи;
обучающийся может объяснить функционирование программы по ее исходному тексту.
исходный текст документирован;
программа соответствует отдельным дополнительным критериям.
Оценка «2»:
разработка программы не завершена;
программа имеет синтаксические ошибки;
программа не соответствует спецификации или обучающийся не может объяснить функционирование программы по ее исходному тексту;
исходный текст документирован.
Дополнительные критерии
исходный текст структурирован;
предусмотрена обработка исключительных ситуаций;
предусмотрено повторное решение задачи без повторного запуска программы;
программа имеет графический пользовательский интерфейс;
программа реализована по модульному принципу и декомпозирована по реализуемым функциям.

Приложение 3. Рабочая тетрадь