87 в двоичном виде это 2^6 + 2^4 + 2^2 + 2^1 + 2^0 = 0101 0111
Чтобы получить запись его отрицательной версии в дополнительном коде, надо:
1) В старшем бите установить 1 - это знак числа (-)
1101 0111 (это, кстати, прямой код)
2) Значащие биты инвертировать
1010 1000 (а это обратный код)
3) Прибавить единицу
1010 1001 (это дополнительный код)
Var
k, h, v, s : real;
begin
write('введите высоту h: ');
readln(h);
write('введите радиус основания: ');
readln(k);
v := 1 / 3 * h * pi * sqr(k);
s := pi * k * (k + sqrt(sqr(h) + sqr(k)));
writeln('площадь полной поверхности: ', s:6:2);
writeln('объем: ', v:6:2);
readln
end.
Алг
нач
цел a, b, c
ввод a
ввод b
c := a + b
вывод c
кон
1)
program task1;
var x,y,xq,yq,sum,pro,cha,raz:integer;
begin
write('Введите числа:');
readln(x,y);
xq:=sqr(x);
yq:=sqr(y);
sum:=xq+yq;
raz:=xq-yq;
pro:=xq*yq;
cha:=xq/yq;
write('Сумма=',sum,';Разность=',raz,';Частное=',cha,';Произведение=',pro);
end.
2)
program task2;
var a,r,rr,h,s:real;
begin
write('Введите длину стороны треугольника: ');
readln(a);
r := sqrt(3) * a / 6;
rr := 2 * r;
h := 3 * r;
s := a * h / 2;
Writeln('Радиус вписанной окружности ', r::2);
Writeln('Радиус описанной окружности ', rr::2);
Writeln('Высота треугольника ', h::2);
Writeln('Площадь треугольника ', s::2);
end.
Type mas=array of integer;
procedure revers(var a:mas; i:integer);
begin
write(a[i],' ');
if i>0 then revers(a,i-1);
end;
var a:mas;
i,n:integer;
begin
readln(n);
setlength(a,n);
for i:=0 to n-1 do
read(a[i]);
revers(a,n-1);
end