СПОСОБ №1
1) найти длину горизонтальной стороны прямоугольника.
2) найти длину вертикальной стороны прямоугольника.
3) сложить два получившихся числа.
4) умножить получившиеся число на два.
СПОСОБ №2
1) найти длину горизонтальной стороны прямоугольника.
2) умножить получившиеся число на два.
3) найти длину вертикальной стороны прямоугольника.
4) умножить получившиеся число на два.
5) сложить два получившихся числа.
Очевидно, в игре нужно задавать "да-нет" вопросы.
Делим интервал пополам, и выясняем, в какой половине задуманное число. Потом делим эту половину опять пополам, и т.д.
1 вопрос: "Число больше 64?" Ответ: "нет" (значит, число между 1 и 64)
2 вопрос: "Число больше 32?" Ответ: "нет" (значит, число между 1 и 32)
3 вопрос: "Число больше 16?" Ответ: "нет" (значит, число между 1 и 16)
4 вопрос: "Число больше 8?" Ответ: "да" (значит, число между 9 и 16)
5 вопрос: "Число больше 12?" Ответ: "да" (значит, число между 13 и 16)
6 вопрос: "Число больше 14?" Ответ: "нет" (значит, число между 13 и 14)
7 вопрос: "Число больше 13?" Ответ: "нет" (значит, число = 13)
Var x, y: real;
begin
readln(x);
if x < 0 then y := Abs(sin(x));
if x > 3 then y := 1 / 2 + x * x * x;
if (x >= 0) and (x <= 3) then y := x / (x + 3);
write('y(', x, ') = ', (y):0:3)
end.
//PascalABC.NET v3.3 1633
var arr: array [1..6, 1..6] of integer;
begin
for var i:=1 to 6 do
for var j:=1 to 6 do
arr[i, j]:=random(-49, 50);
writeln('Исходный массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
var num:=0;
for var i:=1 to 6 do
if arr[i, 2] < 0 then num += 1;
writeln('Количество отрицательных элементов второго столбца: '+num);
for var i:=1 to 6 do
for var j:=1 to 6 do
if arr[i, j] > 0 then arr[i, j]:=-49;
writeln('Новый массив: ');
for var i:=1 to 6 do
arr[i].PrintLn(', ');
end.