Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Санжаровский.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
395.26 Кб
Скачать

2.2.3.Результати тестування програми.

Для тестування вводилися деякі числа у восьмирічній системі числення, й виводилися відповідні їм еквіваленти в двох інших. Результати тестування:

Восьмирічна

Шестирічна

П’ятнадцятирічна

5320

20452

84С

6037

22255

DDB

26

34

17

543307

3522223

38DA9

500772

3304510

33A66

2.3 Пошук та сортування масивів

2.3.1.Постановка задачі та алгоритм вирішення

Умова задачі: Список товарів які є на складі, включає в себе: найменування товару, кількість одиниць товару, ціну одиниці й дату надходження товару на склад. Вивести у алфавітному порядку список товарів, які зберігаються більше місяця, ціна яких більше 100 000 грн. Ключ: найменування товару.

Список товарів та інші данні по товару у цій задачі зберігаються у масиві структур, для вирішення цієї задачі необхідно і достатньо спочатку відсіяти всі значення які не підходять до умов( ціна >100 000, зберігаються більше місяця), а потім відсортувати ключ по алфавітному порядку.

2.4 Об’єктно-орієнтоване програмування

2.4.1. Постановка задачі та алгоритм вирішення.

Умова задачі: Родитель - трапеция с горизонтальными основаниями (перемещение). Потомок - кораблик (смещение вперед, поднятие/спуск флага).

Для вирішення цієї задачі потрібно створити клас трапеція, відображення трапеції виконується за допомогою функції Polygon() по точкам й кількості ліній, другою частиною завдання є відображення кораблика, для відображення простого кораблика, достатню додати до класу нащадка, додати малювання прямокутника(Rectangle) для відображення мачти, та трикутника в якості прапору, також функція яка змінює аргумент FL, для використання разом з таймером, що зробить спуск прапору поступовим, також функція руху буде забезпечувати лише рух вперед й назад.

2.4.2.Лістинг програми.

Документ Unit1.h об’явлення класу TTrap(трапеції):

//---------------------------------------------------------------------------

#ifndef Unit1H

#define Unit1H

#include <graphics.hpp>

class TTrap

{

public: TTrap(int,int, TCanvas*);

void move(int,int);

virtual void Show(TColor,TColor);

protected:

int X1,Y1;

TCanvas* Canvas;

TColor Color;

};

//---------------------------------------------------------------------------

#endif

Документ Unit1.cpp, опис створеного класу TTrap:

//---------------------------------------------------------------------------

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

TTrap::TTrap(int XI,int YI,TCanvas* Canvas0)

{

X1=XI;

Y1=YI;

Canvas=Canvas0;

}

void TTrap::move(int XM, int YM )

{

Show(clBtnFace,clBtnFace);

X1+=XM; Y1+=YM;

Show(clBlack,Color);

}

void TTrap::Show(TColor CP, TColor CB)

{

TPoint PointP[4];

PointP[0]=Point(208+X1,160+Y1);

PointP[1]=Point(480+X1,160+Y1);

PointP[2]=Point(416+X1,232+Y1);

PointP[3]=Point(256+X1,232+Y1);

Canvas->Pen->Color=CP;

Canvas->Brush->Color=CB;

Canvas->Polygon(PointP,4);

}

Документ Unit2.h, створення класу TShip(кораблик), та наслідування з класу TTrap:

//---------------------------------------------------------------------------

#ifndef Unit2H

#define Unit2H

//---------------------------------------------------------------------------

#endif

#include "Unit1.h"

class TShip : public TTrap

{

public:

TShip(int X1,int Y1, TCanvas* Canvas):TTrap(X1,Y1,Canvas){};

void move(int,int);

void Show(TColor,TColor);

void Flag(int);

void UpDownFlag(bool);

bool Flagstat;

int Fl;

}

Документ Unit2.cpp, опис класу TShip:

//---------------------------------------------------------------------------

#pragma hdrstop

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

void TTrap::Show(TColor CP, TColor CB)

{

TPoint PointP[4];

PointP[0]=Point(208+X1,160+Y1);

PointP[1]=Point(480+X1,160+Y1);

PointP[2]=Point(416+X1,232+Y1);

PointP[3]=Point(256+X1,232+Y1);

Canvas->Pen->Color=CP;

Canvas->Brush->Color=CB;

Canvas->Polygon(PointP,4);

Canvas->Rectangle(352+X1,64+Y1,360+X1,161+Y1);

}

void TShip::Flag(int YP)

{

TPoint PointT[3];

PointT[0]=Point(352,64+YP);

PointT[1]=Point(288,72+YP);

PointT[2]=Point(352,80+YP);

Canvas->Polygon(PointT,2);

}

int TShip::UpDownFlag(bool UD, int FL)

{

if (UD) FL--;

else FL++;

}