1.var a,b,c,d,e,s1,s2:real;procedure p(x,y,z:real; var s:real);var p:real;beginp:=(x+y+z)/2;s:=sqrt(p*(p-a)*(p-b)*(p-c));end;beginwriteln('a, b, c, d, e:');readln(a,b,c,d,e);p(a,b,c,s1);p(c,d,e,s2);writeln('s = ',s1+s2:5:2);end.Пример:a, b, c, d, e:5 2 6 3 4s = 9.372.var a,b,c,d,q:real;function x(z,y:real):real;beginx:=exp((1/y)*ln(z));end;beginwriteln('a, b, c, d:');readln(a,b,c,d);q:=(x(b,a)+x(d,c))/x(b+d,a+c);writeln('q = ',q:5:2);end.Пример:a, b, c, d:2 16 3 9q = 3.19393.Процедура используется, как правило, в тех случаях, когда требуется выполнить некоторые действия, не обязательно связанные с вычислениями (например, что-то ввести, вывести, нарисовать и т.д.). Кроме того, процедуры используются, если требуется вычислить несколько значений и использовать их в дальнейшем в основной программе. Функция применяется обычно для вычисления некоторого единственного значения.