Материал: Розробка програмного забезпечення

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

} AB28[i][j]=k; cout<< AB28[i][j]<<" ";

} cout<<endl;

}<<endl;<<endl;cout<<"B4:\n";(int i=0;i<5;i++)

{(int j=0;j<5;j++)

{k=0;

for(int t=0;t<5;t++)

{

k+= B2[i][t]*B2[t][j];

} B4[i][j]=k; cout<< B4[i][j]<<" ";

} cout<<endl;

}<<endl; cout<<"AB2:\n";(int i=0;i<5;i++)

{(int j=0;j<5;j++)

{k=0;

for(int t=0;t<5;t++)

{

k+= A[i][t]*B4[t][j];

} AB4[i][j]=k; cout<< AB4[i][j]<<" ";

}} cout<<endl;cout<<"C:\n";(int i=0;i<5;i++)

{(int j=0;j<5;j++)

{

C[i][j]= AB28[i][j]-AB4[i][j];

cout<< C[i][j]<<" ";

} cout<<endl;

}<<endl;("pause");0;}


Практична робота 7. "Програми для роботи з рядками даних"

Завдання 7.1

Написати програму, яка буде виводити повідомлення в телеграфному стилі: букви повинні з’являтися по одній, з деякою затримкою.

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"

#include "string.h"

#include "windows.h"namespace std;_tmain(int argc, _TCHAR* argv[])

{char ch[]="";<<"St=";(ch);n = strlen(ch);(int i=0;i<=n;i++)

{

cout<<ch[i]<<" ";

Sleep(200);

}cout<<"\n";("pause");0;}


Завдання 7.2

Написати програму, яка вичислить значення виразу N1O1N2O2…OkNk, где N - ціле однорозрядне число, O - один із знаків найпростіших арифметичних дій: додавання і віднімання.

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"

#include "string.h"

#include "windows.h"namespace std;_tmain(int argc, _TCHAR* argv[])

{

St[100];<<"(write number from 1 to 9 or + or -)\nSt=";i=0;n=0;>>St;=strlen(St);s =atoi(&St[0]);(int l=1;l<=n;l++)

{

switch(St[l])

{

case'+':{s+=atoi(&St[l+1]);i++;break;}

case'-':{s-=atoi(&St[l+1]);i++;break;}

}}<<"s="<<s<<endl;("pause");0;

}


Практична робота 8. "Створення інтерфейсу користувача стандартними подіями"

Завдання 8.1

Використовуючи компоненти ToolBar, ControlBar, PageScroller та ActionList створіть текстовий редактор "WordPad".

//---------------------------------------------------------------------------PACKAGE TForm1 *Form1;

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

#endif

#include <vcl.h>

#pragma hdrstop

#include "Urichedit.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{}

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

/* TODO 2 -oСидоров -cКод : Главное меню */__fastcall TForm1::MOpenClick(TObject *Sender)

{if (OpenDialog1->Execute())

{FName = OpenDialog1->FileName;->Lines->LoadFromFile(OpenDialog1->FileName);->Modified = false;}}

//---------------------------------------------------------------------------__fastcall TForm1::MSaveAsClick(TObject *Sender)

{SaveDialog1->FileName = FName;(SaveDialog1->Execute())

{FName = OpenDialog1->FileName;->Lines->SaveToFile(SaveDialog1->FileName);->Modified = false; }}

//---------------------------------------------------------------------------__fastcall TForm1::MFontClick(TObject *Sender)

{FontDialog1->Font->Assign(RichEdit1->SelAttributes);(FontDialog1->Execute())->SelAttributes->Assign(FontDialog1->Font);}

//---------------------------------------------------------------------------__fastcall TForm1::MNumbClick(TObject *Sender)

{MNumb->Checked = ! MNumb->Checked;(MNumb->Checked) RichEdit1->Paragraph->Numbering = nsBullet;RichEdit1->Paragraph->Numbering = nsNone;

}

//---------------------------------------------------------------------------__fastcall TForm1::MLeftClick(TObject *Sender)

{MLeft->Checked = true;->Paragraph->Alignment = taLeftJustify;}

//---------------------------------------------------------------------------__fastcall TForm1::MRightClick(TObject *Sender)

{MRight->Checked = true;->Paragraph->Alignment = taRightJustify;}

//---------------------------------------------------------------------------__fastcall TForm1::MCenterClick(TObject *Sender)

{MCenter->Checked = true;->Paragraph->Alignment = taCenter;}

//---------------------------------------------------------------------------__fastcall TForm1::FormCreate(TObject *Sender)

{RichEdit1->Paragraph->FirstIndent = 0;->Paragraph->LeftIndent = - RichEdit1->Paragraph->FirstIndent;->Modified = false;}

