Чтобы квадрат вписался в круг, его диагональ должна быть равна диаметру круга. Если трактовать "уместиться" как "пролезть", то диагональ должна быть меньше диаметра.. Формулы площадей квадрата S₁ и круга S₂ известны, что легко позволяет нам найти нужное условие.
Если нужно, чтобы случай, когда квадрат вписан в круг тоже учитывался, строгое неравенство следует заменить нестрогим.
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016 begin var s1:=ReadReal('Площадь квадрата'); var s2:=ReadReal('Площадь круга'); if pi*s1<2*s2 then Writeln('Квадрат умещается в круге') else Writeln('Квадрат не умещается в круге') end.
Тестовое решение: Площадь квадрата 24.6 Площадь круга 28.4 Квадрат не умещается в круге
var A:array[1..100] of integer; n, i, Summ:integer; begin randomize; write('n = '); readln(n); Summ := 0; for i := 1 to n do begin A[i] := random(201) - 100; write(A[i], ' '); if A[i] > 0 then Summ := Summ + A[i]; end;
writeln; if Summ <> 0 then writeln('Summ = ', Summ) else writeln('Нет ни одного положительного элемента'); readln; end.
//вторая программа
var A:array[1..100] of integer; B:array[1..100] of real; n, i, Summ:integer; begin randomize; write('n = '); readln(n); Summ := 0; for i := 1 to n do begin A[i] := random(201) - 100; write(A[i], ' '); if A[i] mod 2 = 0 then B[i] := A[i] / 2 else B[i] := A[i]; end;
writeln; writeln; writeln('Result:'); for i := 1 to n do write(B[i], ' '); readln; end.
Формулы площадей квадрата S₁ и круга S₂ известны, что легко позволяет нам найти нужное условие.
Если нужно, чтобы случай, когда квадрат вписан в круг тоже учитывался, строгое неравенство следует заменить нестрогим.
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
begin
var s1:=ReadReal('Площадь квадрата');
var s2:=ReadReal('Площадь круга');
if pi*s1<2*s2 then Writeln('Квадрат умещается в круге')
else Writeln('Квадрат не умещается в круге')
end.
Тестовое решение:
Площадь квадрата 24.6
Площадь круга 28.4
Квадрат не умещается в круге
var
A:array[1..100] of integer;
n, i, Summ:integer;
begin
randomize;
write('n = ');
readln(n);
Summ := 0;
for i := 1 to n do
begin
A[i] := random(201) - 100;
write(A[i], ' ');
if A[i] > 0 then
Summ := Summ + A[i];
end;
writeln;
if Summ <> 0 then
writeln('Summ = ', Summ)
else
writeln('Нет ни одного положительного элемента');
readln;
end.
//вторая программа
var
A:array[1..100] of integer;
B:array[1..100] of real;
n, i, Summ:integer;
begin
randomize;
write('n = ');
readln(n);
Summ := 0;
for i := 1 to n do
begin
A[i] := random(201) - 100;
write(A[i], ' ');
if A[i] mod 2 = 0 then
B[i] := A[i] / 2
else
B[i] := A[i];
end;
writeln;
writeln;
writeln('Result:');
for i := 1 to n do
write(B[i], ' ');
readln;
end.