Вычисление площади фигуры1 / отчёт
.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
Радиус |
Результат |
-10 |
Please insert radius of circle [0,100]: r=-10 Radius incorrect Please insert radius of circle [0,100]: r= |
0 |
Please insert radius of circle [0,100]: r=0 Nessesary area is: 0
Thank you for using our programm. All rights reserved. (c)
For exit press Esc. |
10 |
Please insert radius of circle [0,100]: r=10 Nessesary area is: 77.079636
Thank you for using our programm. All rights reserved. (c)
For exit press Esc. |
100 |
Please insert radius of circle [0,100]: r=100 Nessesary area is: 7707.963379
Thank you for using our programm. All rights reserved. (c)
For exit press Esc. |
1000 |
Please insert radius of circle [0,100]: r=1000 Radius incorrect Please insert radius of circle [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)
{
float square;
square = M_PI_2*r0*r0-4*r0*r0/5;
return square;
}
int check(float r0)
{
if ((r0<0) || (r0>100))
{
cout << "Radius incorrect";
return 0;
}
return 1;
}
void main(void)//Main function that calculates area
{
float r = 0; //Radius of circle that domain depends on
/*Begin of greeting*/
clrscr();
cout << "\n";
cout <<
"Welcome.\n"
<<
"This is programm that calculates domain area, that depends on radius (R).\n";
/*End of greeting*/
/*Begin of requirement*/
do
{
do
{
cout << "\nPlease insert radius of circle [0," << "100" << "]:\n" << "r=";
cin >> r;
}
while ((!check(r)));
cout << "Nessesary area is: " << sq(r); //Result printing
cout << "\n\nThank you for using our programm.\n" //
<< "All rights reserved. (c)\n";//Parting
cout << "\n" << "For exit press Esc. ";
}
while(getch()!=27);
/*End of requirement*/
}