//---------------------------------------------------------------------------__fastcall TForm1::DisplayHint(TObject *Sender)

{}

//---------------------------------------------------------------------------__fastcall TForm1::StatusExecute(TObject *Sender)

{->Panels->Items[0]->Text =((int)RichEdit1->CaretPos.y+1) +

": "+IntToStr((int)RichEdit1->CaretPos.x+1);(RichEdit1->Modified)->Panels->Items[1]->Text = "модиф.";StatusBar1->Panels->Items[1]->Text = "";(RichEdit1->Paragraph->Alignment)

{taLeftJustify: TBLeft->Down = true;;taCenter: TBCenter->Down = true;;taRightJustify: TBRight->Down = true;; }}

//---------------------------------------------------------------------------__fastcall TForm1::RichEdit1KeyUp(TObject *Sender, WORD &Key,Shift)

{(Sender);

}

//---------------------------------------------------------------------------__fastcall TForm1::RichEdit1MouseUp(TObject *Sender,Button, TShiftState Shift, int X, int Y)

{(Sender);

}

//---------------------------------------------------------------------------__fastcall TForm1::FormResize(TObject *Sender)

{StatusExecute(Sender);}

//---------------------------------------------------------------------------__fastcall TForm1::MSaveClick(TObject *Sender)

{if (FName != "")->Lines->SaveToFile(FName);MSaveAsClick(Sender);}

//---------------------------------------------------------------------------__fastcall TForm1::FontDialog1Apply(TObject *Sender, HWND Wnd)

{RichEdit1->SelAttributes->Assign(FontDialog1->Font);}

//---------------------------------------------------------------------------__fastcall TForm1::MFindClick(TObject *Sender)

{ FindDialog1->FindText = RichEdit1->SelText;->Execute();

}

//---------------------------------------------------------------------------__fastcall TForm1::FindDialog1Find(TObject *Sender)

{FoundAt, StartPos, ToEnd;Option;*dlg = (TReplaceDialog *)Sender;(dlg->Options.Contains(frWholeWord))<< stWholeWord;Option >> stWholeWord;(dlg->Options.Contains(frMatchCase))<< stMatchCase;Option >> stMatchCase;= RichEdit1->FindText(dlg->FindText,, ToEnd, Option);(FoundAt != -1)

{ RichEdit1->SelStart = FoundAt;->SelLength = dlg->FindText.Length();((dlg->Name == "ReplaceDialog1")&&(dlg->Options.Contains(frReplaceAll)))Replace(Sender);}ShowMessage("Текст '" + dlg->FindText +

"' не найден");->SetFocus();}

//---------------------------------------------------------------------------__fastcall TForm1::MCopyClick(TObject *Sender)

{RichEdit1->CopyToClipboard();}

//---------------------------------------------------------------------------__fastcall TForm1::MCutClick(TObject *Sender)

{RichEdit1->CutToClipboard();}

//---------------------------------------------------------------------------__fastcall TForm1::MPasteClick(TObject *Sender)

{RichEdit1->PasteFromClipboard();}

//---------------------------------------------------------------------------__fastcall TForm1::MUndoClick(TObject *Sender)

{RichEdit1->Undo();}

//---------------------------------------------------------------------------__fastcall TForm1::ReplaceDialog1Replace(TObject *Sender)

{ RichEdit1->SetFocus();(RichEdit1->SelText != "")

{RichEdit1->SelText = ReplaceDialog1->ReplaceText;(ReplaceDialog1->Options.Contains(frReplaceAll))->SelStart += ReplaceDialog1->ReplaceText.Length();}if (ReplaceDialog1->Options.Contains(frReplace))

{ShowMessage("Текст '" + ReplaceDialog1->FindText +

"' не найден");;}(ReplaceDialog1->Options.Contains(frReplaceAll))Find(Sender);}

//---------------------------------------------------------------------------__fastcall TForm1::MReplaceClick(TObject *Sender)

{ ReplaceDialog1->FindText = RichEdit1->SelText;->Execute();}

//---------------------------------------------------------------------------__fastcall TForm1::MExitClick(TObject *Sender)

{Close();}

//---------------------------------------------------------------------------__fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)

{if (RichEdit1->Modified)

{int res = MessageDlg("Текст в окне был изменен. Сохранить его?",,() << mbYes<< mbNo << mbCancel,0);(res)

{case mrYes: MSaveClick(Sender);break;mrCancel: CanClose = false; }}}

//---------------------------------------------------------------------------__fastcall TForm1::MCreateClick(TObject *Sender)

{if (RichEdit1->Modified)

{int res = MessageDlg("Текст в окне был изменен. Сохранить его?",,() << mbYes<< mbNo << mbCancel,0);(res)

{mrYes: MSaveClick(Sender);

break;mrCancel: return;

}

}->Clear();= "";

}

//---------------------------------------------------------------------------__fastcall TForm1::MPrintSetupClick(TObject *Sender)

{->Execute();

}

//---------------------------------------------------------------------------__fastcall TForm1::MPrintClick(TObject *Sender)

{(PrintDialog1->Execute())(int i = 1; i <= PrintDialog1->Copies; i++)->Print("Печать PRichEdit1");

}__fastcall TForm1::ApplicationEvents1Hint(TObject *Sender)

{->Panels->Items[2]->Text = Application->Hint;

}


Практична робота 9. "Програми для роботи з власними функціями"

Завдання 9.1

Написати програму з використання функції, яка визначає яке з двох введених чисел має максимальну суму чисел.

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"f1(int num1)

{sum1=0,sum2=0;

{

sum1+=num1%10;=num1/10;

// cout<<"sum1="<<sum1<<"\n";

}((num1)>=1);sum1;

}_tmain(int argc, _TCHAR* argv[])

{first_num=0,second_num=0,s1=0,s2=0;<<"first_num=";>>first_num;<<"second_num=";>>second_num;=f1(first_num);=f1(second_num);

//bolean=f1(first_num,second_nim);

if(s1<s2)

{ cout<<"first sum is less then second\n";}

else

{cout<<"first sum is more then second\n";}("pause");0;

}


Завдання 9.2

Є три стержня з номерами 1, 2,3. На першому стержні є n дисків різного діаметра, які утворюють піраміду. Написати програму переміщень дисків зі стержня 1 на стержень 2, використовуючи допоміжний стержень 3. Диск більшого діаметру не повинен переміщатися на диск меньшого.

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"

#include "conio.h"

// int n=0;

//cin>>n;_tmain(int argc, _TCHAR* argv[])

{

int n=0,i=0,j,l=0,per=0;>>n;mas1[100];mas2[100];mas3[100];(i=0,j=0;i<n;j+=2,i++)

//for(int j=0;j<n*2;j+=2)

{

//randomize;[i]=j;<<mas1[i]<<" ";

}<<endl;i-=2;(l=0;l<n-1;l++)

{

mas3[l]=mas1[(n-1)-l];

cout<<mas3[l]<<" "; per++;

} cout<<endl;

mas2[0]=mas1[0];per++;

cout<<mas2[0]<<" ";

for(i=1,j=n-2;i<n;j--,i++)

{ mas2[i]=mas3[j];

cout<<mas2[i]<<" ";

per++;

} cout<<"per="<<per<<endl;("pause");0;

}



Практична робота 10. "Програми для роботи зі структурами даних"

Завдання 10.1

Використовуючи масив типу структура (з 6-10 елементів) скласти програму, за допомогою якої можна ввести у пам’ять комп’ютера дані з предметної області "Продовольчий магазин" і відібрати товари, вартість яких меньша 10 грн. В кожній предметній області мають бути присутні обчислювальні поля.

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"

#include "string.h"

#include "stdlib.h"str

{ double data;product_name[10];price;id_num;seller[10];tax;

}strc[10];_tmain(int argc, _TCHAR* argv[])

{strc[10];mas[100],j=0;n=0;<<"n=";>>n;(int i = 0; i<n;i++)

{

randomize;

strc[i].data=rand()%30;

cout<<"strc.product_name["<<i<<"]=";

cin>>strc[i].product_name;

cout<<"strc.price["<<i<<"]=";

cin>>strc[i].price;

if( strc[i].price<10)

{

mas[j]=i;j++;

}

strc[i].id_num = rand()%100;

strcpy(strc[i].seller,"seller");

strc[i].tax=20*(strc[i].price/100);

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

{ cout<<"data"<<strc[l].data<<" ";

cout<<"product_name["<<l<<"]="<<strc[l].product_name<<" ";

cout<<"price="<<strc[l].price<<" ";

cout<<"id="<<strc[l].id_num<<" ";

cout<<"seller="<<strc[l].seller<<" ";

cout<<"tax="<<strc[l].tax<<" ";

cout<<endl;

}

system("pause");0;

}



Практична робота 11. "Програми для роботи з файлами"

Завдання 11.1

Модифікувати програму завдання 1 практичної роботи 6 таким чином, щоб значення зчитувалися з текстового файлу, а результат обчислень записувався у файл. (Реалізувати два варіанти роботи з файлами, за допомогою компонентів вкладки Dialogs (візуальний режим роботи програми) та а допомогою директив ifstream.h, ofstream.h (консольний режим роботи програми)).

Візуальний режим роботи програми:

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)

{ Memo1->Clear();(OpenDialog1 -> Execute())Memo1->Lines->LoadFromFile(OpenDialog1->FileName) ;

}

//---------------------------------------------------------------------------__fastcall TForm1::Button2Click(TObject *Sender)

