Объектілі бағытталған бағдарламалау ортасының жобалау мүмкіндіктерін салыстыру

Автор работы: Пользователь скрыл имя, 15 Апреля 2013 в 13:20, дипломная работа

Описание работы

Қазіргі кезде компьютерлік сауаттылықпен қатар жоғары деңгейлі программалау тілдерін қолдана білу- ең өзекті жұмыс дағдысы болып есептеледі. Бүгінгі күн талабына сәйкес, кез келген сала мамандары ақпараттық технологияларды толыққанды пайдалана білуі тиіс. Ал, ақпараттық технологияларды жаңа деңгейге көтеруде және оларды дамытуда жоғарғы деңгейлі программалау тілдерінің рөлі ерекше.

Содержание работы

Кірспе
І бөлім. Объектілі бағытталыған бағдарламалау негіздері
ІІ бөлім. Borland Delphi объектілі баытталған бағдарламалау ортасы
2.1 Delphi бағдарламасымен танысу
2.2 Delphi бағдарламасының компоненттері
2.3 Дельфи ортасында анимация жасау әдістері
ІІІ бөлім. Visual C++ бағдарламасы туралы негізгі түсініктер
3.1 C ++ Builder әзірлеу ортасы
3.2 C ++ Builder компоненттері
3.3 C ++ Builder - де сұраулар құру
IV бөлім. Объектілі бағытталған бағдарламалау ортасының жобалау мүмкіндіктерін салыстыру
Қорытынды
Пайдаланылған әдебиеттер

Файлы: 1 файл

Дипломная работа .docx

— 472.72 Кб (Скачать файл)

    Пішіннің тақырыбын  «Контроль заказов» деп өзгертеміз. Пішінде TDBGrid  компонентін, TgroupBox екі компонентін, Ttable бір компонентін, Tquery екі компонентін, TdataSource үш компонентін  орналастырамыз.  GroupBox1 компонентіне TRadioButton үш компонентін және TButton компонентін сыйғызамыз. GroupBox2 компонентіне  екі TEdit компонентін, екі TEdit компонентін  және бір TButton компонентін сыйғызамыз.

22-сурет. CUST қосымшасының пішінінде компоненттердің орналасуы

 

 

Бұл  компоненттер үшін келесідей  қасиеттерді белгілейміз:

Компоненттің  аты

Қасиеті

Мәні

Table1

DatabaseName

BCDEMOS

 

TableName

CUSTOMER.DB

 

Active

false

DataSource1

DataSet

Table1

DBGrid1

DataSource

DataSource1

Query1

Database Name

BCDEMOS

 

SQL

select * from orders

 

Active

false

DataSource2

DataSet

Query1

Query2

DatabaseName

BCDEMOS

DataSource3

DataSet

Query2

Button1

Caption

&клиенттер тізімін  ашу

Button2

Caption

&тапсырыстар тізімін  ашу

RadioButton1

Caption

Клиенттер

 

Checked

true

RadioButton2

Caption

Тапсырыстар

GroupBox1

Caption

 

GroupBox2

Caption

 

Button3

Caption

&диапазон белгілеу

Edit1

Text

 

Edit2

Text

 

Label1

Caption

Басталуы:

Label2

Caption

Соңы:

RadioButton3

Caption

Клиенттердің тапсырыстары


Button1 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз: 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (Table1->Active)

{

Table1->Close();

Button1->Caption = "Ioe?uou nienie &eeeaioia";

}

else

{

Table1->Open();

Button1->Caption= "Cae?uou nienie &eeeaioia";

}

}

     Енді осы батырманы басқан кезде Customer кестесі бірде ашылып, бірде жабылады, бұл ретте батырмадағы жазу да өзгеретін болады

Button2 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз: 

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if (Query1->Active)

{

Query1->Active = false;

Button2->Caption = "Ioe?uou список &caeacia";

}

else

