Главная » Просмотр файлов » Методические указания ЛР 10

Методические указания ЛР 10 (1079838)

Файл №1079838 Методические указания ЛР 10 (Методические указания к лабораторным работам)Методические указания ЛР 10 (1079838)2018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

10

ПКШ (ООП) – Большаков С.А. 2013/2014 1-й курс

Методические указания к лабораторной работе № 10 по курсу

Программирование на основе классов и шаблонов

"Исключения и именованные пространства в системах программирования С++"

Москва, МГТУ - 2014

_____________________________________________________________________________________________

СОДЕРЖАНИЕ

1. Цель работы 3

2. Задачи, решаемые в лабораторной работе 3

3. Основные понятия и примеры 4

3.1. Понятие исключения в программах 4

3.2. Структура программы и процедуры с обработчиками исключений 4

3.3. Обработка системных исключений 4

3.4. Инициация обработчика исключений 4

3.5. Обработка собственных исключений 4

3.6. Понятие именованного пространства 4

3.7. Системные именованные пространства 4

3.8. Описания методов и данных вне именованных пространств 4

3.9. Пользовательские именованные пространства 4

3.10. Альтернативные имена именованных пространств 4

3.11. Включенные именованные пространства 4

3.12. Вложенные именованные пространства 5

4. Порядок работы и методические указания (основные требования) 5

4.1. Создать в VS 2005 консольный проект (LAB9). 5

4.2. Обеспечить русификацию консольного ввода и вывода. 5

4.3. Познакомиться с понятиями исключения и именованное пространство 5

4.4. Структура программы с обработчиками исключений 5

4.5. Обработчики всех исключений в программе 5

4.6. Оператор инициирования исключений throw 5

4.7. Обработчики исключений по типам 5

4.8. Обработчики STD исключений в процедуре 5

4.9. Обработка собственных типов исключений 6

4.10. Использование именованного пространства 6

4.11. Изучение системных именованных пространств 6

4.12. Сложение именованных пространств 6

4.13. Описания методов и данных вне именованных пространств 6

4.14. Включение именованных пространств 6

4.15. Вложенные именованные пространства 6

4.16. Вторичные имена для именованных пространств 6

4.17. Различие директивы using и описания using 7

4.18. Дополнительные требования для самых сильных студентов 7

5. Варианты по группам и студентам 7

6. Диаграммы классов 7

7. Блок-схемы алгоритмов 7

8. Ошибки и их запоминание (требования) 7

9. Контрольные вопросы 7

10. Оформление отчета (требования) 8

11. Сроки и порядок защиты ЛР 8

12. Литература 8

13. Шаблон отчета 9

14. Справочные материалы 9

1 Цель работы

Целью лабораторной работы №10 является изучение механизмов обработки исключений и использования именованных пространств. Студенты учатся обрабатывать системные и собственные исключения в программах. Показывают на примерах разные способы их обработки. Студенты используют системные и описывают собственные именованные пространства, включая и вложенные именованные пространства.

2 Задачи, решаемые в лабораторной работе

В процессе выполнения ЛР студенты индивидуально должны выполнить следующие задачи. Перечислим основные требования к лабораторной работе:

  • Создать в VS 2005 консольный проект (LAB10).

  • Обеспечить русификацию ввода и вывода с консоли.

  • Выполнить все задания из раздела “4. Порядок выполнения работы“:

  • Изучить понятие исключения

  • Продемонстрировать обработку исключений в различных режимах

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

  • Изучить понятие именованного пространства

  • Создать и продемонстрировать использование простого именованного пространства

  • Создать вложенное именованное пространство

  • Создать сложное именование пространство с включением других пространств

  • Все действия по программированию выполняются в интерактивном режиме с использованием отладчика.

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

Примечания. 1. Для удобства восприятия текста используется цвет и тип шрифта. Фрагменты исходного текста, включаемые в программы, я буду выделять синим цветом. Например, вставка заголовочного файла в программу будет выглядеть так:

#include <iostream>

2. Вывод результата в консольное окно, который формируется программой, будем помечать коричневым цветом и устанавливать непропорциональный шрифт Courier New. Например:

Введите iVal: 10

3. Формализованные описания языка и синтаксические правила будем записывать зеленым цветом:

<левая часть выражения присваивания> = <правая часть выражения присваивания>;

4. Если в тексте встречается переменная, которая подчеркнута, то это означает, что дается определение важного понятия и это понятие встречается в данном тексте первый раз. Например:

Программа – это упорядоченная совокупность операторов …

Примечание 2. По каждой ЛР вам даются методические указания (данный документ) и шаблон оформления отчета. Эти материалы вы можете получить на сайте – www.sergebolshakov.ru в разделе “Лабораторные работы”. Пароль для доступа сообщу на лекции или во время ЛР. Кроме того, на сайте вы найдете общие методические указания к ЛР и ДЗ по курсу (“Общие методические указания по дисциплине ПКШ”). Для выполнения ЛР нужно познакомиться в первую очередь с разделами 4 и 8 (“Технология создания исполнимых программ” и “Разработка блок схем”). С этим материалом желательно познакомиться до начала ЛР. Изучаемые материалы с сайта считаются актуальными, если в колонтитуле документа стоит год соответствующий текущему семестру (например, 2012-2013 уч. год).

