Хелпикс

Главная

Контакты

Случайная статья





Оформление практических заданий по ООП



Оформление практических заданий по ООП

Содержание отчета состоит из следующих разделов и пунктов:

1. Постановка задачи.

2. Методы и объекты.

3. Алгоритм функционирования системы, решение задачи.

4. Блок-схемы.

5. Код программы.

6. Тестирование.

Метод решения

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

Шаблон описания объектов:

 

Объект: наименование класса объекта

Свойства: описание свойств объекта.

Функционал: описание функционального назначения объекта.

 

Под свойствами объекта понимаются поле данных класса и методы. Например, в задаче создали один объект obj1 класса Rectangle. Описание класса:

class Rectangle

{

private:

float width, height;

public:

Rectangle (float _width, float _height)

{

     width = _width;

     height = _height;

}

float p()

{

     return (2*(width + height));

}

float s()

{

     return (width * height);

}

};

 

Объект: obj1 класса Rectangle

Свойства:

       float width, height – ширина и высота прямоугольника.

       float p() – метод вычисления периметра прямоугольника.

       float s() – метод вычисления площади прямоугольника.

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

 

Помимо описания объектов записываете использование библиотечных функций или потоков, например:

1) Функция max() библиотеки algorithm – нахождение максимального числа;

2) Функция abs() библиотеки cmath – нахождение модуля числа

3) Потоки ввода/вывода cin/cout

 

Описание алгоритма

Описание метода объекта задается согласно следующему шаблону:

 

Класс объекта: наименование класса объекта

Метод: наименование метода

Функционал: описание назначения метода.

Модификатор доступа: используемый модификатор доступа

Параметры: Тип Наименование Описание назначения.

Возвращаемое значение: Тип и описание содержания.

Алгоритм:

№ шага Предикат Действие № перехода
       
       
       

 

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

Описание функции задается согласно следующему шаблону:

 

Функция: наименование функции

Функционал: описание назначения функции.

Параметры: Тип Наименование Описание назначения.

Возвращаемое значение: Тип и описание содержания.

 

 

Алгоритм:

№ шага Предикат Действие № перехода
       
       
       

 

Пример заполнения таблицы алгоритма для метода Rectangle::p():

Класс объекта: Rectangle

Метод: p()

Функционал: вычисление периметра прямоугольника

Модификатор доступа: public

Параметры: -

Возвращаемое значение: float

Алгоритм:

№ шага Предикат Действие № перехода
  return (2*(width + height)); Ø

 

Таблицы алгоритмов делаем для всех методов и функций, описанных в коде программы + для main.cpp.

 

Заполнение таблицы алгоритма для цикла for:

for(int i = 0; i < n; i++)

{

a/=10;

n--;

}

 

 

№ шага Предикат Действие № перехода
  int i = 0
i < n a/=10; n--; i++;
i >= n   Ø

В столбце «предикат» записываются только условия. У условия обязательно минимум 2 строчки – если выполняется (первая строка) и «иначе» (вторая строка). Во второй строке пишем либо инверсное условие, либо оставляем поле пустым. Действия, которые не имеют логики (условия), можно записывать в одной ячейке. Завершение алгоритма в столбце «№ перехода» обозначается символом пустого множества.

Заполнение таблицы алгоритма для цикла while:

while(n != 0)

{

n/=10;

count++;

}

 

№ шага Предикат Действие № перехода
n != 0 n/=10; count++;
n == 0   Ø

 

Заполнение таблицы алгоритма для цикла do…while:

do

{

n/=10;

count++;

}

while(n != 0)

 

№ шага Предикат Действие № перехода
  n/=10; count++;
n != 0  
n == 0   Ø

 

Заполнение таблицы алгоритма для условия if…else if … else:

if(a > 0)

cout << “positive”;

else if(a < 0)

cout << “negative”;

else

cout << “zero”;

 

№ шага Предикат Действие № перехода
a > 0 cout << “positive”; Ø
a < 0 cout << “negative”; Ø
a == 0 cout << “zero”; Ø

 

Заполнение таблицы алгоритма для switch:

switch(symb)

{

case ‘A’:

    cout << “cursive letter”;

    break;

case ‘a’:

    cout << “lowercase letter”;

    break;

default:

    cout << “not letter”;

}

 

№ шага Предикат Действие № перехода
symb == ‘A’ cout << “cursive letter”; break; Ø
symb != ‘A’  
symb == ‘a’ cout << “lowercase letter”; break; Ø
  symb != ‘a’  
  cout << “not letter”; Ø

 

Пример заполнения таблицы алгоритма:

for(int i = 0; i < n; i++)

{

for(int j = 0; j < i; j++)

{

    cout << j;

    if(j != i)

         m = m + 2;

}

a = a + m;

}

 

№ шага Предикат Действие № перехода
  int i = 0
i < n  
i >=n   Ø
  int j = 0
j < i cout << j;
j >= i  
j ! = i m = m + 2; j++;
j == i j++
  a = a + m; i++;

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.