Можно ли нарушить последовательность выполнения команд в программе? для чего это может потребоваться? всегда ли в новом компьютере есть какая-либо программа ответить с обоснованием.
Программа отыскивает и выводит максимальное из десяти чисел, которые помещаются в массиве Dat. Вначале каждый элемент массива получает значение. Для отыскания максимума отводится переменная m. Примененный алгоритм требует, чтобы перед началом поиска значение m было меньше самого меньшего из чисел в Dat. В качестве такого значения выбирается ноль. Затем в цикле выполняется просмотр всех элементов массива, начиная с первого. Если очередной элемент превышает ранее найденный максимум, то за новый максимум принимается значение элемента. После окончания поиска максимума найденное значение выводится на экран.
В программировании операцию "задания" конкретных значений объектам программы называют присваиванием. В Языке Паскаль присваивание начальных значений элементам массива можно производить либо непосредственно, либо в цикле. Непосредственное присваивание используется, если количество таких присваиваний невелико. В этом случае записываются операторы присваивания для каждого элемента массива, которому нужно присвоить значение, например: a[6]:=5; b[4,12]:=11; и т.д. Присваивание в цикле используется, когда количество элеметнов массива велико, а значение для конкретного элемента можно или задать общим алгоритмом, или ввести извне (с клавиатуры или из файла). В этом случае цикл организуется так, чтобы параметры цикла перебрали все необходимые индексы элементов массива. Примеры: for i:=1 to 20 do a[i]:=3*i^2-1;
for i:=1 to m do for j:=1 to n do readln(a[i,j]); Еще пример - заполнение случайными числами в диапазоне (-20..20) Randomize; for i:=1 to m do x[i]:=Random(40)-20;
Вначале каждый элемент массива получает значение.
Для отыскания максимума отводится переменная m. Примененный алгоритм требует, чтобы перед началом поиска значение m было меньше самого меньшего из чисел в Dat. В качестве такого значения выбирается ноль.
Затем в цикле выполняется просмотр всех элементов массива, начиная с первого. Если очередной элемент превышает ранее найденный максимум, то за новый максимум принимается значение элемента.
После окончания поиска максимума найденное значение выводится на экран.
В Языке Паскаль присваивание начальных значений элементам массива можно производить либо непосредственно, либо в цикле.
Непосредственное присваивание используется, если количество таких присваиваний невелико. В этом случае записываются операторы присваивания для каждого элемента массива, которому нужно присвоить значение, например: a[6]:=5; b[4,12]:=11; и т.д.
Присваивание в цикле используется, когда количество элеметнов массива велико, а значение для конкретного элемента можно или задать общим алгоритмом, или ввести извне (с клавиатуры или из файла). В этом случае цикл организуется так, чтобы параметры цикла перебрали все необходимые индексы элементов массива.
Примеры:
for i:=1 to 20 do a[i]:=3*i^2-1;
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
Еще пример - заполнение случайными числами в диапазоне (-20..20)
Randomize;
for i:=1 to m do x[i]:=Random(40)-20;