} 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)