Примечание 3. После выполнения ЛР необходимо четко отвечать на все контрольные вопросы, которые приведены в данных МУ. Эти вопросы задаются преподавателем при защите ЛР, включаются в перечень вопросов рейтингов и экзаменационных билетов.

3 Основные понятия и примеры

Для сильных студентов данный раздел предлагается написать самостоятельно и внести в отчет по лабораторной работе.

4 Понятие исключения в программах

Раздел для самостоятельной проработки.

5 Структура программы и процедуры с обработчиками исключений

Раздел для самостоятельной проработки.

6 Обработка системных исключений

Раздел для самостоятельной проработки.

7 Инициация обработчика исключений

Раздел для самостоятельной проработки.

8 Обработка собственных исключений

Раздел для самостоятельной проработки.

9 Понятие именованного пространства

Раздел для самостоятельной проработки.

10 Системные именованные пространства

Раздел для самостоятельной проработки.

11 Описания методов и данных вне именованных пространств

Раздел для самостоятельной проработки.

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

Раздел для самостоятельной проработки.

13 Альтернативные имена именованных пространств

Раздел для самостоятельной проработки.

14 Включенные именованные пространства

Раздел для самостоятельной проработки.

15 Вложенные именованные пространства

Раздел для самостоятельной проработки.

16 Порядок работы и методические указания (основные требования)

17Создать в VS 2005 консольный проект (LAB9).

Создать проект в VS2005 как было рассмотрено в предыдущих ЛР (1-8 ЛР). Для дополнительных требований может понадобиться создание проекта в среде .NET и Windows.

18 Обеспечить русификацию консольного ввода и вывода.

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

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

По литературе, по справочникам познакомиться с понятием исключение и принципами работы с ними. По литературе, по справочникам познакомиться с понятием именованное пространство и принципами работы с ними. Необходимо, в порядке самостоятельной проработки материала, по оглавлению раздела “Основные понятия” составить конспект материала и внести его в отчет по лабораторной работе.

20 Структура программы с обработчиками исключений

Построить главную программу и функцию в отдельном модуле, которая обеспечивает обработку исключений (try - catch). Проверить компиляцию.

21 Обработчики всех исключений в программе

Создать обработчик всех прерываний (“”) в главной программе и инициировать его активизацию с помощью специально созданной ошибки этапа выполнения (например, при работе со строками - string и методом append, с ошибочными параметрами). Проверить работу такого обработчика в процедуре.

22 Оператор инициирования исключений throw

Проверить работу оператора инициирования обработки исключений throw, в главной программе и процедуре.

23 Обработчики исключений по типам

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

24 Обработчики STD исключений в процедуре

Создать обработчик стандартных STD исключений (std::exception &e) и проверить его работу для исключения формируемое при неправильной работе со строками (см. выше). Распечатать стандартные данные (e.what, e.name и др.), передаваемые при обработке стандартных исключений.

25 Обработка собственных типов исключений

Создать свой простой класс, который можно передавать в процедуру обработки исключений (catch). Описать и вызвать функцию, в которой генерируется прерывание с типом собственного класса. Выполнить распечатку значений параметров объекта, переданного в процедуру обработки исключения.

26 Использование именованного пространства

Описать именованное пространство А, включающее описание переменной a (int) с ее инициализацией и простой функции f, определение которой дано в теле именованного пространства А и собственного простого класса C. Продемонстрировать подключение пространства в модуль и использование описаний из него.

27 Изучение системных именованных пространств

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

28 Сложение именованных пространств

Продемонстрировать раздельное описание одноименного именного пространства, состоящего из двух частей, описанных в разных исходных модулях (заголовочных).

29 Описания методов и данных вне именованных пространств

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

30 Включение именованных пространств

Продемонстрировать включение одного именованного пространства (А) в другое (С) с помощью директивы включения (using). Показать способы использования функций и данных включенного именованного пространства в главной программе.

31 Вложенные именованные пространства

Продемонстрировать вложение одного именованного пространства (В) в другое (С). Показать способы использования функций и данных вложенного именованного пространства в главной программе.

32 Вторичные имена для именованных пространств

Продемонстрировать использование вторичных (альтернативных) имен именованных пространств, задаваемых директивой (namespace). Вызвать в главной программе функцию с помощью альтернативного имени.

33 Различие директивы using и описания using

Продемонстрировать различие в применениях директивы using и описание using.

34 Дополнительные требования для самых сильных студентов

