Если в системе имеется только два процесса, есть ли смысл в использовании барьера для их синхронизации? Если в системе имеется только два процесса, есть ли смысл в использовании барьера для их синхронизации? Почему да или почему нет?
Var a: integer; //a - вводимое число n, s: integer; //n- количество введенных чисел, s - сумма этих чисел
begin n:= 0; //обнуляем счетчик s:= 0; a:= 1; {присваиваем значение, отличное от нуля, чтобы цикл не завершился, не начавшись} while a <> 0 do begin writeln('Введите целое число'); readln(a); if a <> 0 then //Чтобы при подсчете среднего арифметического не учитывался 0 begin n:= n + 1; s:= s + a; end; end; writeln('Среднее арифметическое введенных чисел: ', s / n); 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 Квадрат не умещается в круге
a: integer; //a - вводимое число
n, s: integer; //n- количество введенных чисел, s - сумма этих чисел
begin
n:= 0; //обнуляем счетчик
s:= 0;
a:= 1; {присваиваем значение, отличное от нуля, чтобы цикл не завершился, не начавшись}
while a <> 0 do
begin
writeln('Введите целое число');
readln(a);
if a <> 0 then //Чтобы при подсчете среднего арифметического не учитывался 0
begin
n:= n + 1;
s:= s + a;
end;
end;
writeln('Среднее арифметическое введенных чисел: ', s / n);
end.