数组作参数!
procedure Clear(var A: array of Real);var
  I: Integer;
begin
  for I := 0 to High(A) do A[I] := 0;
end;function Sum(const A: array of Real): Real;var
  I: Integer;
  S: Real;
begin
  S := 0;
  for I := 0 to High(A) do S := S + A[I];
  Sum := S;
end;

解决方案 »

  1.   

    constMessage: PChar = 'Program terminated';
      Prompt: PChar = 'Enter values: ';
      Digits: array[0..9] of PChar = (
        'Zero', 'One', 'Two', 'Three', 'Four',
        'Five', 'Six', 'Seven', 'Eight', 'Nine');
      

  2.   

    var  MyArray: array[0..32] of Char;
      MyPointer: PChar;
    begin
      MyArray := 'Hello';
      MyPointer := MyArray;
      SomeProcedure(MyArray);
      SomeProcedure(MyPointer);
    end;
    function StrUpper(Dest, Source: PChar; MaxLen: Integer): PChar;var
      I: Integer;
    begin
      I := 0;
      while (I < MaxLen) and (Source[I] <> #0) do
      begin
        Dest[I] := UpCase(Source[I]);
        Inc(I);
      end;
      Dest[I] := #0;
      Result := Dest;
    end;
      

  3.   

    type
      a=array[1..10] of Integer;
      b=array[1..10] of Real;
      c=array[1..10] of String;
      d=array[1..10] of TButton;  e=array[1..4] of array[1..10] of integer
    即e=array[1..4,1..10] of Integer;动态数组
    type
      tintarray : array of integer;
    var 
      ia,ib : tmyarray;
      h,l,len : integer;
    begin
      setlength(ia,20);
      ib: =ia;
      len:=length(ib);
      h:= high(ib);
      l:= low(ib);
      copy(ia,0,100);
    end;