| № | Фамилии | Оценки | 
| 1 | Иванов | 5 | 
| 2 | Петров | 4 | 
| 3 | Сидоров | 5 | 
| 4 | Титов | 5 | 
| ... | ... | ... | 
| 30 | Якупов | 4 | 
  Var A : array[1..30] of byte;
      S : array[1..30] of string; {или}
      SO: array[1..30] of string[12];
Присвоение значений элементам массива:
"A" - A[1]:= 5; A[2]:= 4; и т. д. "S " - S[1]:= 'Иванов'; S[2]:= 'Петров'; и т. д.Приведем таблицу обозначений и соответствия элементам массива, их значений и индексов:
| Номер элемента индекса | 1 | 2 | 3 | 4 | 1 | 30 | 
| Элементы массива "S" | S[ 1 ] | S[ 2 ] | S[ 3 ] | S[ 4 ] | S[ i ] | S[ 30 ] | 
| Значения элементов | Иванов | Петров | Сидоров | Титов | ... | Якупов | 
| Элементы массива "A" | A[ 1 ] | A[ 2 ] | A[ 3 ] | A[ 4 ] | A[ i ] | A[ 30 ] | 
| Значения элементов | 5 | 4 | 5 | 5 | ... | 4 | 
For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);
Randomize; for i:= 1 to 100 Do R[i]:= - 30 + Random(71);
  For i:= 1 to 7 Do
    begin  
      Write('Введите A[',i,']= ');    
      Readln(A[i]);
    end;
  For j:=1 to 66  do  Write('-'); Writeln; 
  For j:=1 to 3 do Write('|    Фамилия    |   оценка  |'); Writeln;
  For j:=1 to 66  do  Write('-'); Writeln;
- шапка для вывода в три пары колонок значений переменных "S" и "A". Шапка 
занимает 66 позиций (по ширине экрана в текстовом режиме размещается 79 символов 
и пробел). Оператор Writeln; переводит курсор на новую строчку. 
  For i:= 1 to 100 do
    begin
      Write('|', s[i]:11,'|', a[i]:8, '|');
      if (i mod 3) = 0 Then Writeln;
      if (i mod 60) = 0 then Readln;
    end;
  s := 0;
  for i := 1 to 100 do s:= s + a[i];   { s - сумма элементов массива}
  a_max := a[1];
  for i:= 1 to 100 do     { поиск наибольшего элемента a[j] }
  if a[i] > a_max then begin  a_max:= a[i];  j:= i; end;                              
  j := 0; k := 0;  
  for i:=1 to 100 do {создание новых массивов с элементами: b[j]>=0, c[k]<0} 
  if a[i] >= 0 then
    begin
      j := j+1;
      b[j] := a[i];
    end
  else
    begin
      k := k+1;
      c[k] := a[i]
    end;  
  j := 0;
  k := 8;
  for i:= 1 to 100  do {создание массива номеров "M" для элементов: a[i] > a[k]} 
    if a[i] > a[k] then
      begin 
        j := j+1;
        M[j] := i;
      end;
   Var
      A: array[1..30, 1..7] of byte;
| 1 | 2 | 3 | 4 | 5 | 6 | |||
| № | Фамилия | Физика | Химия | Алгебра | Геометрия | История | Биология | |
| 1 | Иванов | 4 | 5 | 3 | 4 | 5 | 5 | |
| 2 | Петров | 4 | 5 | 4 | 3 | 4 | 4 | |
| 3 | Сидоров | 5 | 5 | 3 | 4 | 5 | 4 | |
| ... | ... | ... | ... | ... | ... | ... | ... | |
| 30 | Якупов | 4 | 3 | 4 | 5 | 4 | 5 | |
| Номер строки "I" | Номер столбца "J" | 1 | 2 | 3 | 4 | ... | J | ... | M | |
| Массив "S" | Массив "P" | P[1] | P[2] | P[3] | P[4] | ... | P[J] | ... | P[M] | |
| 1 | S[1] | Массив "A" | a[1, 1] | a[1, 2] | a[1, 3] | a[1, 4] | ... | a[1, j] | ... | a[n, m] | 
| 2 | S[2] | a[2, 1] | a[2, 2] | a[2, 3] | a[2, 4] | ... | a[2, j] | ... | a[2, m] | |
| 3 | S[3] | a[3, 1] | a[3, 2] | a[3, 3] | a[3, 4] | ... | a[3, j] | ... | a[3, m] | |
| 4 | S[4] | a[4, 1] | a[4, 2] | a[4, 3] | a[4, 4] | ... | a[4, j] | ... | a[4, m] | |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | |
| I | S[I] | a[i, 1] | a[i, 2] | a [i, 3] | a [i, 4] | ... | a[i, j] | ... | a[i, m] | |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | |
| N | S[N] | a[n, 1] | a[n, 2] | a[n, 3] | a[n, 4] | ... | a[n, j ] | ... | a[n, m] | |
  for i:= 1 to N do
    for j:= 1 to M do A[i, j]:= random(4) + 2;
  Writeln; 
  Write('Фамилия\\Предметы:|');
  For i:= 1 to M do write(P[i]:9,'  |');
  for i:= 1 to N do
    begin
      writeln;
      write(S[i]:19,  '  |';
      for j:= 1 to M do write(A[i,j]:7, '     |') 
   end;
  for i:= 1 to N do
    begin
      SS[i]:= 0;
      for j:= 1 to M do SS[i]:= SS[i] + A[i,j];
    end;
  for i:= 1 to N do
    begin     
      for j:=M+1 downto M1+1 do A[i,j]:=A[i,j-1];
      A[i,M1]:=B[i];
    end;
  for j:= 1 to N do
    begin
      a1:=A[1,j];
      A[1,j]:=A[2,j];
      A[2,j]:=a1;
    end;
for j:= 1 to M do If (j Mod 2) = 0 then for i:= 1 to N do B[i,j Div 2]:= A[i,j];
  k:= 0;    
  for i:= 1 to N do  
    If A[i,1] > C then
      begin  
        k:= k + 1;
        for j:= 1 to M do B[k,j]:= A[i,j];
      end;
  k:= 30/S_max;                { k - нормирующий масштабный коэффициент }  
                               { S_max - наибольший элемент массива "SS" }
  for i:=1 to N do
    begin
      writeln;                 { переход к новому столбику }   
      yg := round(k*SS[i]);    { yg - длина столбика гистограммы }
      for j:=1 to yg do write(#220); { вывод символа '_' с кодом 220 }
    end;
