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

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

#include<stdio.h>

#include<conio.h>

#include<math.h>

#include<graphics.h>

#include<stdlib.h>

#include<time.h>

char KKU(char ch);

main()

{

clrscr();

float a,b,c,P,p,S,h1,h2,h3,xa,ya,xb,yb,xc,yc,xm,ym,A,B,C;

clock_t start,end;

start=clock();

m:printf("Vvedit` znachennia storony a=");

scanf("%f",&a);

printf("\nVvedit` znachennia storony c=");

scanf("%f",&c);

printf("\nVvedit` znachennia perimetru P=");

scanf("%f",&P);

b=P-(a+c);

if(P<=a+c||a<=0||c<=0||a>b+c||b>a+c||c>a+b){printf("\nDanui trukytnyk ne isnue. Povtorit', bud' laska, vvedennua\n");goto m;}

p=P/2;

S=sqrt(p*(p-a)*(p-b)*(p-c));

h1=2*S/a;

h2=2*S/b;

h3=2*S/c;

A=acos((pow(b,2)+pow(c,2)-pow(a,2))/(2*b*c))*180/M_PI;

B=acos((pow(a,2)+pow(c,2)-pow(b,2))/(2*a*c))*180/M_PI;

C=acos((pow(a,2)+pow(b,2)-pow(c,2))/(2*b*a))*180/M_PI;

xa=100;

ya=350;

xb=xa+a*cos(C*M_PI/180);

yb=ya-a*sin(C*M_PI/180);

xc=xa+b;

yc=ya;

xm=xa+a*cos(C*M_PI/180);

ym=ya;

window(40,1,80,25);

textbackground(BROWN);

textcolor(CYAN);

clrscr();

KKU('=');

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

KKU('=');

cprintf("\r\n= Odna storona trukytnyka =%8.2f=\n\r",a);

KKU('=');

cprintf("\r\n= 2-aya storona trukytnyka =%8.2f=\n\r",b);

KKU('=');

cprintf("\r\n= 3-ya storona trukytnyka =%8.2f=\n\r",c);

KKU('=');

cprintf("\r\n= Perymetr trukytnyka =%8.2f=\n\r",P);

KKU('=');

cprintf("\r\n= Plosha trukyntyka =%8.2f=\n\r",S);

KKU('=');

cprintf("\r\n= Vysota 1 trukyntyka =%8.2f=\n\r",h1);

KKU('=');

cprintf("\r\n= Vysota 2 trukyntyka =%8.2f=\n\r",h2);

KKU('=');

cprintf("\r\n= Vysota 3 trukyntyka =%8.2f=\n\r",h3);

KKU('=');

cprintf("\r\n= Kut A =%8.2f=\n\r",A);

KKU('=');

cprintf("\r\n= Kut B =%8.2f=\n\r",B);

KKU('=');

cprintf("\r\n= Kut C =%8.2f=\n\r",C);

KKU('=');

end=clock();

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

getch();

int driver=DETECT,gmode,errorcode;

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

setbkcolor(MAGENTA);

clearviewport();

setcolor(LIGHTBLUE);

setlinestyle(SOLID_LINE,1,THICK_WIDTH);

line(xa,ya,xb,yb);

line(xa,ya,xc,yc);

line(xb,yb,xc,yc);

line(xm,ym,xb,yb);

outtextxy(xa-5,ya+3,"A");

outtextxy(xb,yb-8,"B");

outtextxy(xc+5,yc+3,"C");

outtextxy(xm,ym+5,"M");

outtextxy(150,380,"AB=a,BC=c,AC=b");

outtextxy(140,410,"Vykonav student 141-oi grupy ICIT Kuznetsov Constantine");

outtextxy(200,430,"Variant #13");

getch();

closegraph();

return 0;}

char KKU(char ch)

{int i;

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

Висновки

Отже, дана програма зчитує уведені з клавіатури змінні (дві сторони та периметр) на обчислює наступні невідомі величини: третю сторону, площу, три висоти, три кути та координати вершин. Результати подано у вигляді таблиці у зафарбованому відповідним кольором вікні. Границі таблиці – символ «=». Програма виводить час виконання роботи під таблицею й малює графік с заданими умовами: блакитні суцільні товсті лінії на темно-рожевому фоні. Кожна вершина підписана. Графік адаптується під введені дані, але якщо вести такі, за якими трикутник не зможе існувати, програма попросить користувача ввести дані знову.

Дана робота є дуже результативною в плані порозуміння студентами логіки елементарного програмування. Це також є квінтесенцією усього навчального матеріалу за курс, тож, виконуючи дану курсову, студент вдосконалює свої навички не тільки у сфері програмного середовища Borland C++, а й покращує своє порозуміння програмного кодування взагалі.

Таким чином, виконуючи цю курсову роботу, я вдосконалив свої навички роботи з програмними середовищами MS Word (коректне, згідно з зазначеними правилами, оформлення), MS Visio (блок-схема до програми), MathCad (обчислення та перевірка вхідних значень) та Borland C++ (сама програма).

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

  1. Глушаков С. В., Коваль А. В., Смирнов С. В. Язык программирования C++. Учебный курс, 2001

  2. Подбельский В. В., Фомин С.С. Программирование на языке Си, 2004

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

Додатки

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

Додаток 2. User screen

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

4

№13