1.
var x1,x2,x3,y1,y2,y3,a,b,c,p,s:real;
begin
readln(x1,y1);
readln(x2,y2);
readln(x3,y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x3-x2)+sqr(y3-y2));
c:=sqrt(sqr(x1-x3)+sqr(y1-y3));
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('S=',s,';');
end.
2.
var n,i,j,Sn,si:int64;
begin
readln(n);
Sn:=0;
for i:=1 to n do
begin
Si:=1;
for j:=i to i*2 do Si:=Si*j;
Sn:=Sn+Si;
end;
writeln('Sn=',Sn,';');
end.
Для составления блок-схемы могу объяснить довольно простой алгоритм:
Ты проходишься одной переменной от 1 до n, и в каждом проходе ты
Вычисляешь произведение чисел от значения той переменной до ее удвоенного значения другим циклом
И в конце прохода главного цикла ты прибавляешь к результирующей переменной (которая в начале программы была обнулена) то произведение, которое ты только что вычислил.
P.S. Возможно на словах это звучит довольно-таки непонятно, но для этого есть код, который поясняет весь алгоритм