Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснювальна записка Миронова Ганна.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
479 Кб
Скачать
☆

Текст програмного продукту

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<graphics.h>

#include<stdlib.h>

#include<dos.h>

#include<time.h>

char MHO(char ch);

main()

{

clrscr();

float a,d1,d2,A,B,C,D,P,S;

clock_t start,end;

start=clock();

m:printf("Vvedit` znachennja storonu romba a=");

scanf("%f",&a);

printf("\nVvedit` znachennja diagonali romba d2=");

scanf("%f",&d2);

if(a<=d2/2||a<=0||d2<=0){printf("\nDanui romb ne isnue.Povtorit` vvedennja!\n");goto m;}

D=acos((2*pow(a,2)-pow(d2,2))/(2*pow(a,2)))*180/M_PI;

A=180-D;

C=A;

B=D;

d1=2*sqrt((pow(a,2)-pow((d2/2),2)));

P=4*a;

S=d1*d2/2;

window(45,3,80,25);

textbackground(5);

textcolor(9);

clrscr();

delay(1000);

MHO('+');

cprintf("\r\n+ Rezul`tat +\n\r");

MHO('+');

cprintf("\r\n+ Storona romba +%8.3f+\n\r",a);

MHO('+');

cprintf("\r\n+ Persha diagonal` romba +%8.3f+\n\r",d1);

MHO('+');

cprintf("\r\n+ Druga diagonal` romba +%8.3f+\n\r",d2);

MHO('+');

cprintf("\r\n+ Kut A +%8.3f+\n\r",A);

MHO('+');

cprintf("\r\n+ Kut B +%8.3f+\n\r",B);

MHO('+');

cprintf("\r\n+ Kut C +%8.3f+\n\r",C);

MHO('+');

cprintf("\r\n+ Kut D +%8.3f+\n\r",D);

MHO('+');

cprintf("\r\n+ Perymetr romba +%8.3f+\n\r",P);

MHO('+');

cprintf("\r\n+ Plosha romba +%8.3f+\n\r",S);

MHO('+');

end=clock();

cprintf("\r\nChas vykonannja roboty: %4.2f sekynd",(end-start)/(CLK_TCK));

getch();

int driver=DETECT,gmode,errorcode;

initgraph(&driver,&gmode,"C:\\BORLANDC\\BGI");

errorcode=graphresult();

if(errorcode!=grOk)

{printf("Graphics error:%s\n",grapherrormsg(errorcode));

printf("press any key!");

getch();

exit(1);}

setbkcolor(14);

clearviewport();

setcolor(6);

setlinestyle(SOLID_LINE,1,NORM_WIDTH);

line(230,150,230,150+10*d2);

line(230-5*d1,150+5*d2,230+5*d1,150+5*d2);

line(230-5*d1,150+5*d2,230,150);

line(230,150,230+5*d1,150+5*d2);

line(230+5*d1,150+5*d2,230,150+10*d2);

line(230,150+10*d2,230-5*d1,150+5*d2);

outtextxy(233,150+10*d2/4,"d2");

outtextxy(230-10*d1/4,140+10*d2/2,"d1");

outtextxy(220-5*d1/2,145+5*d2/2,"a");

outtextxy(230,140,"A");

outtextxy(233+5*d1,150+5*d2,"B");

outtextxy(230,155+10*d2,"C");

outtextxy(225-5*d1,150+5*d2,"D");

outtextxy(170,410,"Vykonala studentka grupy 141 ICIT Mironova Hanna");

outtextxy(170,430,"Variant 19");

getch();

closegraph();

return 0;}

char MHO(char ch)

{int i;

for(i=0;i<35;i++)cprintf("%c",ch);return 0;}

Висновки

Отже, даний програмний продукт запрошує користувача увести з клавіатури значення сторони та другої діагоналі ромба; обчислює невідомі параметри фігури (кути, першу діагональ, периметр та площу); виводить усі параметри ромба в текстовому вікні у вигляді таблиці, межі якої задані функцією користувача, а її в свою чергу надається символ «+» з головної функції; в графічному режимі малює ромб з отриманими параметрами, підписує їх та обчислює час виконання завдання. При помилковому уведенні даних програма повідомляє про це користувачу.

Робота є актуальною та перспективною, може використовуватися учнями, вчителями на уроках математики, інформатики.

Програма також має і недоліки. Наприклад, в графічному режимі малюнок фігури буде виходити за межі вікна, якщо значення вихідних параметрів більше за 25. В такому випадку користувачу доведеться збільшувати графічне вікно.

Тож, виконуючи завдання курсової роботи, я поліпшила свої навички проведення розрахунків в програмі MathCAD, роботи в MS Word; поглибила знання у сфері алгоритмізації та декомпозиції алгоритмів (MS Visio). Також покращила вміння розробляти програмний продукт засобами мови С у середовищі BorlandC++ з підключенням стандартних та спеціальних бібліотек, використанням функції користувача, текстового та графічного режимів.

Список використаної літератури

  1. Керниган Б., Ритчи Д. Язык программирования Си.: Пер. с англ. - М.: Издательский дом «Вильямс», 2007. -304 с.:ил.- Парал.тит.англ

  2. Березин Б.И., Березин С.Б. Начальный курс С и С++. – М.: Диалог-Мифи, 2003. -288 с.

  3. Лекці з дисципліни «Інформаційні технології», викладач Дубчак О.В, 2013 р.

Додатки

Додаток 1. Блок-схема

Додаток 2. Вихідні та обчислені дані

Додаток 3. Креслення у графічному режимі

4

№19