1. проход по массиву в 3х процках: поиск макс, поиск мин, умножение.
Код:
var
A : Array Of Double;
procedure GetMax : Double;
var
I : Integer;
begin
Result := 0;
For I := Low(A) To High(A) Do
If A[i] > Result Then Result := A[i];
end;
procedure GetMin : Double;
var
I : Integer;
begin
Result := 0;
For I := Low(A) To High(A) Do
If A[i] < Result Then Result := A[i];
end;
procedure Mult;
var
I : Integer;
AMax, AMin : Double;
begin
AMax := Sqr(GetMax);
AMin := Sqr(GetMin);
For I := Low(A) To High(A) Do
If A[i] > 0
Then A[i] := A[i] * AMax
Else A[i] := A[i] * AMin;
end;
Ну заполнение массива и его вывод сама напишешь.
2. Напиши в каком виде предоставляется число (и какие из символов используются). Ну и соответсвие символов числам, а то, честно говоря, я не помню сколько будет в десятичной M и L.