- •1. Постановка задачі.
- •Анотація
- •Анотацыя
- •Розділ 1
- •1.1 Алгоритм вибору
- •1.2 Цикли
- •1.3 Масиви
- •1.4 Поняття файлу
- •1.5 Графічний режим
- •Розділ 2 опис структури програмного проекту
- •Розділ 3 опис алгоритмів розв’язання задачі
- •Розділ 4 розробка та виконання тестового прикладу
- •Розділ 5 інструкції користувача
- •Висновки
- •Список використаних джерел
- •Додаток в (обов’язковий) Блок-схеми
Висновки
В ході виконання даної курсової роботи ми розглянули можливі алгоритми розв’язку даного завдання на мові С++, вивчили створення проектів в середовищі Borland C++. Частина теоретичного матеріалу була опрацьована самостійно, використовуючи літературні джерела, а також інформаційні ресурси Інтернету.
До переваг розробленої програми можна віднести компактність, використання малих системних ресурсів, можливість запуску на застарілих ЕОМ. Недоліками цієї програми є використання графічного драйвера, без якого не можливе виконання програми.
Отже, можемо зробити висновок, що створений нами програмний продукт повністю відповідає завданню, а пояснююча записка написана з дотриманням всіх вимог і стандартів.
Список використаних джерел
Делявський М.В., Коцюба А.Ю., Лавренчук С.В. Програмування. Методичні вказівки до виконання курсової роботи для студентів спеціальності “Комп’ютерні системи та мережі” денної та заочної форми навчання. – Луцьк ЛНТУ, 2009. – 48с.
Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навч. посібн. 3-тє вид. – Львів: СПД Глинський, 2006. – 192с.
Павловская. Т.А. С/С++. Программирование на языке высокого уровня. СПб.: Питер, 2002. – 464 с.
Проценко В.С., Чаленко П.Й., Ставровський А.Б. Техніка програмування мовою СІ. - Київ: Либідь, 1993.
Павловская. Т.А. С/С++. Программирование на языке высокого уровня. СПб.: Питер, 2008. – 461 с.
Саттер Г. Решение сложных задач на С++. – М.: Изд.дом «Вильямс», 2002.
Шилдт Г. Теория и практика С++. – СПб.: BHV, 1996.
ДОДАТКИ
Додаток А
(обов’язковий)
Специфікація програми
Блок-схема загального .exe файлу.
Додаток Б
(обов’язковий)
Текст програми
Головна программа
#include"kursova1.cpp"
#include"kursova2.cpp"
#include"kursova3.cpp"
#include"kursova4.cpp"
#include"kursova5.cpp"
#include"kursova6.cpp"
#include"kursova7.cpp"
#include<stdlib.h>
#include<fstream.h>
#include<conio.h>
#include<graphics.h>
void main()
{Kr8();
getch();
}
Програма «Алгоритм вибору»
void kr1()
{
clrscr();
cout <<"\n Zadacha 1 ";
cout <<"\n\t Ymova: ";
cout<<"\nSklastu programy vukonannya arufmetuchnuh operacij(+,-,*,/)";
cout <<"\n nad chuslamu a ta b, v zalejnosti vid natusnytoi klavishi";
cout<<"\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
int a,b,y;
char znak;
cout<<"\nVvedit vuraz yakuj potribno ob4uslutu:\n";
cin>>a>>znak>>b;
cout<<"=";
switch(znak)
{
case '+':y=a+b;break;
case '-':y=a-b;break;
case '*':y=a*b;break;
case '/':y=a/b;break;
}
cout<<y;
getch();
}
Програма «Цикли»
void kr2()
{
clrscr();
cout <<"\n Zadacha 2 ";
cout <<"\n\t Ymova: ";
cout <<"\n Vidomo statustuchnuj ryad(vubirka) vupadkovoi veluchunu X";
cout <<"\n x -2 -1 0 1 2 3";
cout <<"\n n 10 15 8 6 12 14";
cout <<"\n Obchuslutu seredne vubirkove znachennya, vubirkovy duspersiy,";
cout <<"\n ta seredne kvadratuchne vidhulennya ";
cout <<"\n =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
int a[6]={-2,-1,0,1,2,3};
int z,n; float serkvadr,servub,vubdusp,s=0;
int b[6]={10,15,8,6,12,14};
cout<<"\n vveditkilkist elementiv n="<<n;
cin>>n;
for( int i=0;i<n;i++){
z=a[i]*b[i];
s=s+z;
}
servub=s/n;
for( i=0;i<n;i++){
z=pow(a[i],2)*b[i]-pow(servub,2);
s=s+z;
}
vubdusp= s/n;
serkvadr=sqrt(vubdusp);
cout<<"Seredne vubirkove\n"<<servub;
cout<<"\nvuubirkova duspersia \n"<<vubdusp;
cout<<"\nSeredne kvadratuchne\n"<<serkvadr;
getch();
}
Програма «Масиви»
void kr3()
{
clrscr();
cout <<"\n Zadacha 3 ";
cout<<"\n\t Ymova: ";
cout<<"\nRozmir masuvy vuznachaetsya na pochatky programu yak vupadkove";
cout<<"\n chuslo v diapazoni vid 50 do 200.Zapovnutu masuv vupadkovumu ";
cout<<"\n chuslamu v diapazoni vid -100 do 100, vuvestu masuv na ekran, ";
cout<<"\n krim togo vuznachutu yakuh elementiv v masuvibilshe: parnuh";
cout<<"\nchu neparnuh.(Zaboronyaetsa vukorustovyvatu operaciy indeksacii)";
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n";
int i,n,par=0,nepar=0;
int *a;
randomize();
n=random(150)+50;
cout<<"masuv z "<<n<<" elementiv\n";
a=new int[n];
cout<<"masuv \n";
for(i=0;i<n;i++){
*(a+i)=random(201)-100;
cout<<" "<<*(a+i);}
for(i=0;i<n;i++)
if ( *(a+i)%2==0) par=par+1;
else{ nepar=nepar+1; }
if (par>nepar)cout<<"\nParnuh elementiv bilse";
else{
cout<<"\n Neparnuh elementiv bilse"; }
delete[]a;
getch();
}
Програма «Текстові дані»
void kr4()
{
clrscr();
cout <<"\n Zadacha 4 ";
cout <<"\n\t Ymova: ";
cout <<"\n Vidredagyvatu tekstovuj fajl, zaminyychu v nomy vsi bykvu zirochkamu (*)";
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
char *s;
s=new char[100];
ifstream ff("danii.txt");
ff.getline(s,100);
cout<<"\n"<<s;
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=\n";
cout<<"\nVidredagovanuj text:\n";
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=\n";
for(int i=0;i<=100;i++)
{if(*(s+i)=='g')*(s+i)='*';}
ofstream f("danii.txt");
f<<s;
cout<< s;
getch();}
Програма «Структури»
struct Car
{
char *name, *color;
int year;
float price;
};
Car** Create (int i);
void print (Car *avto);
void kr5()
{
clrscr();
cout<<"\nStvorutu i vuvestu na ekran masuv zapusiv \n";
cout<<"pro avtomobili na skladi(nazva,rik,cina colir),\n";
cout<<"ypotyadkovanuj za alfavitom, a takoj vuvestu na ekran\n";
cout<<"cinu i nazvu modelej chervonogo kolory,yakim ne bilshe\n";
cout<<"3 rokiv\n";
cout<<"= - = - = - = - = - = - = = - =\n";
int N;
cout<<"Vvedit kilkist avto\n";
cin>>N;
Car** list = new Car*[N];
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n";
for (int i = 0; i < N; i++) {
*(list + i) = new Car;
list[i]->name = new char[50];
cout<<"\nNazva modeli "<<i+1<<"-go avto:\n";
cin>>list[i]->name;
list[i]->color = new char[30];
cout<<"\Colir avto "<<i+1<<"-go avto:\n";
cin>>list[i]->color;
cout<<"\Rik vupysky "<<i+1<<"-go avto:\n";
cin>>list[i]->year;
cout<<"\Cina "<<i+1<<"-go avto:\n";
cin>>list[i]->price;
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"; }
Car *x;
for( i=0; i < N; i++) {
for(int j = N-1; j > i; j-- ) {
if ( list[j-1]->name[0] > list[j]->name[0] {
x=list[j-1]; list[j-1]=list[j]; list[j]=x;}}}
for (i=0; i<N;i++) {
cout<<"\n_________________________________________\n";
print(list[i]);
}
cout<<"\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n";
cout<<"Avto z parametramu: red color 3 years old :\n";
for (i = 0; i < N; i++) {
if((!strcmp(strlwr(list[i]>color),"red"))
&&(list[i]->year>2009)){
print(list[i]);}}
getch();
}
void print (Car *avto)
{
cout <<avto->name << "\t" ;
cout <<avto->year << "\t";
cout <<avto->color << "\t" ;
cout <<avto->price << "\n";
}
Програма «Файли»
void kr6()
{
clrscr();
cout <<"\n Zadacha 6 ";
cout <<"\n\t Ymova: ";
cout <<"\n Stvorutu fajl F ciluh chusel, sho skladaetsya z N komponent,";
cout <<"\n Zaminutu vsi dodatni komponentu fajly na ix kvadratni koreni, ";
cout <<"\n a videmni - na kvadratu. Vuvestu vmist fajly do i pislya obrobku. ";
cout <<"\n =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ";
int N;
float *a;
cout<<"\n Vvedit kilkist komponent faily:\nN=";
cin>>N;
a= new float[N];
randomize();
ofstream f("F.txt");
for(int i=0;i<N;i++)
{a[i]=random(50)-30;
f<<" "<<a[i];
}
f.close();
ifstream f1("F.txt");
ofstream ff("F.txt");
cout<<"\nfail F:\n";
for(i=0;i<N;i++)
{f1>>a[i];
cout<<a[i]<<" ";
if (a[i]<0) ff<<a[i]*a[i]<<" ";
else ff<<sqrt(a[i])<<" ";}
f1.close();
ff.close();
ifstream ff1("F.txt");
cout<<"\n\nfail F:\n";
for(i=0;i<N;i++)
{ff1>>a[i];
cout<<a[i]<<" ";}
ff1.close();
getch();
}
Програма «Титульна сторінка»
void kr7()
{
clrscr();
int gdriver=DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode," ");
errorcode=graphresult();
if(errorcode!=grOk)
{
cout<<"Pomulka:"<<grapherrormsg(errorcode);
cout<<"\natusnit' byd-jaky klavishu";
etch();
exit(1);
}
setcolor(BLUE);
setbkcolor(15);
outtextxy(140,20,"Ministerstvo osvitu i nayku, molodi ta sportu Ukrainu");
outtextxy(203,30,"\Lutskuj natcionalnuj technichnuj universutet");
outtextxy(380,100,"Kafedra komputernoi ingenerii");
settextstyle(0,0,2);
outtextxy(230,170,"KURSOVA ROBOTA");
settextstyle(0,0,1);
outtextxy(310,190,"na temy");
settextstyle(0,0,2);
outtextxy(120,200,"Rozrobka program movoiu C++\"");
settextstyle(0,0,1);
outtextxy(460,320,"Pidgotyvav:");
outtextxy(460,330,"stydent gr. KSMs-11");
outtextxy(460,340,"Gerasimenko Dmitro");
outtextxy(460,350,"Pereviruv: st.vukladach");
outtextxy(460,360,"Kotcyba A.Y.");
outtextxy(300,450,"Lutsk - 2011");
rectangle(20,5,getmaxx()-5,getmaxy()-5);
getch();
closegraph();
}
Програма «Програма-монітор»
void Kr8()
{
mitka:
{
int gdriver=DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if (errorcode!=grOk) {
cout<<"Pomilka:"<<grapherrormsg(errorcode);
cout<<"\nnatusnit bud jaky klavishy";
getch;
exit(1);
}
setbkcolor(15);
setcolor(1);
settextstyle(0,0,2);
outtextxy(175,20,"VUBERIT ZI SPUSKY:");
setcolor(9);
settextstyle(0,0,2);
outtextxy(175,55,"1-> Algorutm vubory");
outtextxy(175,90,"2-> Cuklu ");
outtextxy(175,125,"3-> Masuvu");
outtextxy(175,160,"4-> Tekstovi dani ");
outtextxy(175,195,"5-> Stryktyru ");
outtextxy(175,230,"6-> Fajlu ");
outtextxy(175,265,"7-> Tutylka");
outtextxy(175,300,"8-> Exit");
getch();
closegraph();
int q;
cin>>q;
switch (q) {
case 1: kr1();getch();goto mitka;break;
case 2: kr2();getch();goto mitka; break;
case 3: kr3();getch();goto mitka; break;
case 4: kr4();getch();goto mitka; break;
case 5: kr5();getch();goto mitka;break;
case 6: kr6();getch();goto mitka; break;
case 7: kr7();getch();goto mitka; break;
case 8:exit(1);
default:{cout<<"Eror";}
}
}
getch();
}
