Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№1 вар.№16

.doc
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
62.46 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра АСУ

Отчёт

по лабораторной работе №1

по дисциплине ”Программирование на ЯВУ”.

вариант №16.

Выполнил: студент группы АСОИ-136

Косинский М.О. Проверил: доцент кафедры АПРиС

Фёдорова Н.И.

Уфа 2007.

Тема: Простейшие программы на языке С++.

Цель работы: получение навыков составления и отладки простейших программ на языке С++.

Вариант №16.

Задание:

а) Треугольник задан своими вершинами (x1,y1),(x2,y2),(x3,y3). Найти его периметр.

Решение:

, где p – периметр тр-ка; a,b,c – стороны тр-ка.

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{double x1,y1,x2,y2,x3,y3,a,b,c,p;

clrscr();

cout<<"введите координаты 1-й точки\n";

cout<<"x1=";

cin>>x1;

cout<<"y1=";

cin>>y1;

cout<<"введите координаты 2-й точки\n";

cout<<"x2=";

cin>>x2;

cout<<"y2=";

cin>>y2;

cout<<"введите координаты 3-й точки\n";

cout<<"x3=";

cin>>x3;

cout<<"y3=";

cin>>y3;

a=sqrt(pow((x2-x1),2)+pow((y2-y1),2));

b=sqrt(pow((x3-x2),2)+pow((y3-y2),2));

c=sqrt(pow((x1-x3),2)+pow((y1-y3),2));

p=a+b+c;

cout<<"периметр p="<<p;

getch();

}

Проверка:

При x1=0,y1=0,x2=0,y2=1,x3=1,y3=0;

a=1; b=1.414214; c=1;

p=3.414214.

При x1=1,y1=1,x2=-3,y2=2,x3=-1,y3=-2;

a=4.123105; b=4.472135; c=3.605551;

p=12.200791

б) Решение:

ax+by+c=0

px+qy+r=0 из математики известно, что

если, то примые совпадают, если, то прямые параллельны

если , то прямые пересекаются.

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

void main()

{double a,b,c,p,q,r;

clrscr();

cout<<"введите коэффициенты уравнений a,b,c,p,q,r\n";

cout<<"a=";

cin>>a;

cout<<"b=";

cin>>b;

cout<<"c=";

cin>>c;

cout<<"p=";

cin>>p;

cout<<"q=";

cin>>q;

cout<<"r=";

cin>>r;

if((a/p)==(b/q))

if((a/p)==(c/r))

cout<<"прямые совпадают";

else

cout<<"прямые параллельны";

else

cout<<"прямые пересекаются";

getch();

}

Проверка:

a=1, b=2, c=3; p=2, q=4, r=6 результат: a/p=b/q=c/r – прямые совпадают.

а=3, b=2, с=-2; p=6, q=4, r=8 результат: a/p=b/qc/r – прямые параллельны.

а=-5, b=2, с=-12; p=8, q=-9, r=13 результат: a/pb/q – прямые пересекаются.