III. Содержание отчета
Титульный лист: название дисциплины, номер и наименование работы, фамилия, имя, отчество студента, дата выполнения..
Определение нотации для игры.
Классы для игры.
Исключительные ситуации для игры.
Объяснение результатов.
Программа решения задания.
Результаты работы программы.
Объяснение результатов.
IV. Методические указания
При вычислении выражений предусмотреть следующие исключительные ситуации:
Переполнение;
Деление на нуль.
Наиболее общие исключительные ситуации для игры:
Запись начального расположения фигуры не соответствует нотации;
Неправильно дано начальное расположение фигуры;
Запись хода не соответствует нотации.
Неправильный ход;
Выход за пределы поля игры;
Ход несуществующей фигурой.
3. Описание класса string который определяет две исключительные ситуации:
class string
{
public:
string(char *str);
void fill_string(*str);
void show_string(void);
int string_length(void);
class string_empty { } ;
class string_overflow {};
private:
int length;
char string[255];
};
4. Проверка наличия исключительной ситуации:
try
{
some_string.fill_string(some_long_string);
};
catch (string::string_overflow)
{
cerr << "Превышена длина строки, символы отброшены" << endl;
}
5. Пример определения метода для сложения с проверкой переполнения
class Int_overflow {
char op;
int opr1, opr2;
public:
int_overflow(const char p, int a, int b)
{ op=p;opr1=a;opr2=b; }
void print()
{ cout<< op << '(' << opr1 << ',' << opr2 << ')';}
};
class calc
{ public:
int add(int x, int y); // сложить x и y с контролем
}
int calc::add(int x, int y)
{
if (x > 0 && y > 0 && x > MAXINT - y
|| x < 0 && y < 0 && x < MININT + y)
throw Int_overflow("+", x, y);
return x + y;
}
void main()
{
calc p;
try {
p.add(1,2);
p.add(MAXINT,-2);
p.add(MAXINT,2); // а дальше - переполнение
}
catch (int_overflow m) {
// ...
m.print();
} }
Список литературы
Основная литература:
Гради Буч. Объектно –ориентированный анализ и проектирование с примерами приложений на С++. Невский диалект, 560 стр, 2001 г.
Грехем И. Объектно ориентированные методы. Принципы и практика. Вильямс. 879 стр, 2004 г.
Иванова Г.С. Объектно ориентированное программирование. Учебник. МГТУ им Баумана. 320 стр, 2003 г.
Ашарина Н.А. Основы программирования на языках Си,С++. Учебный курс.М.: 2002 г.
Шмидский Я.К. Программирование на языке С++: Самоучитель. Учебное пособие. Диалектика. 361 стр, 2004 г.
Страуструп Б. Язык программирования С++. Третье издание, М.: Бином, 1999.
Пол Айра. Объектно-ориентированное программирование на С++. Второе издание. - М.: Бином, 1999.
Аммераль Л. STL для программистов на С++. - М., ДМК, 1999.
Дополнительная литература:
Крупник А.Б. Изучаем С++. Питер. 251 стр, 2003 г.
Мейерс С. Наиболее эффективное использование С++. 35 новых рекомендаций. ДМК-Пресс, 304 стр, 2000 г.
Николаенко Д.В. Самоучитель по Visual C++.Спб, 2001.
Элджер Дж. С++: библиотека программиста - СПб: Питер, 1999.
Либерти Д. Освой самостоятельно С++: 10 минут на урок. Пер с англ. Вильямс, 374 стр,2004 г.
Шилдт Г. Самоучитель С++. Второе издание. - СПб.: BHV, 1998.
Луис Д. С и С++. Справочник. - М: Бином, 1997.
Подбельский В.В. Язык С++ - М.: Финансы и статистика, 1996.
Фейсон Т. Объектно-ориентированное программирование на С++ 4.5. - Киев: Диалектика, 1996.
Шилдт Г. Теория и практика С++. - СПб.: BHV, 1996.
Керниган Б., Ритчи Д. Язык программирования Си. М. Финансы и статистика. 1985.
ОГЛАВЛЕНИЕ
Лабораторная работа № 1. Структуры и динамические массивы | 3 | Лабораторная работа № 2. Классы и объекты | 15 | Лабораторная работа № 3. Наследование | 24 | Лабораторная работа № 4. Перегрузка операций и шаблоны классов | 33 | Лабораторная работа № 5. Потоковые классы и исключительные ситуации | 44 | Лабораторная работа № 6. Функции и методы высших порядков | 60 | Лабораторная работа № 7. Стандартная библиотека шаблонов STL | 67 | Лабораторная работа № 8. Алгоритмы STL | 82 | Список литературы | 91 | Приложения | 92 | Оглавление | 95 |
Do'stlaringiz bilan baham: |