{

Query1->Active = true;

Button2->Caption = "Заe?uou список &caeacia";

}

}

     Button2 батырмасын басқан кезде тапсырыстардың тізімінен тұратын Query1 сұратуы бірде жабылып, бірде ашылатын болады:

RadioButton1 және RadioButton2 радиобатырмалары үшін OnClick оқиғаларды өңдеуішін құрамыз:

void __fastcall TForm1::RadioButton1Click(TObject *Sender)

{

DBGrid1->DataSource = DataSource1;

}

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

void __fastcall TForm1::RadioButton2Click(TObject *Sender)

{

DBGrid1->DataSource =DataSource2;

}

     Енді осы радиобатырмалардың көмегімен клиенттер тізімі мен тапсырыстар тізімі  арасында ауыстырып қосуға болады.

Button3 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз:

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if (Table1->Active)

{

Table1->SetRangeStart();

Table1->Fields[0]->AsString = Edit1->Text;

Table1->SetRangeEnd();

Table1->Fields[0]->AsString = Edit2->Text;

Table1->ApplyRange();

}

}

    Енді  Edit1 және Edit2 редакциялау өрістерінің және Button3 батырмасының көмегімен клиенттер нөмірлерінің диапазонын олар туралы мәліметтерді DBGrid1-де бейнелеу үшін таңдауға болады.

    Содан кейін  Visual Query Builder көмегімен  Query2 компонентінің  SQL қасиетін орнатамыз. Деректер  базасының аты ретінде BCDEMOS таңдаймыз  және кесте сұратуына CUSTOMER және ORDERS енгіземіз. Содан кейін CUSTOMER кестесінде CustNo өрісінен бастап  ORDERS кестесіндегі CustNo өрісіне дейін  сызық жүргізе отырып, кестелердің  арасындағы байланысты орнатамыз. 

Сұратуға келесі өрістерді  енгіземіз:

Customer.CustNo

Customer.Company

Orders.OrderNo

Orders.AmountPaid

23-сурет. Аралас сұрату құру үшін Visual Query Builder пайдалану

 

    Енді сатып  алушының нөмірі бойынша сұрату  нәтижелерін сұрыптап, Visual Query Builder-ден  шығамыз. 

    Объектілер инспекторын  пайдаланып,  Query2 компонентін тайдаймыз  және оның True-ге тең Active қасиетін  белгілейміз. 

RadioButton3 үшін OnClick оқиғаларды  өңдеуішін құрамыз:.

void __fastcall TForm1::RadioButton3Click(TObject *Sender)

{

DBGrid1->DataSource= DataSource3;

}

     Қосымшаны  компиляциялаймыз.Батырмаларды шертіп, деректердің екі жиынтығын ашу  үшін «Тапсырыстар тізімін ашамыз».  Радиобатырмаларды пайдаланып, олардың  арасында ауыстырып қосып көреміз.

IV бөлім. Объектілі  бағытталған бағдарламалау ортасының  жобалау мүмкіндіктерін салыстыру

 

Delphi ортасы схемаларды, сызбаларды, түрлі иллюстрацияларды экранға  шығаратын программаларды неғұрлым  қарапайым жолмен құруға мүмкіндік  береді. Шахмат тақтасындағы ат жүрісін Delphi ортасында көрсетуге болады

Мысалы:

int arr[8][8], row[64], col[64]; 
int ktmov1[8] = { -2, -1, 1, 2, 2, 1, -1, -2 }; 
int ktmov2[8] = { 1, 2, 2, 1, -1, -2, -2, -1 }; 
 
int i, j, move_num, d;  
       
