Объяснение:
1.
program line_AB;
uses crt;
var L, xa, xb, ya, yb:real;
begin
WriteLn('Найдем длину отрезка АВ по координатам его крайних точек' );
Writeln('Введите координаты точки A');
Write('x = ');ReadLn(xa);
Write('y = ');ReadLn(ya);
Writeln('Введите координаты точки B');
Write('x = ');ReadLn(xb);
Write('y = ');ReadLn(yb);
L:=sqrt(sqr(xb-xa)+sqr(yb-ya));
Write('Длина отрезка AB равна ', L);
readln;
end.
2.
program MultDrob;
uses crt;
var z, mult:real; i, L:Integer;
begin
Write('Введите Z = ');ReadLn(z);
Write('Введите L = ');ReadLn(l);
mult:=z+5/(10);
for i:=1 to l do
mult:=mult*(z+5/(10+i)) ;
Write('Произведение дробей z+5/[10..L] равно ', mult);
readln;
end.
3.
program MultMass;
uses crt;
var A:array[1..10] of real; mult:real; i:Integer;
begin
Randomize;
for i:=1 to 10 do begin
a[i]:=Random(10);
write(a[i]:7:2) end;
WriteLn;
mult:=1;
for i:=2 to 10 do
if a[i] > a[1] then mult:=mult*a[i] ;
if mult>1 then Write('Произведение элементов болших первого равно ',mult)
else Write('Произведение элементов болших первого равно ' ,0);
readln;
end.
Первое, что нужно знать, это то, что компилятор выделяет место в зависимости от типа данных, у нас используется тип char, который равен 1 байту. Далее нужно обратить внимание ,что у нас массив и сколько элементов в нем, а так же какая указана размерность.
1) Видим массив типа чар у которого размерность не указана (в [] скобках пусто) но в значении видим символ 1. Это значит, что компилятор выделит 1 байт. Но есть нюанс, когда мы не указываем четкое значение размерности , а просто записываем символы, компилятор сам подсчитывает количество символов и прибавляет к нему 1 символ который мы не видим (терминирующий ноль) и записывает в размерность. И того ответ 2;
2) Тут проще, т.к четко указана размерность [7] и не смотря на то сколько у нас указано символов 1 или 2 или 3, он все равно выделит столько сколько указано в размерности. ответ 7.
Объяснение: