Вычисление площади фигуры / отчёт
.docСанкт-Петербургский
Государственный электротехнический университет
СПБГЭТУ «ЛЭТИ»
КАФЕДРА МОЭВМ
Отчет
по лабораторной работе № 1
« Нахождение площади фигуры »
Выполнил: Белов Д. А.
Группа: 3341
Факультет КТИ
Санкт-Петербург
2005г.
-
Постановка задачи
Необходимо создать программу, вычисляющую площадь заштрихованной части фигуры, изображённой на рисунке:
Для выполнения работы использован компилятор Borland C++ 3.1
2. Входные данные
Входными данными является радиус окружности. Значение радиуса должно находится в промежутке от 1 до 100.
3. Выходные данные
выходными даннамя является площадь заштрихованной фигуры.
4. Описание алгоритма
Площадь заштрихованной части равна площади шестиугольника минус площадь круга. Сторона шестиугольника равна . Значит итоговая площадь равна .
5. спецификация функций
void main(); основная функция программы.
float sq(float r0); функция вычисления площади фигуры.
int check(float r0); функция проверки радиуса. Возвращает 0 если радиус выходит за допустимые пределы.
6. испытания программы
Нетрудно видеть, что достаточно провести 5 испытаний:
Радиус мешьше нуля
Радиус равен 0
Радиус в промежутке от 0 до 100
Радиус равен 100
Радиус больше 100
Радиус |
Результат |
-5 |
Program calculating square of figure.
Type radius [0,100]: r=-5 Invalid radius Type radius [0,100]: r= |
0 |
Program calculating square of figure.
Type radius [0,100]: r=0 Square of figure is: 0 Press Esc for exit. |
5 |
Program calculating square of figure.
Type radius [0,100]: r=5 Square of figure is: 47.332634 Press Esc for exit. |
100 |
Program calculating square of figure.
Type radius [0,100]: r=100 Square of figure is: 18933.052734 Press Esc for exit. |
1000 |
Program calculating square of figure.
Type radius [0,100]: r=1000 Invalid radius Type radius [0,100]: r= |
7. текст программы
#include<iostream.h>;//Stream library
#include<math.h>//Math library
#include<values.h>//Values library
#include<conio.h>//Screen library
float sq(float r0) // calculating square
{
float square;
square = 6*r0*r0/sqrt(3)-M_PI_2*r0*r0;
return square;
}
int check(float r0) // check correctly of radius
{
if ((r0<0) || (r0>100))
{
cout << "Invalid radius";
return 0;
}
return 1;
}
void main(void)//Main function
{
float r = 0; //Radius of circle
clrscr();
cout << "\n";
cout <<
"Program calculating square of figure.\n";
do
{
do
{
cout << "\nType radius [0," << "100" << "]:\n" << "r=";
cin >> r;
}
while ((!check(r)));
cout << "Square of figure is: " << sq(r); //Result
cout << "\n" << "Press Esc for exit.";
}
while(getch()!=27);
}