Mini Teste 17, 18: Arrays e Records

1. Qual a diferença entre um array e um record?

Um array é só para armazenar coisas contáveis, com records é possível armazenar tudo.
Um record é só para armazenar coisas contáveis, com arrays é possível armazenar tudo.
Arrays são para combinar variáveis de tipos diferentes, records são para armazenar variáveis do mesmo tipo.
Records são para combinar variáveis de tipos diferentes, arrays são para armazenar variáveis do mesmo tipo.

FUNCTION Maximum(a, b: real): real;
var max: real;
begin
  if a>b then max := a else max := b;
 ......
end;
2. Agora, como deixar a função retornar o valor de max à instrução que chamou este função?

Nada é automaticamente.
Maximum := max;
return max;
Esta função não gera output e por isso não vai retornar nada!

Var a: array[1..10] of
  record
    x: record
         z: array[1..10] of real;
         i: array[1..3] of integer;
       end;
    y: record;
         r: real;
         p: double;
       end;
  end;
3. Como atribuir um valor de 0 ao (primeiro)
i do array?

4. Queremos construir um base de dados para armazenar a informação de 1000 alunos. Melhor seria fazer isto com uma variável

Var a: record
     number: integer;
     name: string;
     year: integer;
 end;
Var a: array[1..1000] of
     record
     name: string;
     year: integer;
 end;
Var a: record
     number: array[1..1000] of integer;
     name: array[1..1000] of string;
     year: array[1..1000] of integer;
end;
Var a: array[1..1000] of
     record
       name: array[1..1000] of string;
       year: array[1..1000] of integer;
     end;