Repeat — это цикл с пост условием то есть в первый раз всё равно выполнится. Теперь разберём цикл, он будет выполнять это действие
(p:=p*0.1) пока (p) не станет меньше 0.1 , теперь работаем в теле цикла, (p) изначально равен двум по этому получаем p:=1*0,1; получаем p:=0,1 проверяем условие 0,1<0,1 нет повторяем второй раз цикл, теперь p:=0,1 а не 1 как было в первый раз p:=0,1*0,1 p:=0,01 проверяем условие
0,01<0,1 да меньше цикл прерывается и (p) остаётся равным 0,01
Я тебе дал,а ты сам подумай)
Объяснение:
Repeat — это цикл с пост условием то есть в первый раз всё равно выполнится. Теперь разберём цикл, он будет выполнять это действие
(p:=p*0.1) пока (p) не станет меньше 0.1 , теперь работаем в теле цикла, (p) изначально равен двум по этому получаем p:=1*0,1; получаем p:=0,1 проверяем условие 0,1<0,1 нет повторяем второй раз цикл, теперь p:=0,1 а не 1 как было в первый раз p:=0,1*0,1 p:=0,01 проверяем условие
0,01<0,1 да меньше цикл прерывается и (p) остаётся равным 0,01
#include <math.h>
using namespace std;
void main()
{
float p, a, b, c, L, M, H, R_op, R_vp;
cout << "a="; cin>>a;
cout << "b="; cin>>b;
cout << "c="; cin>>c;
p=(a+b+c)/2; //найдём полупериметр
H=(2/a)*sqrt(p*(p-a)*(p-b)*(p-c)); // найдём длину высоты треугольника
M=(1/2)*sqrt(2*a*a+2*b*b-c*c); //найдём длину медианы треугольника
L=(2*sqrt(a*b*p*(p-c)))/(a+b); // найдём длину биссектрисы треугольника
R_op=(a*b*c)/(4*sqrt(p*(p-a)*(p-b)*(p-c))); // найдём радиус описанной окружности треугольника
R_vp=sqrt(((p-a)*(p-b)*(p-c))/p); // найдёи радиус вписанной окружности в треугольник
cout << "Dlina visoti= " << H << endl;
cout << "Dlina mediani= " << M << endl;
cout << "Dlina bissektrisi= " << L << endl;
cout << "Rad.op.okr.= " << R_op << endl;
cout << "Rad.vp.okr.= " << R_vp << endl;
system("PAUSE >> VOID");
}