{n,i=0,j=0;= Memo1->Lines->Count;->Clear();(i = 0; i<n; i++)

{(Memo1->Lines->Strings[i]=="0")

{j++;}

{ Memo2->Lines->Add(Memo1->Lines->Strings[i]);}

}(i=0;i<j;i++)

{ Memo2->Lines->Add(0);}

}

//---------------------------------------------------------------------------__fastcall TForm1::Button3Click(TObject *Sender)

{(SaveDialog1 -> Execute())Memo2->Lines->SaveToFile(SaveDialog1->FileName);

}

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


Консольнй режим:

#pragma hdrstop

#pragma argsused

#ifdef _WIN32

#include <tchar.h>

#elsechar _TCHAR;

#define _tmain main

#endif

#include <stdio.h>

#include "iostream.h"

#include <fstream>_tmain(int argc, _TCHAR* argv[])

{n=0,i=0,j=0;

//float a;*mas = new int[100];F;.open("D:\\input.txt");(F)

{(!F.eof())

{>>mas[i];++;

} n=--i;

F.close();

fstream fl(ios_base::trunc);

fl.open("D:\\output.txt",ios_base::app);(i=0;i<=n;i++)

{(mas[i]!=0)

{fl<<mas[i];<<" ";}j++;

}(j!=0)

{fl<<0;j--;}.close();

}cout<<" fale is missed "<<endl;

return 0;

}



Практична робота 12. "Програми для роботи з графічної підсистемою"

Задання 12.1

Користуючись компонентами мови програмування С++ написати програму для виведення на екран наступних фігур.

Розміри: Фігура 1 =101 , Фігура 2 = 87, Фігура 3 = 89, Координати Х, У=30,50.

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)

{a = 101;x =50;y =30;-> Repaint();-> Repaint();-> Canvas-> Rectangle(x,y,a+x,a+y);-> Canvas-> MoveTo(x,y);-> Canvas-> LineTo(a+x,a+y);-> Canvas-> MoveTo(a+x,y);-> Canvas-> LineTo(a-x,a+y);-> Canvas-> MoveTo((a/2)+x,y);-> Canvas-> LineTo((a/2)+x,a+y);-> Canvas-> MoveTo(a+x,(a/2)+y);-> Canvas-> LineTo(x,(a/2)+y);

}

//---------------------------------------------------------------------------__fastcall TForm1::Button2Click(TObject *Sender)

{a = 87;b =a/3;x =50;y =30;-> Repaint();-> Repaint();-> Canvas-> MoveTo(x,(a/4)+y);-> Canvas-> LineTo(b+x,(a/4)+y);-> Canvas-> MoveTo(x,(a/2)+y);-> Canvas-> LineTo(b+x,(a/2)+y);-> Canvas-> MoveTo(x,(a*0.75)+y);-> Canvas-> LineTo(b+x,(a*0.75)+y);-> Canvas-> Rectangle(b+x,y,b*2+x,a+y);-> Canvas-> MoveTo(b*2+x,(a/2)+y);-> Canvas-> LineTo(a+x,(a/2)+y);

}

//---------------------------------------------------------------------------__fastcall TForm1::Button3Click(TObject *Sender)

{double a =89;x =50;y =30;-> Repaint();-> Repaint();-> Canvas-> MoveTo(x,(a/4)+y);-> Canvas-> LineTo(x+(a/3),(a/4)+y);-> Canvas-> MoveTo(x+(2*a/3),(a/4)+y);-> Canvas-> LineTo(x+a,(a/4)+y);-> Canvas-> MoveTo(x+(a/3),y);-> Canvas-> LineTo(x+(a/3),(a/2)+y);-> Canvas-> MoveTo(x+(2*a/3),y);-> Canvas-> LineTo(x+(2*a/3),(a/2)+y);

}

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


Завдання 12.2

Підготувати програму на мові С++ для виведення на екран двох рядків тексту:

Software development

<Your name and surname>

Рядки вказаного тексту надрукувати двома гарнітурами, для кожної з яких задати два різних кеглі з наступними кутами нахилу відносно горизонтальної вісі: 00, 900 .

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)

{-> Canvas -> Rectangle(0,0,200,100);-> Canvas -> Font -> Size = 10;-> Canvas -> Font -> Name= "Arial";-> Canvas -> TextOutW(2,2,"Software development");-> Canvas -> Font -> Size = 15;-> Canvas -> Font -> Name= "Times New Roman";-> Canvas -> TextOutW(2,22,"Zhideikina Nata");

}

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


Завдання 12.3

Написати програму для побудови на екрані наступних фігур:


#include <vcl.h>

#pragma hdrstop

#define PI 3.1415926535897932

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{}

//---------------------------------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender)