Решение..............................................
Линейный, циклический, с ветвлением
<u><em>Задание 2.</em></u>
// PascalABC.Net 3.0, сборка 1064
function f(x,z:double):double;
begin
if (x>z) and (z>1) then Result:=(x-z)/(z-1)
else
if (x<=0) and (z<0) then Result:=2*x*z
else Result:=x+1
end;
<u><em>Задание 3.</em></u>
// PascalABC.Net 3.0, сборка 1064
var
a,b,c:real;
begin
Write('Введите длины сторон треугольника: '); Read(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
if (a=b) and (a=c) then
Writeln('Треугольник равносторонний, площадь ',a*a/4*sqrt(3))
else
if (a=b) or (a=c) or (b=c) then
Writeln('Треугольник равнобедренный, периметр ',a+b+c)
else
Write('Треугольник разносторонний, самая короткая сторона ',
min(a,min(b,c)))
end
end.
<u><em>Тестовые решения:</em></u>
Введите длины сторон треугольника: 5 3.7 6
Треугольник разносторонний, самая короткая сторона 3.7
Введите длины сторон треугольника: 4 6 4
Треугольник равнобедренный, периметр 14
Введите длины сторон треугольника: 5 5 5
Треугольник равносторонний, площадь 10.8253175473055
Var
b,i:integer;
S:string;
Begin
Readln(S);
b:=0;
For i:=1 to length(s) do
if i<length(s) then begin
if (s[i]='ж') or (s[i]='ш') then if s[i+1]='ы' then begin s[i+1]:='и'; b:=b+1; end;
End;
Writeln(b);
Writeln(s);
<span>End.</span>