Var k, m: integer; dat: array[1..10] of integer; begin dat[1] : = 16; dat[2] : = 20; dat[3] : = 20; dat[4] : = 41; dat[5] : = 14; dat[6] : = 21; dat[7] : = 28; dat[8] : = 12; dat[9] : = 15; dat[10] : = 35; m : = 0; for k : = 1 to 10 do if dat[k]> m then begin m : = dat[k] end; writeln(m); end. с пояснениями, !
Вначале каждый элемент массива получает значение.
Для отыскания максимума отводится переменная m. Примененный алгоритм требует, чтобы перед началом поиска значение m было меньше самого меньшего из чисел в Dat. В качестве такого значения выбирается ноль.
Затем в цикле выполняется просмотр всех элементов массива, начиная с первого. Если очередной элемент превышает ранее найденный максимум, то за новый максимум принимается значение элемента.
После окончания поиска максимума найденное значение выводится на экран.