Ой, что-то я уведомлений не получал, а тема-то разрослась... 
Кажется, Вы забыли if a[k] > vmax then vmax := a[k] (или как там на Pascal правильно)
Это я не забыл, а оставил для 
dioramer в качестве упражнения. А Вы, 
Усталый, его успешно решили (хотя и не полностью), поздравляю 

Прерывание находится здесь:
А если на начало посмотрим:
Код:
1 continue 
a=k(1) 
i=1
- у Вас же 
i всё время затирается, так же как и 
a. Поэтому Вы всё время ходите по первому элементу.
мдэ
Тоже вариант, чуть посложней и, возможно, помедленней - я о нём знал 