Для сильных студентов предлагаются дополнительные требования при выполнении ЛР №10. Эти требования могут быть выполнены в любой последовательности и в любом объеме. На титульном листе отчета по ЛР необходимо указать, что дополнительные требования выполнены. Нужно:

  • Продемонстрировать работу с исключениями в среде .NET.

  • Продемонстрировать работу с исключениями в проекте под Windows.

35 Варианты по группам и студентам

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

36 Диаграммы классов

В данной лабораторной работе должны быть построены и приведены диаграммы всех изучаемых классов (STD, MFC и ATL).

37 Блок-схемы алгоритмов

Для процедур и фрагментов программ, в которых используются циклы, переключатели и ветвления необходимо оформить блок-схемы программ, в соответствии нотацией, изложенной в пособии по ЛР [6].

38 Ошибки и их запоминание (требования)

Для накопления профессионального опыта в программировании рекомендуется запоминать и фиксировать ошибки, возникающие на различных стадиях разработки программ: разработки алгоритмов, подготовки текста, компиляции и отладки программ. С этой целью вводится требование размещения в отчете по ЛР фиксации ошибок в специальной таблице (см. шаблон отчета по ЛР в конце документа). При этом запоминается: тип и суть ошибки, этап возникновения и способ устранения. Такая работа является очень полезной и позволяет избавиться от ошибок и легче находить способы их устранения.

39 Контрольные вопросы

  1. Дайте определение понятия исключения.

  2. Какая структура должна быть у программы с обработкой исключений?

  3. Какие системные исключения обрабатываются?

  4. Как можно инициировать обработку исключений в программе?

  5. Как обработать все исключения в программе?

  6. Как обработать исключение определенного типа?

  7. Как обработать исключение собственного типа?

  8. Дайте определение понятие именованного пространства?

  9. Как сложить несколько именованных пространств?

  10. Как описать функции вне именованного пространства?

  11. Как выполнить включение и подключение именованного пространства?

  12. Что такое вложенное именованное пространство?

  13. Как задать альтернативное имя именованного пространства?

  14. В чем различие директивы и описания using?

40 Оформление отчета (требования)

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

Отчет по ЛР должен включать следующие разделы:

  • Титульный лист с указанием группы и фамилии студента и преподавателя.

  • Цель лабораторной работы

  • Основные положения и понятия

  • Порядок выполнения основных шагов ЛР (крупно)

  • Диаграммы изученных классов.

  • Блок-схема алгоритмов программы и функций (с циклами и ветвлением).

  • Перечень, обнаруженных ошибок (в таблице), возникших при разработке и отладки программы ЛР.

  • Исходный текст всех модулей программы, включая и заголовочные файлы, и проект для VS 2005 в электронном виде.

  • Результаты работы программы в текстовом формате, скопированные с консольного окна при ее выполнении.

  • Выводы по работе

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

41 Сроки и порядок защиты ЛР

Данная лабораторная работа выполняется сильными студентами до заключительного рейтинга по второму модулю курса ПКШ (14-15 недели). Выполнение этой ЛР контролирует и принимает только лектор по курсу, поэтому сдача будет производиться во время консультаций или приема ДЗ, предварительно назначенного со старостами.

42 Литература

  1. Г. Шилдт “С++ Базовый курс”: Пер. с англ.- М., Издательский дом “Вильямс”, 2011 г. – 672с

  2. Г. Шилдт “С++ Руководство для начинающих” : Пер. с англ. - М., Издательский дом “Вильямс”, 2005 г. – 672с

  3. Г. Шилдт “Полный справочник по С++”: Пер. с англ.- М., Издательский дом “Вильямс”, 2006 г. – 800с

  4. Бьерн Страуструп "Язык программирования С++"- М., Бином, 2010 г.

  5. MSDN Library for Visual Studio 2005 (Microsoft Document Explorer – входит в состав дистрибутива VS. Нужно обязательно развернуть при установке!)

  6. Общее методическое пособие по курсу для выполнения ЛР и КЛР/ДЭ (см. на сайте 1-й курс www.sergebolshakov.ru) – см. кнопку в конце каждого раздела сайта!!!

  7. Г.С.Иванова, Т.Н. Ничушкина, Е.К.Пугачев "Объектно-ориентированное программирование". – М., МГТУ, 2001 г.

  8. Другие методические материалы по дисциплине с сайта www.sergebolshakov.ru.

  9. Конспекты лекций по дисциплине “Программирование на основе классов и шаблонов”.

  10. Страуструп Б. "Дизайн и эволюция С++. Классика CS" – СПб,: Питер , 2007. – 445с.

43 Шаблон отчета

44 Справочные материалы

Характеристики

Тип файла
Документ
Размер
145,5 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов книги

Методические указания к лабораторным работам
ЛР9_ПКШ
ЛР10_ПКШ
ЛР11_ПКШ
ЛР_12_КЛР_ПКШ
ЛР_13_КЛР_ПКШ
ЛР_14_КЛР_ПКШ
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее