- •Міністерство освіти і науки
- •З проходження навчальної практики після третього року навчання
- •Черкаси 2013
- •2.2.1. Постановка задачі та алгоритм вирішення. 17
- •Розділ I. Розробка бд за допомогою скбд Access
- •1.1. Розробка структури бд
- •1.2. Створення таблиць
- •1.3. Предметна область
- •1.3.1 Завдання 1
- •Завдання 2
- •Завдання 3
- •Створення бд
- •2.1. Програмування з використанням рядків, файлів.
- •2.1.1.Постановка задачі та алгоритм вирішення.
- •2.1.2.Лістинг програми.
- •2.1.3.Результати тестування програми.
- •2.2.Програмування з використанням механізму обробки виключних ситуацій
- •2.2.1 Постановка задачі та алгоритм вирішення.
- •2.2.2.Лістинг програми.
- •2.2.3.Результати тестування програми.
- •2.3 Пошук та сортування масивів
- •2.3.1.Постановка задачі та алгоритм вирішення
- •2.4 Об’єктно-орієнтоване програмування
- •2.4.1. Постановка задачі та алгоритм вирішення.
- •2.4.2.Лістинг програми.
- •Висновок
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++;
}