main() { 
  addknight( ); 

       
addknight( )  { 
  register int a, b, e;  
           
/* пометить клетку как посещенную и запомнить координаты клетки */ 
  arr[i][j] = 1; 
  row[move_num] = i; 
  col[move_num] = j; 
  move_num++; 
           
/* проверить 8 возможных перемещений коня */ 
  for ( a = 0 ; a <= 7 ; a++ ) { 
   /* если все ходы сделаны, печатаем их */ 
    if ( move_num >= 64 ) { 
      writeboard( );  
      exit ( 0 ); 
    } 
               
   /* определяем колонку и строку для следующего хода */ 
    b = i + ktmov1[a]; 
    e = j + ktmov2[a]; 
               
   /* проверяем, что после выполенения хода конь остается на шахматной доске */ 
    if ( b < 0 || b > 7 || e < 0 || e > 7 ) 
      continue;  
 
   /* проверяем, были ли мы уже в этой клетке */ 
    if ( arr[b][e] == 1 ) 
      continue;  
     i = b; j = e; 
    addknight(); 
  }  
           
/* уменьшить счетчик ходов и попробовать сделать следующий ход */ 
  move_num-- ; 
       
/* освобождаем клетку, ранее занятую конем */ 
  arr[row[move_num]][col[move_num]] = 0; 
  move_num--;  /* пробуем сделать следующий ход */ 
  i = row[move_num]; j = col[move_num]; 
  move_num++;  

       
writeboard( ) { 
  int a; 
           
  clrscr( ); 
  gotoxy ( 1, 10 ); 
  printf ( "Hit any key for next move " ); 
  gotoxy ( 1, 11 ); 
  for ( a = 0 ; a <= 63 ; a++ ) { 
    if ( a % 8 == 0 ) 
      printf ( "n" ); 
    printf ( "#" ); 
  } 
  for ( a = 0 ; a &lt;= 63 ; a++ ) { 
    gotoxy ( col[a] * 3 + 1, 12 + row[a] ); 
    printf ( "%3d", a + 1 ); 
    getch( ); 
  } 
}

     C++ Builder құрудағы  бастапқы қадам жоба құру болып  табылады. Жоба файлдары қосымшаның  ол компиляцияланған және орындауға  дайындалған кездегі бөлігіне  айналатын генерацияланған автоматты  бастапқы мәтіннен тұрады. Жаңа  жоба құру үшін File/New Application менюінің  тармағын таңдау қажет. C++ ортасында құрылған есепті жазып көрсетейін.

// Шахмат тақтасындағы ат жүрісі 
#include <GL/glut.h> 
#include <vector> 
using namespace std; 
 
const int N = 16; 
bool board[N][N]; 
struct Position 

int x;  
int y;  
}; 
vector<Position> solution; 
 
void display() 

static int c = 0;  
++c;  
if (c % 5000 != 0)  
return;    
glClear(GL_COLOR_BUFFER_BIT);  
const int step = 480 / N;  
glBegin(GL_QUADS);  
for (int i = 0; i  < N; ++i) 
for (int j = 0; j    < N; ++j) 
{    
if ((i + j) % 2)      
glColor3f(0.5, 0.5, 0.5);        
else      
glColor3f(0, 0, 0);        
const int x = i * step;      
const int y = j * step;      
glVertex2f(x, y);      
glVertex2f(x + step, y);      
glVertex2f(x + step, y + step);      
glVertex2f(x, y + step);      
}    
glEnd();  
glPointSize(3);  
glBegin(GL_POINTS);  
glColor3f(0, 1, 0);  
for (int i = 0; i  < N; ++i) 
for (int j = 0; j    < N; ++j) 
if (board[i][j])      
{      
const int x = i * step + step / 2;        
const int y = j * step + step / 2;        
glVertex2f(x, y);        
}      
glEnd();  
glPointSize(1);  
glBegin(GL_LINE_STRIP);  
for (vector <Position>::iterator i = solution.begin(); i != solution.end(); ++i

 

 

 

 

 

 

 

 

 

 

 

 

 

Қорытынды

Ақпараттық технологиялар  дәуір объективті мәні бар үрдіс, ол адам мүмкіндігін толық жүзеге асыруға жол ашады, ал оларды қолдану  адам бойындағы қабілетті дамыту негізінде қоғамның алға басуына  үлкен ықпал.

Біздер шетелдік білім  жүйесінен білімалған мамандардан  қалыспайтын ой- өрісі дамыған  жас ұрпаққа білім беру жолындағы  ортақ  міндетті қазірден бастап өз мәнінде жүргізуіміз керек деп  ойлаймыз.

Delphi ортасы схемаларды, сызбаларды, түрлі иллюстрацияларды экранға  шығаратын программаларды неғұрлым  қарапайым жолмен құруға мүмкіндік  береді.

C++ Builder  келісім бойынша  атауы Project1.mak болатын файл, сондай-ақ  келісім бойынша атауы Project1.mak болатын make-файл құрады. Жобаға  жаңа форма қосу сияқты өзгерістер  енгізген кезде C++ Builder жоба файлын  жаңартады.

Дипломдық жұмысымды қорытындылай келе объектілі бағытталған бағдарламаларды  салыстыру кзінде Delphi бағдарламасы кен тарағандығы білінеді. Бұл бағдарлама есепеулерді жылдам жүргізетіні белгілі. Қандайма бағдарлама болмасын олардың теріс немесе оң жағы болады. Сол себептен C++ бағдарламасының өзіне тән оғ жағы бар, бірақ жоғарда айтылған Delphi бағдарламасына қарағанда есептеулерді жүргізуге көп уақыт кетеді.

 

 

 

 

 

 

 

Пайдаланылған әдебиеттер

  1. Абдрахманов А.Т. Практикум на ЭВМ (Язык программирования Си), Алматы, 2001 г.
  2. Архангельский А.Я. Язык С++ B C++ Builder
  3. Балски М.И. Язык пограммирования Си, М.1988 г.
  4. Березин Б.И., Березин С.Б. Начальный курс С и С++.Д-М: 2004 г.
  5. Бьерн Страуструп, Язык программирования С++. Специальное издание,
  6. 2003 г.
  7. Вирт Н., Алгоритмы и структуры, М.,2004 г.
  8. Герб Саттер, Андрей Шилдт, Стандарты программирования на  С++, 2000 г.8.
  9. Джаррод Холингворт, Боб Сворт, Марк Кэшмэн, Поль Густавсон Borland C++ Builder Руководство разработчика = Borland C++ Builder 6 Developer's Guide. — М.: «Вильямс», 2004. — С. 976.
  10. Джерод Холлингворс, Дэн Баттерфилд, Боб Свот C++ Builder 5. Руководство разработчика = C++ Builder 5 Developer's Guide. — М.: «Диалектика», 2001.- С. 884.
  11. Керниган Б., Ритчи Д. Язык программирования Си, М.,  2002 г.
  12. Компьютерная технология обучения:словарь-справочник/Под редакцией В. Ю. Гриценко, А. М. Довгялло, А. Я. Савельева-К.: «Накова думка», 1992
  13. Нұрғалиева Г. Қ. Электрондық оқулықтар – мұғалім мен оқушы арасындағы әрекетттестікті гуманизациялау құралы// «Информатика негіздері» республикалық журналы, №2, 2002.- 2-3 б.
  14. Тажигулова А. И. Конструирование электронных учебников//Научно-практический журнал «Информационные технологии в Казахстане», №1, 2000.- С. 42-43.
  15. Виштынецский Е. И., Кривошеев А. О. Вопросы применения информационных технологий в сфере образования и обучения//Информационныетехнологии, 1998, №2 – с. 32-36.
  16. Сливина Н. А., Фомин С. С. Компьютерное учебное пособие «Высшая математика для инженерных специальностей»//КомпьютерПресс.- 1997.- №8.

 

 

 


Информация о работе Объектілі бағытталған бағдарламалау ортасының жобалау мүмкіндіктерін салыстыру