Лабораторная работа №1 «Программирование с использованием операторов и функций»



Download 433,5 Kb.
bet7/7
Sana07.04.2020
Hajmi433,5 Kb.
#43355
TuriЛабораторная работа
1   2   3   4   5   6   7
Bog'liq
лаб янги С Каб АТ


III. Содержание отчета


    1. Титульный лист: название дисциплины, номер и наименование работы, фамилия, имя, отчество студента, дата выполнения..

  1. Определение нотации для игры.

  2. Классы для игры.

  3. Исключительные ситуации для игры.

  4. Объяснение результатов.

  5. Программа решения задания.

  6. Результаты работы программы.

  7. Объяснение результатов.


IV. Методические указания


    1. При вычислении выражений предусмотреть следующие исключительные ситуации:

      • Переполнение;

      • Деление на нуль.




    1. Наиболее общие исключительные ситуации для игры:

  • Запись начального расположения фигуры не соответствует нотации;

  • Неправильно дано начальное расположение фигуры;

  • Запись хода не соответствует нотации.

  • Неправильный ход;

  • Выход за пределы поля игры;

  • Ход несуществующей фигурой.

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();

} }

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

  1. Гради Буч. Объектно –ориентированный анализ и проектирование с примерами приложений на С++. Невский диалект, 560 стр, 2001 г.

  2. Грехем И. Объектно ориентированные методы. Принципы и практика. Вильямс. 879 стр, 2004 г.

  3. Иванова Г.С. Объектно ориентированное программирование. Учебник. МГТУ им Баумана. 320 стр, 2003 г.

  4. Ашарина Н.А. Основы программирования на языках Си,С++. Учебный курс.М.: 2002 г.

  5. Шмидский Я.К. Программирование на языке С++: Самоучитель. Учебное пособие. Диалектика. 361 стр, 2004 г.

  6. Страуструп Б. Язык программирования С++. Третье издание, М.: Бином, 1999.

  7. Пол Айра. Объектно-ориентированное программирование на С++. Второе издание. - М.: Бином, 1999.

  8. Аммераль Л. STL для программистов на С++. - М., ДМК, 1999.

Дополнительная литература:



  1. Крупник А.Б. Изучаем С++. Питер. 251 стр, 2003 г.

  2. Мейерс С. Наиболее эффективное использование С++. 35 новых рекомендаций. ДМК-Пресс, 304 стр, 2000 г.

  3. Николаенко Д.В. Самоучитель по Visual C++.Спб, 2001.

  4. Элджер Дж. С++: библиотека программиста - СПб: Питер, 1999.

  5. Либерти Д. Освой самостоятельно С++: 10 минут на урок. Пер с англ. Вильямс, 374 стр,2004 г.

  6. Шилдт Г. Самоучитель С++. Второе издание. - СПб.: BHV, 1998.

  7. Луис Д. С и С++. Справочник. - М: Бином, 1997.

  8. Подбельский В.В. Язык С++ - М.: Финансы и статистика, 1996.

  9. Фейсон Т. Объектно-ориентированное программирование на С++ 4.5. - Киев: Диалектика, 1996.

  10. Шилдт Г. Теория и практика С++. - СПб.: BHV, 1996.

  11. Керниган Б., Ритчи Д. Язык программирования Си. М. Финансы и статистика. 1985.


ОГЛАВЛЕНИЕ

Лабораторная работа № 1. Структуры и динамические массивы

3

Лабораторная работа № 2. Классы и объекты

15

Лабораторная работа № 3. Наследование

24

Лабораторная работа № 4. Перегрузка операций и

шаблоны классов

33

Лабораторная работа № 5. Потоковые классы и

исключительные ситуации

44

Лабораторная работа № 6. Функции и методы высших порядков

60

Лабораторная работа № 7. Стандартная библиотека шаблонов STL

67

Лабораторная работа № 8. Алгоритмы STL

82

Список литературы

91

Приложения

92

Оглавление

95








Download 433,5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish