Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основна частина.doc
Скачиваний:
1
Добавлен:
16.12.2018
Размер:
1.84 Mб
Скачать

Розділ 4 розробка та виконання тестового прикладу

Запускаємо програму після чого виведеться меню (рис.4.1).

Рис. 4.1 – Титулка

Після натиснення відповідної цифри буде виконаний відповідний модуль (рис. 4.2).

Рис. 4.2 – Меню

Вибраши перший пункт меню, на екрані (рис. 4.3) з’являється умова першої задачі.

Рис. 4.3 – Задача 1

Вибраши другий пункт меню, на екрані (рис. 4.4) з’являється умова наступної задачі.

Рис. 4.4 – Задача 2

Після обрання третього пункт меню, на екрані з’являється умова третьої задачі (рис. 4.5).

Рис. 4.5 – Задача 3

Для тестування задачі 4, необхідно створити файл з ім’ям in.txt і записати в цей файл певну інформацію для її подальшого шифрування. Тестовий вміст файлу показано на рис. 4.6

Рис. 4.6 – Текст для шифрування

Одразу після завершення підпрограми, яка шифрує дані, в тій самій директорії, що й файл in.txt, з’явиться файл з ім’ям out.txt в якому вміст файлу in.txt буде відображений в зашифрованому вигляді (рис. 4.7).

Рис. 4.7 – Результат шифрування

При тестуванні задачі 5 на екрані з’являється графічне зображення смайлика, вигляд якого подано на рис. 4.8.

Рис. 4.8 – Смайлик, який підморгує оком

При тестуванні задачі 6 створюється текстовий файл (рис. 4.10), який містить випадкові числа кількість яких встановлюється користувачем. Окрім того, на екрані виводиться (рис. 4.9) вміст файлу і середнє арифметичне тих чисел, які задовольняють відповідну умову, яка вказана в задачі.

Рис. 4.9 – Середнє арифметичне

Рис. 4.10 – Вміст файлу

Розділ 5. Інструкції користувача

Програма призначена різних типів завдань виконується на IBM сумісних PC з мінімальними технічними характеристиками, CPU 133mHz, 16mb RAM, 2mb ROM, 4mb video cart. під керуванням операційної системи MS DOS чи сучасної системи яка дозволяє емулювати вище згадану операційну систему. Для виконання програми необхідно в дерикторію з виконавчим файлом M1.exe помістити відео драйвер фірми Borland EGAVGA.BGI та запустити ехе файл. Дотримуючись меню програми виконуємо потрібні нам підпрограми.

Висновки

В ході виконання даної курсової роботи ми розглянули можливі алгоритми розв’язку даного завдання на мові С++, вивчили створення проектів в середовищі Borland C++. Частина теоретичного матеріалу була опрацьована самостійно, використовуючи літературні джерела, а також інформаційні ресурси Інтернету.

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

Отже, можемо зробити висновок, що створений нами програмний продукт повністю відповідає завданню, а пояснююча записка написана з дотриманням всіх вимог і стандартів.

Список використаних джерел

  1. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навч. посібн. 3-тє вид. – Львів: СПД Глинський, 2006. – 192с.

  2. Делявський М.В., Коцюба А.Ю., Лавренчук С.В. Програмування. Методичні вказівки до виконання курсової роботи для студентів спеціальності “Комп’ютерні системи та мережі” денної та заочної форми навчання. – Луцьк ЛНТУ, 2009. – 48с.

  3. Павловская. Т.А. С/С++. Программирование на языке высокого уровня. СПб.: Питер, 2002. – 464 с.

  4. Павловська Т.А. “С/С++ Програмирование на язике високого уровня”-СПб.:Питер, 2008. – 461с.

  5. Проценко В.С., Чаленко П.Й., Ставровський А.Б. Техніка програмування мовою СІ. - Київ: Либідь, 1993.

  6. Саттер Г. Решение сложных задач на С++. – М.: Изд.дом «Вильямс», 2002.

  7. Шилдт Г. Теория и практика С++. – СПб.: BHV, 1996.

ДОДАТКИ

Додаток А

(обов’язковий)

Специфікація програми

Додаток Б

(обов’язковий)

Текст програми

Головна програма

#include <stdlib.h>

#include <math.h>

#include <conio.h>

#include <iomanip.h>

#include <iostream.h>

#include <fstream.h>

#include<graphics.h>

#include<dos.h>

#include "T01.cpp"

#include "T02.cpp"

#include "T03.cpp"

#include "T04.cpp"

#include "T05.cpp"

#include "T06.cpp"

#include "T07.cpp"

#include "T08.cpp"

int main()

{

f7();

f8();

getch();

return 0;

}

Програма «розгалужений алгоритм»

void f1() {

float t;

clrscr();

cout <<"\n Zadacha 1 ";

cout <<"\n\t Ymova: ";

cout <<"\n Sklastu programy, jaka prosut vvestu temperaturu tila ludunu "

"i vuznachaje chi zdorova lyduna chi ni.";

cout <<"\n\n\t Rozvjazok: ";

cout <<"\n Vvedit temperaturu tila lydunu: "; cin >> t;

cout <<"\n Rezultat: lydunu "<< ((36.0 < t && t < 37.0)? "zdorova" : "xvora") << endl;

}

Програма «Цикли»

void f2() {

clrscr();

cout <<"\n Zadacha 2 ";

cout <<"\n\t Ymova: ";

cout <<"\n Obchislitu znachenna funcii: f = (-b + sqrt(b^2 + 4*a*c))/(2*a) + |c|,";

cout <<"\n de zminna a beretcz z promizku [a0..an] z krokom d*an ";

cout <<"\n a0 - pochatkove znachenna zminnoi a, (a0 != 0). ";

cout <<"\n an - kinceve znachenna zminnoi a, (a0<=an). ";

cout <<"\n d - prurist. ";

cout <<"\n Rezultat obchislen vivestu y vuglajdi tablici. Iaksho obchislenna nemojlive";

cout <<"\n vivestu povidomlenna pro pomilky ";

cout <<"\n\n\t Rozvjazok: ";

float f, a0, an, d, b, c;

cout <<"\n Vvedit pochatkovi dani ";

cout <<"\n a0 = "; cin >> a0;

cout <<"\n an = "; cin >> an;

cout <<"\n d = "; cin >> d;

cout <<"\n b = "; cin >> b;

cout <<"\n c = "; cin >> c;

cout <<"\n\t| ai\t| f ";

cout <<setprecision(3);

while (a0 <= an) {

f = pow(b, 2) + 4*a0*c;

if (f < 0.0) { cout <<"\n Pomulka, nemozlivo prodovzutu obchislenna."; break; }

f = (-b + sqrt(f))/(2*a0) + fabs(c);

cout <<"\n\t|"<< a0 <<"\t|"<< f <<"\t";

a0 += d;

}

}

Програма «масиви»

void f3()

{

clrscr();

int k, p;

cout <<"\n Zadacha 3 ";

cout <<"\n\t Ymova: ";

cout <<"\n Y viborax do miskoi radu vzalo uhcast n kandidativ ta ";

cout <<"\n k naselenux punktiv. Kilkist golosiv, nabranix y kojnomu ";

cout <<"\n pynkti zgeneruvalu vupadkovum chinom vid 0 do 100. Rejting ";

cout <<"\n kandidata viznachaetca jak suma golosiv nabranux y vsix ";

cout <<"\n naselenux punktax. Vivestu na ekran tablicy pro rezultatu ";

cout <<"\n pro golosuvanna, de y rzdkax dani z naselenix punktiv, a y ";

cout <<"\n stovpcax, dani chodo konkretnux kandidadiv. Vuznachitu v ";

cout <<"\n jakomy z naselenux punktiv progolosuvalo najbilshe lydej. ";

cout <<"\n\n\t Rozvjazok: ";

cout <<"\n Vvedit kilkist kandidativ "; cin >> k;

cout <<"\n Vvedit kilkist naselenux punktiv "; cin >> p;

int i, j, ip, m, q[20][20], s[20]={0};

randomize();

for (i=0; i < k; ++i)

for (j=0; j < p ; ++j)

q[i][j] = random(100);

for (j=0; j < p; ++j)

for (i=0; i < k; ++i)

s[j] += q[i][j];

m=s[0];

ip=0;

for(i=1; i < p; ++i)

if(s[i] > m) {m = s[i]; ip = i;}

for (i=0; i < k; ++i) {

for (j=0; j < p; ++j)

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

cout <<"\n\n";

}

cout << endl;

for(i=0; i < p; ++i)

cout<<" "<<s[i]<<" ";

cout <<"\n Naibilshe ludej progolosovalo na dilnici ";

cout << ip+1 << endl;

}

Програма «текстові дані»

void f4()

{

clrscr();

cout <<"\n Zadacha 4 ";

cout <<"\n\t Ymova: ";

cout <<"\n Dano tekstovij fajl, v jakomy zapusani vashi osobusti dani ";

cout <<"\n Zashufryvatu ci dani shifrom Cezara ta zapisatu ix v inshij fajl. ";

cout <<"\n\n\t Rozvjazok: ";

ifstream input("in.txt");

ofstream output("out.txt");

int n, i;

char a[5000];

n=0;

while(!input.eof()) { input>>a[n]; n++; }

a[n]='\0';

for (i = 0; i < n; i++) a[i] += 4;

for (i = 0; i < n; i++) output << a[i];

cout <<"\n Informacija yspisno zashifrovans!";

input.close();

output.close();

}

Програма «емблема»

void f5()

{

clrscr();

cout <<"\n Zadacha 5 ";

cout <<"\n\t Ymova: ";

cout <<"\n U verhnij livij chverti graficnogo ekranu narusuvatu veselij ";

cout <"'\n smajlik, jakij pidmorgue odnim okom. ";

cout <<"\n\n\t Rozvjazok: ";

int gdriver=DETECT,gmode,errorcode;

int x,y;

initgraph(&gdriver,&gmode," ");

errorcode=graphresult();

if(errorcode!=grOk) {

cout<<"Pomulka:"<< grapherrormsg(errorcode);

cout<<"\natusnit' byd-jaky klavishu";

getch();

exit(1);

}

int i=1;

setbkcolor(15);

setcolor (1);

circle (300/4,200/4,150/4);

circle (250/4,135/4,25/4);

arc(300/4,190/4,200,340,100/4);

setfillstyle(1,14);

floodfill(300/4,200/4,1/4);

setfillstyle(1,12);

floodfill(250/4,135/4,1);

for(int j=1;j<10;j++)

{

if (i==1) {

setcolor(1);

setfillstyle(1,12);

circle (350/4,135/4,25/4);

floodfill(350/4,135/4,1);

i=0;

} else {

setfillstyle(1,14);

setcolor(14);

circle (350/4,135/4,25/4);

floodfill(350/4,135/4,14);

setcolor(12);

line(325/4,135/4,375/4,135/4);

i=1;

}

delay(500);

}

getch();

closegraph();

}

Програма «файли»

void f6()

{

int i, n, c = 0, j = 0, m;

clrscr();

cout <<"\n Zadacha 6 ";

cout <<"\n\t Ymova: ";

cout <<"\n Stvorutu fajl cilux chisel z N komponent. Vivesti na ekran ";

cout <<"\n seredne arufmetichne komponent fajlu, jaki bilshi za 2, ale ";

cout <<"\n menshi za 50. Vvivestu na ekran vmist fajly. ";

cout <<"\n\n\t Rozvjazok: ";

cout <<"\n Vvedit kilkist chisel: ";

cin >> n;

ofstream output("out2.txt");

randomize();

for (i=0; i < n; ++i) {

m = random(80);

if (m > 2 && m < 50) {c += m; ++j;}

output << m <<" ";

}

cout <<"\n Seredne arifmetichne chisel jaki bilshe za 2, ale menshe za 50 == "<< (c/j) << endl;

output.close();

ifstream input("out2.txt");

cout <<"\n\n Vmist fajlu: \n";

while (!input.eof())

{

input >> i;

cout << i <<" ";

}

input.close();

}

Програма «титульна сторінка»

void f7()

{

clrscr();

int gdriver=DETECT,gmode,errorcode;

initgraph(&gdriver,&gmode," ");

errorcode=graphresult();

if(errorcode!=grOk)

{

cout<<"Pomulka:"<<grapherrormsg(errorcode);

cout<<"\natusnit' byd-jaky klavishu";

getch();

exit(1);

}

setcolor(BLUE);

setbkcolor(15);

outtextxy(200,20,"Ministerstvo osvitu i nayku, molodi ta sportu Ukraine");

outtextxy(203,30,"\Lutsk national technical universiti");

outtextxy(500,100,"Kafedra KI");

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. KSMz-21");

outtextxy(460,340,"Tokarchuk Anton");

outtextxy(460,350,"Pereviruv: asustent");

outtextxy(460,360,"Lavrenchuk S.V.");

outtextxy(300,450,"Lutsk - 2011");

rectangle(20,5,getmaxx()-5,getmaxy()-5);

getch();

closegraph();

}

Програма «монітор»

void f8() {

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-> Zadacha 1");

outtextxy(175,90,"2-> Zadacha 2");

outtextxy(175,125,"3-> Zadacha 3");

outtextxy(175,160,"4-> Zadacha 4");

outtextxy(175,195,"5-> Zadacha 5");

outtextxy(175,230,"6-> Zadacha 6");

outtextxy(175,265,"7-> Zadacha 7");

outtextxy(175,300,"8-> Exit");

getch();

closegraph();

int q;

cin>>q;

switch (q) {

case 1: f1();getch();goto mitka;break;

case 2: f2(); getch();goto mitka; break;

case 3: f3();getch();goto mitka; break;

case 4: f4();getch();goto mitka; break;

case 5: f5();getch();goto mitka;break;

case 6: f6();getch();goto mitka; break;

case 7: f7();getch();goto mitka; break;

case 8:exit(1);

default:{cout<<"Eror";}

}

}

getch();

}