Розробка програмного забезпечення
Рядки вказаного тексту надрукувати двома гарнітурами, для кожної з яких задати два різних кеглі з наступними кутами нахилу відносно горизонтальної вісі: 00, 900. Написати програму, яка обчислить суму і середнє арифметичне послідовності додатних чисел, яка вводиться з клавіатури до тих пір, доки не буде введено нуль. Використовуючи класс TDateTime (оголошенийв модулі systdate. h) розробіть… Читати ще >
Розробка програмного забезпечення (реферат, курсова, диплом, контрольна)
КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ІМЕНІ ТАРАСА ШЕВЧЕНКА ОПТИКО-МЕХАНІЧНИЙ КОЛЕДЖ
ЗВІТ З НАВЧАЛЬНОЇ ПРАКТИКИ
зі спеціальності 5.5 010 301 «Розробка програмного забезпечення»
Студентки 3-го курсу групи ПР-31
Жидейкіної Наталії Анатоліївни
КИЇВ — 2015
Зміст
Практична робота 1. «Програми лінійної структури»
Практична робота 2. «Програми розгалуженої структури»
Практична робота 3. «Програмна реалізація функцій для роботи з датою та часом»
Практична робота 4. «Програма для роботи з візуальними компонентами керування»
Практична робота 5. «Програми циклічної структури»
Практична робота 6. «Програми для роботи з масивами даних»
Практична робота 7. «Програми для роботи з рядками даних»
Практична робота 8. «Створення інтерфейсу користувача стандартними подіями»
Практична робота 9. «Програми для роботи з власними функціями»
Практична робота 10. «Програми для роботи зі структурами даних»
Практична робота 11. «Програми для роботи з файлами»
Практична робота 12. «Програми для роботи з графічної підсистемою»
Практична робота 13. «Програми для роботи з глобальними ідентифікаторами Screen, Mouse, Application»
Практична робота 14. «Програми для роботи зі стандартними діалоговими компонентами»
Практична робота 15. «Програма для роботи з аудіота відеофайлами»
Практична робота 1. «Програми лінійної структури»
Завдання 1.1
Дано значення температури TF в градусах Фаренгейта. Визначити значення тієї ж температури у гарадусах Цельсію TC = (TF — 32).
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int tf, tc;
cout<<" tf=";
cin>>tf;
tc=(tf-32)*5/9;
cout<<" tc="<
system («pause»);
return 0;}
Завдання 1.2
Дано змінні A, B, C. Змінити їх значення, перемістивши вміст A у B, B у C, C у A. Вивести нові значення змінних.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int A, B, C, D;
cout<<" A=";
cin>>A;
cout<<" B=";
cin>>B;
cout<<" C=";
cin>>C;
cout<
D=A;
A=C;
C=B;
B=D;
cout<<" A="<
cout<<" B="<
cout<<" C="<
system («pause»);
return 0;
}
Завдання 1.3
Знайти рішення (x, y) системи лінійних рівнянь виду:
заданої коефіцієнтами A1, B1, C1, A2, B2, C2, якщо відомо, що система має єдине рішення.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
double A1, B1, C1, A2, B2, C2, x, y;
cout<<" A1=";
cin>>A1;
cout<<" B1=";
cin>>B1;
cout<<" C1=";
cin>>C1;
cout<<" A2=";
cin>>A2;
cout<<" B2=";
cin>>B2;
cout<<" C2=";
cin>>C2;
cout<
y=(((A2*C1)-(A1*C2))/((B1*A2)-(B2*A1)));
x=((C1-(B1*y))/A1);
cout<<" x="<
cout<<" y="<
system («pause»);
return 0;
}
Завдання 1.4
Дано три точки A, B, C на числовій вісі. Точки C розміщена між точками A і B. Знайти добуток довжин сторін AC і BC.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
#include «math.h»
#include «conio.h»
int _tmain (int argc, _TCHAR* argv[])
{
double Xa, Xb, Ya, Yb, Yc, Xc, D=0;
cout<<" Xa=";
cin>>Xa;
cout<<" Xb=";
cin>>Xb;
cout<<" (Xa
else
{ cout<<" D="<
system («pause»); }
return 0;
}
Практична робота 2. «Програми розгалуженої структури»
Завдання 2.1
Дано тризначне число. Перевірити істинність висловлювання: «Всі цифри даного числа різні» .
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int num;
cout<<" write three-digit numbernnumber=";
cin>>num;
if ((num>99)&&(num<1000))
{
if (((num/100)≠((num/10)%10))&&((num/100)≠((num%10)%10))&&(((num/10)%10)≠((num%10)%10)))
{
cout<<" three-digit number includ different numbersn" ;
}
else
cout<<" three-digit number includ same numbersn" ;
}
else
cout<<" you write wrong number" ;
system («pause»);
return 0;
}
Завдання 2.2
Дано ціле число, яке лежить в діпазоні 1−999. Винести його рядок — опис виду «парне двозночне число», «непарне тризначне число» і т.д.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int num;
bool b=true;
cout<<" write number in the range from 1 to 999 nnumber=";
cin>>num;
if ((num>0)&&(num<10))
{cout<<" One-digit «;}
else
{if ((num>9)&&(num<100))
{cout<<" Two-digit «;}
else
{if (((num>99)&&(num<1000)))
{cout<<" Three-digit «;}
else
{cout<<" you write wrong numbern" ;b=false;}
}
}
if (b)
{
if (num%2==0)
{ cout<<" pair numbern" ;}
else
{ cout<<" unpair numbern" ;}
}
system («pause»);
return 0;
}
Практична робота 3. «Програмна реалізація функцій для роботи з датою та часом»
Завдання 3.1
Використовуючи класс TDateTime (оголошенийв модулі systdate. h) розробіть застосування для роботи з датою і часом, яке демонструватиме всі можливі операції над ними.
//—————————————————————————————————————;
#include
#pragma hdrstop
#include «Unit1.h»
#include «systdate.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm1 *Form1;
//—————————————————————————————————————;
__fastcall TForm1: TForm1(TComponent* Owner)
: TForm (Owner)
{
}
//—————————————————————————————————————;
void __fastcall TForm1: Button1Click (TObject *Sender)
{
TDateTime DateTime = TDateTime: CurrentDateTime ();
int week=DateTime.DayOfWeek ();
switch (week)
{
case 1:{Label1->Caption ="monday"; break;}
case 2:{Label1->Caption ="tuesday"; break;}
case 3:{Label1->Caption ="wednesday"; break;}
case 4:{Label1->Caption ="thursday"; break;}
case 5:{Label1->Caption ="friday"; break;}
case 6:{Label1->Caption ="saturday"; break;}
case 7:{Label1->Caption ="sunday"; break;}
}
Label2->Caption ="DateTime «+DateTime.DateTimeString ();
Label3->Caption ="Date «+DateTime.DateString ();
Label4->Caption ="Time «+DateTime.TimeString ();
DateTime = TDateTime: FileDateToDateTime (FileAge (Application->ExeName));
Label5->Caption = «data and time of file: «+ DateTime. DateTimeString ();
}
//—————————————————————————————————————;
void __fastcall TForm1: Button2Click (TObject *Sender)
{
Application->Terminate ();
}
//—————————————————————————————————————;
void __fastcall TForm1: Button3Click (TObject *Sender)
{
TCursor OldCursor = Screen->Cursor;
Screen->Cursor = crHourGlass;
TDateTime StartDateTime = TDateTime: CurrentDateTime ();
for (int i = 0; i < 500 000; i++)
{
TDateTime (TDateTime:CurrentDateTime ().DateTimeString ());
Application->ProcessMessages ();
}
TDateTime EndDateTime = TDateTime: CurrentDateTime ();
Screen->Cursor = OldCursor;
Label6->Caption = (EndDateTime — StartDateTime).TimeString ();
}
//—————————————————————————————————————;
void __fastcall TForm1: Button4Click (TObject *Sender)
{
static TDateTime DateTime = TDateTime: CurrentDateTime ();
Label7->Caption = (DateTime++).DateTimeString ();
}
//—————————————————————————————————————;
void __fastcall TForm1: Button5Click (TObject *Sender)
{
static TDateTime DateTime = TDateTime: CurrentDateTime ();
Label8->Caption =(DateTime += 1.125).DateTimeString ();
}
//—————————————————————————————————————;
void __fastcall TForm1: Timer1Timer (TObject *Sender)
{ String TimeFormat, DateFormat;
if (CheckBox1->Checked)
DateFormat = «dddddd «;
else
DateFormat = «ddddd «;
if (CheckBox2->Checked)
TimeFormat = «hh:nn:ss» ;
else
TimeFormat = «hh:nn» ;
Label9->Caption = TDateTime: CurrentDateTime ().FormatString (DateFormat+TimeFormat);
}
//—————————————————————————————————————;
void __fastcall TForm1: CheckBox1Click (TObject *Sender)
{
if (CheckBox1->Checked)
Label9->Caption = TDateTime: CurrentDateTime ().FormatString («dddddd:hh:nn»);
else
Label9->Caption = TDateTime: CurrentDateTime ().FormatString («ddddd:hh:nn»);
}
//—————————————————————————————————————;
void __fastcall TForm1: CheckBox2Click (TObject *Sender)
{
if (CheckBox2->Checked)
Label9->Caption = TDateTime: CurrentDateTime ().FormatString («dd.mm.yy.hh:nn:ss»);//TimeFormat = «hh:nn:ss» ;
else
Label9->Caption = TDateTime: CurrentDateTime ().FormatString («dd.mm.yy.hh:nn»);// TimeFormat = «hh:nn» ;
}
Практична робота 4. «Програма для роботи з візуальними компонентами керування»
Завдання 4.1
За допомогою 2-х контейнерів Panel поділіть простір форми на дві частини (головна та нижня) з прив`язкою до її границь. На головній частині розмістіть кнопку Button. На нижній частині розиістіть компонент TrackBar. При зміні позицій «повзунка» TrackBar реалізуйте можливість зміни прозорості форми. При наведенні миші на кнопку Button реалізуйте можливість зміни її положення відносно форми з нможливістю виходу за межі форми.
//—————————————————————————————————————;
#include
#pragma hdrstop
#include «Unit1.h»
//—————————————————————————————————————;
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm2 *Form2;
//—————————————————————————————————————;
__fastcall TForm2: TForm2(TComponent* Owner)
: TForm (Owner)
{
}
//—————————————————————————————————————;
void __fastcall TForm2: TrackBar1Change (TObject *Sender)
{
Form2->AlphaBlendValue=TrackBar1->Position;
}
//—————————————————————————————————————;
void __fastcall TForm2: Button1Click (TObject *Sender)
{
int t=Panel1->Height — Button1->Height;
int t2=Panel1->Width — Button1->Width;
Button1->Top=rand ()%t;
Button1->Left=rand ()%t2;}
Практична робота 5. «Програми циклічної структури»
Завдання 5.1
Дано два цілі числа A і B (A
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
long A=0, B=0, N=0; bool boolean=true;
cout<<" A
cin>>A;
cout<<" B=";
cin>>B;
if (A
for (;A<=B;A++)
{
system («pause»);
return 0;
}
Завдання 5.3
Спортсмен почав тренерування, пробіг у перший день 10 км. Кожен наступний день він збільшував довжину пробігу на Р відсотків від пробігу попереднього дня (0 < P < 50). За заданим Р визначити, після якого дня сумарний пробіг спортсмена за всі дні перевищить 200 км, і вмвести знайдену кількість днів К та сумарний пробіг S на екран.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int P=0,K=1; double S=10;
cout<<" (0
system («pause»);
}
return 0;
}
Завдання 5.4
Написати програму, яка обчислить суму і середнє арифметичне послідовності додатних чисел, яка вводиться з клавіатури до тих пір, доки не буде введено нуль.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int sum=0,number=0,i=1; double sr=0;
cout<<" number=";
cin>>number;
do
{
sum+=number;
sr=sum/i;
cout<<" sum="<<" sr="<
cout<<" number=";
cin>>number;
i++;
}
while (number≠0);
system («pause»);
return 0;
}
Завдання 5.5
Написати порграму, якаперевіряє, чи є введене користувачем число простим.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int number=0;
bool boolean=true;
cout<<" number=";
cin>>number;
for (int i = 2; i < number; i++)
{
if ((number%i≠0)&&(number≠2)&&(number≠0))
{
cout<<" number is not primen" ;
boolean=false;
break;
}
}
if (boolean)
{ cout<<" number is prime" ;}
system («pause»);
return 0;
}
Практична робота 6. «Програми для роботи з масивами даних»
Завдання 6.1
Дано масив з N цілих чисел. Написати програму, яка змінить масив таким чином, щоб спочатку розміщювались всі числа, що не дорівнюють нулю, а в кінці нулі.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
#include «string.h»
int _tmain (int argc, _TCHAR* argv[])
{
int n=0,N=0;
cout<<" n=";
cin>>n;N=n;
int mas[1000];
for (int i=0;i
{
cout<<" mas[" <<" ]=";
cin>>mas[i];
}
cout<
for (int i=0;i
{
if (mas[i]==0)
{
for (int l=i;l
{
mas[l]=mas[l+1];
} mas[n-1]=0;—n;
}
}
for (int i=0;i
{
cout<<" mas[" <<" ]="<<
//cin>>mas[i];
}
system («pause»);
return 0;
}
Завдання 6.2
Написати програму, яка в цілочисленому масиві знайде і виведе на екран розмір найдовшої послідовності однакових чисел, що йдуть підряд, а також це повторюване число.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
int _tmain (int argc, _TCHAR* argv[])
{
int n=0,I=1,MAX=0,NUMBER;
cout<<" n=";
cin>>n;
int mas[1000];
for (int i=0;i
{
cout<<" mas[" <<" ]=";
cin>>mas[i];
}
cout<
NUMBER=mas[0];
for (int i=1;i
{
if (mas[i]==mas[i-1])
{I++;}
else
{if (I>=MAX)
{
MAX=I;
NUMBER=mas[i-1];
I=0;
}
else
{I=0;}
}
}
cout<<" NUMBER="<<" MAX="<
system («pause»);
return 0;
}
Завдання 6.3
Дано дві квадратні матриці A розміром NxK MxK. Обчислити матрицю C за формулою: C = 8B *A*B — A — B4
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include
#include «iostream.h»
#include «conio.h»
int _tmain (int argc, _TCHAR* argv[])
{
int k;
short A[100][100];
short B[100][100];
long B28[100][100];
long AB28[100][100];
long B2[100][100];
long B4[100][100];
long C[100][100];
long AB4[100][100];
cout<<" A: n" ;
{for (int i=0;i<5;i++)
{
for (int j=0;j<5;j++)
{
randomize;
A[i][j]=rand ()%10;