Решить - это означает вычислить?
Если да, то написать программу из трех операторов.
Первый - begin
Второй - Write(то, что нужно вычислить)
Третий - end.
В вашем случае это будет так:
begin Write(2*(300-277)*3-2*(100-98)/2) end.
В результате получим 136.
Неправильно записан ответ на последний пример. Исправь.
А закономерность очень простая. Первоначально идет повышение на одну единицу (т.е. 1 → 2 → 3→...), а в дальнейшем понижение на одну единицу (т.е. ...→3→2→1)
Собственно и все :)
===== PascalABC.NET =====
№1
begin
var n := ReadInteger;
var a := SeqRandomReal(n, -99, 99).Select(p -> Round(p,1)).ToArray;
a.Println;
var ic := n div 2;
if a[ic] > a[ic+1] then
a[ic] := 1
else if a[ic] = a[ic+1] then
a[ic] := 0
else
a[ic] := (a[n-1] + a[n-2])/2;
a.Println
end.
№2
begin
var (a, x) := ReadReal2('Введите а и х:');
var y: real;
if x < 0 then
y := 2 + x
else if x = 0 then
y := 3 * a - 1
else
y := a + x;
Print(y)
end.
10101001 = <span> 1*2^7 + 0*2^6 +1*2^5 + 0*2^4 + 1*2^3 +0*2^2 + 0*2^1
+ 1*2^0 = </span>128 +0 + 32 + 0 + 8 +0+0+1= 169
Program drawFigure;
uses
graph;
var
gD,gR:integer;
procedure drawIt(x,y,lineLong,time:word);
var
ci:byte;
begin
moveTo(x,y);
lineTo(GetX+lineLong,GetY);
for ci:=1 to time do
begin
lineTo(GetX,GetY-lineLong); lineTo(GetX+lineLong,GetY);
lineTo(GetX,GetY+lineLong); lineTo(GetX+lineLong,GetY);
end;
end;
begin
initgraph(gD,gR,'');
drawIt(80,80,50,2);
readln; closeGraph;
<span>end.</span>